8 Commits
v1.0.4 ... main

Author SHA1 Message Date
semantic-release-bot
d05ff80b69 chore(release): 1.0.8 [skip ci]
## [1.0.8](https://github.com/ivuorinen/base-configs-markdownlint/compare/v1.0.7...v1.0.8) (2026-03-02)
2026-03-02 14:29:44 +00:00
renovate[bot]
1c894fd354 chore(deps): update ivuorinen/actions action (v2026.02.24 → v2026.02.28) (#127)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-02 16:27:32 +02:00
semantic-release-bot
2269998dbb chore(release): 1.0.7 [skip ci]
## [1.0.7](https://github.com/ivuorinen/base-configs-markdownlint/compare/v1.0.6...v1.0.7) (2026-03-02)
2026-03-02 14:18:30 +00:00
renovate[bot]
50fcd1fa02 chore(deps): lock file maintenance (#126)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-02 16:15:43 +02:00
semantic-release-bot
202fc6c1ea chore(release): 1.0.6 [skip ci]
## [1.0.6](https://github.com/ivuorinen/base-configs-markdownlint/compare/v1.0.5...v1.0.6) (2026-03-01)
2026-03-01 22:56:59 +00:00
renovate[bot]
b920a75e24 chore(deps): lock file maintenance (#125)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-02 00:54:31 +02:00
semantic-release-bot
754c285835 chore(release): 1.0.5 [skip ci]
## [1.0.5](https://github.com/ivuorinen/base-configs-markdownlint/compare/v1.0.4...v1.0.5) (2026-02-27)

### Bug Fixes

* **ci:** use GITHUB_TOKEN for semantic-release and harden workflow permissions ([9e10b3e](9e10b3e2b2))
2026-02-27 20:53:04 +00:00
9e10b3e2b2 fix(ci): use GITHUB_TOKEN for semantic-release and harden workflow permissions
Replace secrets.PAT with secrets.GITHUB_TOKEN in publish.yml so
semantic-release can comment on PRs/issues using the built-in token
scoped by job-level permissions.

Set top-level permissions to empty object across all workflows to
follow the principle of least privilege, relying on job-level
permissions blocks instead.
2026-02-27 22:50:49 +02:00
8 changed files with 160 additions and 141 deletions

View File

@@ -21,6 +21,8 @@ on:
schedule: schedule:
- cron: "22 8 * * 0" - cron: "22 8 * * 0"
permissions: {}
jobs: jobs:
analyze: analyze:
name: Analyze (${{ matrix.language }}) name: Analyze (${{ matrix.language }})

View File

@@ -10,7 +10,7 @@ concurrency:
group: ${{ github.workflow }}-${{ github.ref }} group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true cancel-in-progress: true
permissions: read-all permissions: {}
env: env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
@@ -48,7 +48,7 @@ jobs:
- name: Run PR Lint - name: Run PR Lint
# https://github.com/ivuorinen/actions # https://github.com/ivuorinen/actions
uses: ivuorinen/actions/pr-lint@8faacf8a1cae049c1471708dcb408a167e91afaf # v2026.02.24 uses: ivuorinen/actions/pr-lint@d919327c7eb6279247eb1ecf92fb4ce0d915679b # v2026.02.28
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

View File

@@ -6,7 +6,7 @@ on:
branches: branches:
- main - main
permissions: read-all permissions: {}
env: env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
@@ -26,7 +26,7 @@ jobs:
steps: steps:
- name: Run PR Lint - name: Run PR Lint
# https://github.com/ivuorinen/actions # https://github.com/ivuorinen/actions
uses: ivuorinen/actions/pr-lint@8faacf8a1cae049c1471708dcb408a167e91afaf # v2026.02.24 uses: ivuorinen/actions/pr-lint@d919327c7eb6279247eb1ecf92fb4ce0d915679b # v2026.02.28
publish: publish:
name: Publish name: Publish
@@ -72,5 +72,5 @@ jobs:
- name: Semantic Release - name: Semantic Release
uses: cycjimmy/semantic-release-action@b12c8f6015dc215fe37bc154d4ad456dd3833c90 # v6.0.0 uses: cycjimmy/semantic-release-action@b12c8f6015dc215fe37bc154d4ad456dd3833c90 # v6.0.0
env: env:
GITHUB_TOKEN: ${{ secrets.PAT }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

View File

@@ -8,10 +8,7 @@ on:
workflow_call: workflow_call:
workflow_dispatch: workflow_dispatch:
permissions: permissions: {}
contents: read
packages: read
statuses: read
jobs: jobs:
stale: stale:
@@ -23,4 +20,4 @@ jobs:
issues: write issues: write
pull-requests: write pull-requests: write
steps: steps:
- uses: ivuorinen/actions/stale@8faacf8a1cae049c1471708dcb408a167e91afaf # v2026.02.24 - uses: ivuorinen/actions/stale@d919327c7eb6279247eb1ecf92fb4ce0d915679b # v2026.02.28

View File

@@ -20,7 +20,7 @@ concurrency:
group: ${{ github.workflow }}-${{ github.ref }} group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true cancel-in-progress: true
permissions: read-all permissions: {}
jobs: jobs:
labels: labels:
@@ -38,4 +38,4 @@ jobs:
with: with:
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.GITHUB_TOKEN }}
- name: ⤵️ Sync Latest Labels Definitions - name: ⤵️ Sync Latest Labels Definitions
uses: ivuorinen/actions/sync-labels@8faacf8a1cae049c1471708dcb408a167e91afaf # v2026.02.24 uses: ivuorinen/actions/sync-labels@d919327c7eb6279247eb1ecf92fb4ce0d915679b # v2026.02.28

View File

@@ -3,6 +3,19 @@
All notable changes to this project will be documented in this file. See All notable changes to this project will be documented in this file. See
[Conventional Commits](https://conventionalcommits.org) for commit guidelines. [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.0.8](https://github.com/ivuorinen/base-configs-markdownlint/compare/v1.0.7...v1.0.8) (2026-03-02)
## [1.0.7](https://github.com/ivuorinen/base-configs-markdownlint/compare/v1.0.6...v1.0.7) (2026-03-02)
## [1.0.6](https://github.com/ivuorinen/base-configs-markdownlint/compare/v1.0.5...v1.0.6) (2026-03-01)
## [1.0.5](https://github.com/ivuorinen/base-configs-markdownlint/compare/v1.0.4...v1.0.5) (2026-02-27)
### Bug Fixes
* **ci:** use GITHUB_TOKEN for semantic-release and harden workflow permissions ([9e10b3e](https://github.com/ivuorinen/base-configs-markdownlint/commit/9e10b3e2b29aeab91e801302ec4d210de9c72cc3))
## [1.0.4](https://github.com/ivuorinen/base-configs-markdownlint/compare/v1.0.3...v1.0.4) (2026-02-27) ## [1.0.4](https://github.com/ivuorinen/base-configs-markdownlint/compare/v1.0.3...v1.0.4) (2026-02-27)

View File

@@ -1,6 +1,6 @@
{ {
"name": "@ivuorinen/markdownlint-config", "name": "@ivuorinen/markdownlint-config",
"version": "1.0.4", "version": "1.0.8",
"type": "module", "type": "module",
"description": "ivuorinen's shareable configuration for markdownlint.", "description": "ivuorinen's shareable configuration for markdownlint.",
"author": { "author": {

263
yarn.lock
View File

@@ -66,6 +66,15 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@gar/promise-retry@npm:^1.0.0":
version: 1.0.2
resolution: "@gar/promise-retry@npm:1.0.2"
dependencies:
retry: "npm:^0.13.1"
checksum: 10c0/748a84fb0ab962f7867966f21dc24d1872c53c1656dd3352320fe69ad3b2043f2dfdb3be024c7636ce4904c5ba1da22d0f3558e489c3de578f5bb520f062d0fd
languageName: node
linkType: hard
"@isaacs/fs-minipass@npm:^4.0.0": "@isaacs/fs-minipass@npm:^4.0.0":
version: 4.0.1 version: 4.0.1
resolution: "@isaacs/fs-minipass@npm:4.0.1" resolution: "@isaacs/fs-minipass@npm:4.0.1"
@@ -82,14 +91,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@ivuorinen/config-checker@npm:^2.0.0": "@ivuorinen/config-checker@npm:^2.0.0, @ivuorinen/config-checker@npm:^2.1.2":
version: 2.1.1
resolution: "@ivuorinen/config-checker@npm:2.1.1"
checksum: 10c0/b342992ca95a2e8088bf1c36e9d826fb67148023763cc473e752a012ba03b76b5458606a9ddb0b6fe0bcc261d2c0d0fa1c9be877aa4cff78a64fd0eb0b60cf2e
languageName: node
linkType: hard
"@ivuorinen/config-checker@npm:^2.1.2":
version: 2.1.2 version: 2.1.2
resolution: "@ivuorinen/config-checker@npm:2.1.2" resolution: "@ivuorinen/config-checker@npm:2.1.2"
checksum: 10c0/e607eb7196a6c50309b654bb0cd46f64501f2a5ba211933bb73a43a6316b7455b563579a387778d00f31885d0fcf04d3d055aa1bd6ddf580dccca76cbb22d6fd checksum: 10c0/e607eb7196a6c50309b654bb0cd46f64501f2a5ba211933bb73a43a6316b7455b563579a387778d00f31885d0fcf04d3d055aa1bd6ddf580dccca76cbb22d6fd
@@ -108,14 +110,14 @@ __metadata:
linkType: soft linkType: soft
"@ivuorinen/semantic-release-config@npm:^1.1.3": "@ivuorinen/semantic-release-config@npm:^1.1.3":
version: 1.1.3 version: 1.1.4
resolution: "@ivuorinen/semantic-release-config@npm:1.1.3" resolution: "@ivuorinen/semantic-release-config@npm:1.1.4"
dependencies: dependencies:
"@ivuorinen/config-checker": "npm:^2.0.0" "@ivuorinen/config-checker": "npm:^2.0.0"
"@semantic-release/changelog": "npm:^6.0.3" "@semantic-release/changelog": "npm:^6.0.3"
"@semantic-release/git": "npm:^10.0.1" "@semantic-release/git": "npm:^10.0.1"
semantic-release: "npm:^25.0.2" semantic-release: "npm:^25.0.2"
checksum: 10c0/440cd2ae8b83909f9e8011e26cf9aeccd4dcf6f69154c113a332bcef1786dec2d8bd468b819a6875983a9fcc1b5d20dbcfa33d9b6f9f9871719f3dc25be3cb10 checksum: 10c0/9cc316b11d917236c1dadffeceee7141cc24dcafc5b7853871a186acb253334bf42536f7eee218710f7864f839b2df4f1010113a68d51f86e4b08409bf386441
languageName: node languageName: node
linkType: hard linkType: hard
@@ -132,9 +134,9 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@npmcli/arborist@npm:^9.3.1": "@npmcli/arborist@npm:^9.4.0":
version: 9.3.1 version: 9.4.0
resolution: "@npmcli/arborist@npm:9.3.1" resolution: "@npmcli/arborist@npm:9.4.0"
dependencies: dependencies:
"@isaacs/string-locale-compare": "npm:^1.1.0" "@isaacs/string-locale-compare": "npm:^1.1.0"
"@npmcli/fs": "npm:^5.0.0" "@npmcli/fs": "npm:^5.0.0"
@@ -171,7 +173,7 @@ __metadata:
walk-up-path: "npm:^4.0.0" walk-up-path: "npm:^4.0.0"
bin: bin:
arborist: bin/index.js arborist: bin/index.js
checksum: 10c0/b958a1ec1eb0663f4be4214b72d16601776477a63f2d27eb5c9abda1eaba306c66496955df5a4ddec8889c1d90ef43b2bc8066bbec784b4d1cc0c610adb6dfb1 checksum: 10c0/c40ba2dcfb574ab26a1a84a61a2c4e1a432bff44736e78acc2020bca880baa6c8fe3f4252d83599a4508dfdc45dcbdfd901d48dcfcf21cddef33f517ad233b13
languageName: node languageName: node
linkType: hard linkType: hard
@@ -201,18 +203,18 @@ __metadata:
linkType: hard linkType: hard
"@npmcli/git@npm:^7.0.0": "@npmcli/git@npm:^7.0.0":
version: 7.0.1 version: 7.0.2
resolution: "@npmcli/git@npm:7.0.1" resolution: "@npmcli/git@npm:7.0.2"
dependencies: dependencies:
"@gar/promise-retry": "npm:^1.0.0"
"@npmcli/promise-spawn": "npm:^9.0.0" "@npmcli/promise-spawn": "npm:^9.0.0"
ini: "npm:^6.0.0" ini: "npm:^6.0.0"
lru-cache: "npm:^11.2.1" lru-cache: "npm:^11.2.1"
npm-pick-manifest: "npm:^11.0.1" npm-pick-manifest: "npm:^11.0.1"
proc-log: "npm:^6.0.0" proc-log: "npm:^6.0.0"
promise-retry: "npm:^2.0.1"
semver: "npm:^7.3.5" semver: "npm:^7.3.5"
which: "npm:^6.0.0" which: "npm:^6.0.0"
checksum: 10c0/ddd71ca42387463e5bc7d1cdbff0e5991ac93d96d39e078ea81d4600dc2257d062377d350744da0931be89e94e72a57ef2e3f679beb0c1d45a65129806bbd565 checksum: 10c0/1936471c3188aa470d0c0dd4d49724bf144e381d122252d001475d69a96cd9de950936f55fec8c6a673a47cf607b11a662fc8b8a45c67d5c37c795b07d2be8e9
languageName: node languageName: node
linkType: hard linkType: hard
@@ -308,16 +310,15 @@ __metadata:
linkType: hard linkType: hard
"@npmcli/run-script@npm:^10.0.0, @npmcli/run-script@npm:^10.0.3": "@npmcli/run-script@npm:^10.0.0, @npmcli/run-script@npm:^10.0.3":
version: 10.0.3 version: 10.0.4
resolution: "@npmcli/run-script@npm:10.0.3" resolution: "@npmcli/run-script@npm:10.0.4"
dependencies: dependencies:
"@npmcli/node-gyp": "npm:^5.0.0" "@npmcli/node-gyp": "npm:^5.0.0"
"@npmcli/package-json": "npm:^7.0.0" "@npmcli/package-json": "npm:^7.0.0"
"@npmcli/promise-spawn": "npm:^9.0.0" "@npmcli/promise-spawn": "npm:^9.0.0"
node-gyp: "npm:^12.1.0" node-gyp: "npm:^12.1.0"
proc-log: "npm:^6.0.0" proc-log: "npm:^6.0.0"
which: "npm:^6.0.0" checksum: 10c0/4d65682491ce7462c6a16a3d20511f70074a0ab384e4e08786ff6c2df9630ad29caa564b5ace49ec3ba5a7f483dfbd13168da903c433a48e59c73189306b1a2f
checksum: 10c0/227483417d1f36011d35d1b868cd7a9c615553f195a86a282ca3c273e89f38f172fc1fcbb8f1635d419c861679570887874a37f9f21350e0b6fc813930224358
languageName: node languageName: node
linkType: hard linkType: hard
@@ -565,8 +566,8 @@ __metadata:
linkType: hard linkType: hard
"@semantic-release/npm@npm:^13.1.1": "@semantic-release/npm@npm:^13.1.1":
version: 13.1.4 version: 13.1.5
resolution: "@semantic-release/npm@npm:13.1.4" resolution: "@semantic-release/npm@npm:13.1.5"
dependencies: dependencies:
"@actions/core": "npm:^3.0.0" "@actions/core": "npm:^3.0.0"
"@semantic-release/error": "npm:^4.0.0" "@semantic-release/error": "npm:^4.0.0"
@@ -576,7 +577,7 @@ __metadata:
fs-extra: "npm:^11.0.0" fs-extra: "npm:^11.0.0"
lodash-es: "npm:^4.17.21" lodash-es: "npm:^4.17.21"
nerf-dart: "npm:^1.0.0" nerf-dart: "npm:^1.0.0"
normalize-url: "npm:^8.0.0" normalize-url: "npm:^9.0.0"
npm: "npm:^11.6.2" npm: "npm:^11.6.2"
rc: "npm:^1.2.8" rc: "npm:^1.2.8"
read-pkg: "npm:^10.0.0" read-pkg: "npm:^10.0.0"
@@ -585,7 +586,7 @@ __metadata:
tempy: "npm:^3.0.0" tempy: "npm:^3.0.0"
peerDependencies: peerDependencies:
semantic-release: ">=20.1.0" semantic-release: ">=20.1.0"
checksum: 10c0/a0924893ccdb277fcfea65a5894f807f47b9155d0d04153adc874a25a9c4187eaff08e6b038e8408426545ee0a45760c19525f6308da143effb712ecdb8e6414 checksum: 10c0/940bfe3f7ec1189e100b81242835230ab3c14da58a5e2feaf43055fd432453ee7efbde93562daf083aedd73478b7f7b12b7dc63752af9e61b3e010043374c552
languageName: node languageName: node
linkType: hard linkType: hard
@@ -667,6 +668,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@simple-libs/stream-utils@npm:^1.2.0":
version: 1.2.0
resolution: "@simple-libs/stream-utils@npm:1.2.0"
checksum: 10c0/2788ac7b167d1b6c81b8c6fae2f5d9688b1f02ab31e9e15b33c9dc2ae920cf7de87869de10679be8957f9adb645c91c8919e271f3e34b6b4ec56daf725522dc7
languageName: node
linkType: hard
"@sindresorhus/is@npm:^4.6.0": "@sindresorhus/is@npm:^4.6.0":
version: 4.6.0 version: 4.6.0
resolution: "@sindresorhus/is@npm:4.6.0" resolution: "@sindresorhus/is@npm:4.6.0"
@@ -785,7 +793,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"ansi-regex@npm:^6.0.1, ansi-regex@npm:^6.1.0": "ansi-regex@npm:^6.1.0, ansi-regex@npm:^6.2.2":
version: 6.2.2 version: 6.2.2
resolution: "ansi-regex@npm:6.2.2" resolution: "ansi-regex@npm:6.2.2"
checksum: 10c0/05d4acb1d2f59ab2cf4b794339c7b168890d44dda4bf0ce01152a8da0213aca207802f930442ce8cd22d7a92f44907664aac6508904e75e038fa944d2601b30f checksum: 10c0/05d4acb1d2f59ab2cf4b794339c7b168890d44dda4bf0ce01152a8da0213aca207802f930442ce8cd22d7a92f44907664aac6508904e75e038fa944d2601b30f
@@ -901,11 +909,11 @@ __metadata:
linkType: hard linkType: hard
"brace-expansion@npm:^5.0.2": "brace-expansion@npm:^5.0.2":
version: 5.0.3 version: 5.0.4
resolution: "brace-expansion@npm:5.0.3" resolution: "brace-expansion@npm:5.0.4"
dependencies: dependencies:
balanced-match: "npm:^4.0.2" balanced-match: "npm:^4.0.2"
checksum: 10c0/e474d300e581ec56851b3863ff1cf18573170c6d06deb199ccbd03b2119c36975f6ce2abc7b770f5bebddc1ab022661a9fea9b4d56f33315d7bef54d8793869e checksum: 10c0/359cbcfa80b2eb914ca1f3440e92313fbfe7919ee6b274c35db55bec555aded69dac5ee78f102cec90c35f98c20fa43d10936d0cd9978158823c249257e1643a
languageName: node languageName: node
linkType: hard linkType: hard
@@ -1169,25 +1177,26 @@ __metadata:
linkType: hard linkType: hard
"conventional-changelog-angular@npm:^8.0.0": "conventional-changelog-angular@npm:^8.0.0":
version: 8.1.0 version: 8.2.0
resolution: "conventional-changelog-angular@npm:8.1.0" resolution: "conventional-changelog-angular@npm:8.2.0"
dependencies: dependencies:
compare-func: "npm:^2.0.0" compare-func: "npm:^2.0.0"
checksum: 10c0/b82aab869117fd9bd6ccfa960521e7638d3c2a3599c95fd5ba30d3b3fe972b5f819af4d57229f2973a7129ea18546cdf5822004565cab1ee35355cc90ac4588f checksum: 10c0/15f4d455df3152db62d3a7e92c83abe2438721e4b6736cae20b1ce17162fa0aca098b3a62f4f50d3541e4aa300f89f8768d7ba45b83cca77336ffb3700669e9e
languageName: node languageName: node
linkType: hard linkType: hard
"conventional-changelog-writer@npm:^8.0.0": "conventional-changelog-writer@npm:^8.0.0":
version: 8.2.0 version: 8.3.0
resolution: "conventional-changelog-writer@npm:8.2.0" resolution: "conventional-changelog-writer@npm:8.3.0"
dependencies: dependencies:
"@simple-libs/stream-utils": "npm:^1.2.0"
conventional-commits-filter: "npm:^5.0.0" conventional-commits-filter: "npm:^5.0.0"
handlebars: "npm:^4.7.7" handlebars: "npm:^4.7.7"
meow: "npm:^13.0.0" meow: "npm:^13.0.0"
semver: "npm:^7.5.2" semver: "npm:^7.5.2"
bin: bin:
conventional-changelog-writer: dist/cli/index.js conventional-changelog-writer: dist/cli/index.js
checksum: 10c0/e25052bb366ecee6389326fd5b7d3ecbd6f6a65439f45b5a2b1d4096baeb1bbfa93cd6bea686f419423265db5bbb02870a014cb92f43f972c00191c60711e9b6 checksum: 10c0/e0ce001c54085a72504c1af6a6eade4ddf2ccf1e155ba8bf80bb03228b36c719b8a1f389d222c13f32f224d0ac448e0bed40222ebfbfe9a813e0b23d6162d258
languageName: node languageName: node
linkType: hard linkType: hard
@@ -1199,13 +1208,14 @@ __metadata:
linkType: hard linkType: hard
"conventional-commits-parser@npm:^6.0.0": "conventional-commits-parser@npm:^6.0.0":
version: 6.2.1 version: 6.3.0
resolution: "conventional-commits-parser@npm:6.2.1" resolution: "conventional-commits-parser@npm:6.3.0"
dependencies: dependencies:
"@simple-libs/stream-utils": "npm:^1.2.0"
meow: "npm:^13.0.0" meow: "npm:^13.0.0"
bin: bin:
conventional-commits-parser: dist/cli/index.js conventional-commits-parser: dist/cli/index.js
checksum: 10c0/217b3fff627802f7fd7cb09bdfe897aa76986865543dfaa99b7957e4717d039e1e12c4a9b72706f098a5716bbbbdae540ef0b2429f7219d5fc5be0f190f1bc1e checksum: 10c0/7b152db0b63617fb5f993c3422942c05f48ff42fef4350d7e73b1d8a9f24489050b126478f2aabee5e45f205dbd02cb0b486e4bb865f9c0b18c35b4d13952b25
languageName: node languageName: node
linkType: hard linkType: hard
@@ -1224,8 +1234,8 @@ __metadata:
linkType: hard linkType: hard
"cosmiconfig@npm:^9.0.0": "cosmiconfig@npm:^9.0.0":
version: 9.0.0 version: 9.0.1
resolution: "cosmiconfig@npm:9.0.0" resolution: "cosmiconfig@npm:9.0.1"
dependencies: dependencies:
env-paths: "npm:^2.2.1" env-paths: "npm:^2.2.1"
import-fresh: "npm:^3.3.0" import-fresh: "npm:^3.3.0"
@@ -1236,7 +1246,7 @@ __metadata:
peerDependenciesMeta: peerDependenciesMeta:
typescript: typescript:
optional: true optional: true
checksum: 10c0/1c1703be4f02a250b1d6ca3267e408ce16abfe8364193891afc94c2d5c060b69611fdc8d97af74b7e6d5d1aac0ab2fb94d6b079573146bc2d756c2484ce5f0ee checksum: 10c0/a5d4d95599687532ee072bca60170133c24d4e08cd795529e0f22c6ce5fde9409eaf4f26e36e3d671f43270ef858fc68f3c7b0ec28e58fac7ddebda5b7725306
languageName: node languageName: node
linkType: hard linkType: hard
@@ -1368,15 +1378,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"encoding@npm:^0.1.13":
version: 0.1.13
resolution: "encoding@npm:0.1.13"
dependencies:
iconv-lite: "npm:^0.6.2"
checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039
languageName: node
linkType: hard
"entities@npm:^4.4.0": "entities@npm:^4.4.0":
version: 4.5.0 version: 4.5.0
resolution: "entities@npm:4.5.0" resolution: "entities@npm:4.5.0"
@@ -1818,12 +1819,12 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"iconv-lite@npm:^0.6.2": "iconv-lite@npm:^0.7.2":
version: 0.6.3 version: 0.7.2
resolution: "iconv-lite@npm:0.6.3" resolution: "iconv-lite@npm:0.7.2"
dependencies: dependencies:
safer-buffer: "npm:>= 2.1.2 < 3.0.0" safer-buffer: "npm:>= 2.1.2 < 3.0.0"
checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 checksum: 10c0/3c228920f3bd307f56bf8363706a776f4a060eb042f131cd23855ceca962951b264d0997ab38a1ad340e1c5df8499ed26e1f4f0db6b2a2ad9befaff22f14b722
languageName: node languageName: node
linkType: hard linkType: hard
@@ -2148,9 +2149,9 @@ __metadata:
linkType: hard linkType: hard
"json-with-bigint@npm:^3.5.3": "json-with-bigint@npm:^3.5.3":
version: 3.5.3 version: 3.5.7
resolution: "json-with-bigint@npm:3.5.3" resolution: "json-with-bigint@npm:3.5.7"
checksum: 10c0/df102e21ae8f54e48d77bbed0d67ac00527910a0d1fed5d3e2def0f7fe63277ff3202a449cc9c8bdb73298d97ae2784d5181f80d91866ad5c9dab59c0336d56e checksum: 10c0/69f27b712ac113aec2cac0933d81f37a3d6f5f0947543805cf5c6699c19ed14a79515d9aa2f78fde54ffdd7d9105790443408322f23add2a69096e741e176876
languageName: node languageName: node
linkType: hard linkType: hard
@@ -2203,13 +2204,13 @@ __metadata:
linkType: hard linkType: hard
"katex@npm:^0.16.0": "katex@npm:^0.16.0":
version: 0.16.32 version: 0.16.33
resolution: "katex@npm:0.16.32" resolution: "katex@npm:0.16.33"
dependencies: dependencies:
commander: "npm:^8.3.0" commander: "npm:^8.3.0"
bin: bin:
katex: cli.js katex: cli.js
checksum: 10c0/32dcceaa174271786bca378e1e8b8c2ef71fa11512c5898861f6c6bbddfcfcbf4396e53ded9f7aa81bfcc4ab0d076af1045aa13c09d01b73c6f1d28031d1905c checksum: 10c0/b2b655e4a3592ee0db45fea87856542383109ed598504a1c67b8eb957b9ba4dab752d5865f6354579d2a260d71e3e3594278a66c184b70c574a52481abee8caa
languageName: node languageName: node
linkType: hard linkType: hard
@@ -2223,11 +2224,11 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"libnpmdiff@npm:^8.1.2": "libnpmdiff@npm:^8.1.3":
version: 8.1.2 version: 8.1.3
resolution: "libnpmdiff@npm:8.1.2" resolution: "libnpmdiff@npm:8.1.3"
dependencies: dependencies:
"@npmcli/arborist": "npm:^9.3.1" "@npmcli/arborist": "npm:^9.4.0"
"@npmcli/installed-package-contents": "npm:^4.0.0" "@npmcli/installed-package-contents": "npm:^4.0.0"
binary-extensions: "npm:^3.0.0" binary-extensions: "npm:^3.0.0"
diff: "npm:^8.0.2" diff: "npm:^8.0.2"
@@ -2235,36 +2236,36 @@ __metadata:
npm-package-arg: "npm:^13.0.0" npm-package-arg: "npm:^13.0.0"
pacote: "npm:^21.0.2" pacote: "npm:^21.0.2"
tar: "npm:^7.5.1" tar: "npm:^7.5.1"
checksum: 10c0/338212c8160cec1b9ef27adc5a33557b18d73d5620e429697380bcc5f561b932b1c7b0338308c06b91a84c993c581fc2b927072f53989409f2f6ea5c0241b8a4 checksum: 10c0/e6cb529ffa87c823b68e78fc0b9d66542ce7fa10281dd4488b1c7c630ced72fc9f5b85c4b4d7bc9cbdf4d4dd5dfe54e7a5d625de644ba91c8b348ec99108caad
languageName: node languageName: node
linkType: hard linkType: hard
"libnpmexec@npm:^10.2.2": "libnpmexec@npm:^10.2.3":
version: 10.2.2 version: 10.2.3
resolution: "libnpmexec@npm:10.2.2" resolution: "libnpmexec@npm:10.2.3"
dependencies: dependencies:
"@npmcli/arborist": "npm:^9.3.1" "@gar/promise-retry": "npm:^1.0.0"
"@npmcli/arborist": "npm:^9.4.0"
"@npmcli/package-json": "npm:^7.0.0" "@npmcli/package-json": "npm:^7.0.0"
"@npmcli/run-script": "npm:^10.0.0" "@npmcli/run-script": "npm:^10.0.0"
ci-info: "npm:^4.0.0" ci-info: "npm:^4.0.0"
npm-package-arg: "npm:^13.0.0" npm-package-arg: "npm:^13.0.0"
pacote: "npm:^21.0.2" pacote: "npm:^21.0.2"
proc-log: "npm:^6.0.0" proc-log: "npm:^6.0.0"
promise-retry: "npm:^2.0.1"
read: "npm:^5.0.1" read: "npm:^5.0.1"
semver: "npm:^7.3.7" semver: "npm:^7.3.7"
signal-exit: "npm:^4.1.0" signal-exit: "npm:^4.1.0"
walk-up-path: "npm:^4.0.0" walk-up-path: "npm:^4.0.0"
checksum: 10c0/ddca09a2336b48c40d0eb4edae62ddf2002f23883826014d43cecfcbe3e6416b646f5db1aa1b91f4d9536aeb146b4ffae75ef4db4463bc0d74e1e4e74f191322 checksum: 10c0/9335b186788f5edfb85d129145cbda5e7a03ee730a2c4d1ea6e5f4b649fa671d77b4e5507c5b8f00db667ea52b2469612cecb4f93eae0243466c7d9da114d367
languageName: node languageName: node
linkType: hard linkType: hard
"libnpmfund@npm:^7.0.16": "libnpmfund@npm:^7.0.17":
version: 7.0.16 version: 7.0.17
resolution: "libnpmfund@npm:7.0.16" resolution: "libnpmfund@npm:7.0.17"
dependencies: dependencies:
"@npmcli/arborist": "npm:^9.3.1" "@npmcli/arborist": "npm:^9.4.0"
checksum: 10c0/3a1bf4bb9d7ab66c0fc7337bc52aad1c48f80a0fc1ea2b63b553a33696d44d044951fd6d08c1525cec556796c0fdea770801efe8b5e6916e9c7ec35d123f7170 checksum: 10c0/f93f42a2c97ec071e692cd47694996d01274b77aecdd3a6e608d1eb26decf0244b53713bc0ddbea2c7a983c9b276ce363577151540d4802025339f08685852f4
languageName: node languageName: node
linkType: hard linkType: hard
@@ -2278,15 +2279,15 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"libnpmpack@npm:^9.1.2": "libnpmpack@npm:^9.1.3":
version: 9.1.2 version: 9.1.3
resolution: "libnpmpack@npm:9.1.2" resolution: "libnpmpack@npm:9.1.3"
dependencies: dependencies:
"@npmcli/arborist": "npm:^9.3.1" "@npmcli/arborist": "npm:^9.4.0"
"@npmcli/run-script": "npm:^10.0.0" "@npmcli/run-script": "npm:^10.0.0"
npm-package-arg: "npm:^13.0.0" npm-package-arg: "npm:^13.0.0"
pacote: "npm:^21.0.2" pacote: "npm:^21.0.2"
checksum: 10c0/412e01261c5bd27253953e36caab039645e39e90517790a27b0c06f76502895ea5d99885c51124c578c54271be0aa2282cea9d19a763d72b37b935707baed77b checksum: 10c0/74af578b72b193af5cc990bf50f412a9936389471484b3c2eb4b92cf28e45ea2a92a63a8684480ac4bfba96ed442074044096588856b6d05d14c1ef85743bab9
languageName: node languageName: node
linkType: hard linkType: hard
@@ -2440,20 +2441,21 @@ __metadata:
linkType: hard linkType: hard
"make-asynchronous@npm:^1.0.1": "make-asynchronous@npm:^1.0.1":
version: 1.0.1 version: 1.1.0
resolution: "make-asynchronous@npm:1.0.1" resolution: "make-asynchronous@npm:1.1.0"
dependencies: dependencies:
p-event: "npm:^6.0.0" p-event: "npm:^6.0.0"
type-fest: "npm:^4.6.0" type-fest: "npm:^4.6.0"
web-worker: "npm:1.2.0" web-worker: "npm:^1.5.0"
checksum: 10c0/fbf6a04c89b4e6eca4ee458d33eb51474a97da19e197825dd15becbc191bd2cbc8a0c9eee3f116d52954af421e42d922deeb53ac4be9ac349307677fd149e66a checksum: 10c0/794c4876839f00bc6e287a1f07177dc3bb5c177d06d4ebe9e3a055758d9740b9b296a957c9015bed8d0d92d70035c70108e4c7d7bc2880fb16b94d0bd4b75a37
languageName: node languageName: node
linkType: hard linkType: hard
"make-fetch-happen@npm:^15.0.0, make-fetch-happen@npm:^15.0.1, make-fetch-happen@npm:^15.0.3": "make-fetch-happen@npm:^15.0.0, make-fetch-happen@npm:^15.0.1, make-fetch-happen@npm:^15.0.3, make-fetch-happen@npm:^15.0.4":
version: 15.0.3 version: 15.0.4
resolution: "make-fetch-happen@npm:15.0.3" resolution: "make-fetch-happen@npm:15.0.4"
dependencies: dependencies:
"@gar/promise-retry": "npm:^1.0.0"
"@npmcli/agent": "npm:^4.0.0" "@npmcli/agent": "npm:^4.0.0"
cacache: "npm:^20.0.1" cacache: "npm:^20.0.1"
http-cache-semantics: "npm:^4.1.1" http-cache-semantics: "npm:^4.1.1"
@@ -2463,9 +2465,8 @@ __metadata:
minipass-pipeline: "npm:^1.2.4" minipass-pipeline: "npm:^1.2.4"
negotiator: "npm:^1.0.0" negotiator: "npm:^1.0.0"
proc-log: "npm:^6.0.0" proc-log: "npm:^6.0.0"
promise-retry: "npm:^2.0.1"
ssri: "npm:^13.0.0" ssri: "npm:^13.0.0"
checksum: 10c0/525f74915660be60b616bcbd267c4a5b59481b073ba125e45c9c3a041bb1a47a2bd0ae79d028eb6f5f95bf9851a4158423f5068539c3093621abb64027e8e461 checksum: 10c0/b874bf6879fc0b8ef3a3cafdddadea4d956acf94790f8dede1a9d3c74c7886b6cd3eb992616b8e5935e6fd550016a465f10ba51bf6723a0c6f4d98883ae2926b
languageName: node languageName: node
linkType: hard linkType: hard
@@ -2925,17 +2926,17 @@ __metadata:
linkType: hard linkType: hard
"minipass-fetch@npm:^5.0.0": "minipass-fetch@npm:^5.0.0":
version: 5.0.1 version: 5.0.2
resolution: "minipass-fetch@npm:5.0.1" resolution: "minipass-fetch@npm:5.0.2"
dependencies: dependencies:
encoding: "npm:^0.1.13" iconv-lite: "npm:^0.7.2"
minipass: "npm:^7.0.3" minipass: "npm:^7.0.3"
minipass-sized: "npm:^2.0.0" minipass-sized: "npm:^2.0.0"
minizlib: "npm:^3.0.1" minizlib: "npm:^3.0.1"
dependenciesMeta: dependenciesMeta:
encoding: iconv-lite:
optional: true optional: true
checksum: 10c0/50bcf48c9841ebb25e29a2817468595219c72cfffc7c175a1d7327843c8bef9b72cb01778f46df7eca695dfe47ab98e6167af4cb026ddd80f660842919a5193c checksum: 10c0/ce4ab9f21cfabaead2097d95dd33f485af8072fbc6b19611bce694965393453a1639d641c2bcf1c48f2ea7d41ea7fab8278373f1d0bee4e63b0a5b2cdd0ef649
languageName: node languageName: node
linkType: hard linkType: hard
@@ -3102,10 +3103,10 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"normalize-url@npm:^8.0.0": "normalize-url@npm:^9.0.0":
version: 8.1.1 version: 9.0.0
resolution: "normalize-url@npm:8.1.1" resolution: "normalize-url@npm:9.0.0"
checksum: 10c0/1beb700ce42acb2288f39453cdf8001eead55bbf046d407936a40404af420b8c1c6be97a869884ae9e659d7b1c744e40e905c875ac9290644eec2e3e6fb0b370 checksum: 10c0/ff8271b26b808dc4c9caf309e1f5f0dcf75e4e05c5c09f3ee3c9dde2bda7f761df1b4c9458758c1919e3420a71c464da8026c1a9a11dedff99c056f3efd6afbc
languageName: node languageName: node
linkType: hard linkType: hard
@@ -3237,11 +3238,11 @@ __metadata:
linkType: hard linkType: hard
"npm@npm:^11.6.2": "npm@npm:^11.6.2":
version: 11.10.1 version: 11.11.0
resolution: "npm@npm:11.10.1" resolution: "npm@npm:11.11.0"
dependencies: dependencies:
"@isaacs/string-locale-compare": "npm:^1.1.0" "@isaacs/string-locale-compare": "npm:^1.1.0"
"@npmcli/arborist": "npm:^9.3.1" "@npmcli/arborist": "npm:^9.4.0"
"@npmcli/config": "npm:^10.7.1" "@npmcli/config": "npm:^10.7.1"
"@npmcli/fs": "npm:^5.0.0" "@npmcli/fs": "npm:^5.0.0"
"@npmcli/map-workspaces": "npm:^5.0.3" "@npmcli/map-workspaces": "npm:^5.0.3"
@@ -3266,16 +3267,16 @@ __metadata:
is-cidr: "npm:^6.0.3" is-cidr: "npm:^6.0.3"
json-parse-even-better-errors: "npm:^5.0.0" json-parse-even-better-errors: "npm:^5.0.0"
libnpmaccess: "npm:^10.0.3" libnpmaccess: "npm:^10.0.3"
libnpmdiff: "npm:^8.1.2" libnpmdiff: "npm:^8.1.3"
libnpmexec: "npm:^10.2.2" libnpmexec: "npm:^10.2.3"
libnpmfund: "npm:^7.0.16" libnpmfund: "npm:^7.0.17"
libnpmorg: "npm:^8.0.1" libnpmorg: "npm:^8.0.1"
libnpmpack: "npm:^9.1.2" libnpmpack: "npm:^9.1.3"
libnpmpublish: "npm:^11.1.3" libnpmpublish: "npm:^11.1.3"
libnpmsearch: "npm:^9.0.1" libnpmsearch: "npm:^9.0.1"
libnpmteam: "npm:^8.0.2" libnpmteam: "npm:^8.0.2"
libnpmversion: "npm:^8.0.3" libnpmversion: "npm:^8.0.3"
make-fetch-happen: "npm:^15.0.3" make-fetch-happen: "npm:^15.0.4"
minimatch: "npm:^10.2.2" minimatch: "npm:^10.2.2"
minipass: "npm:^7.1.3" minipass: "npm:^7.1.3"
minipass-pipeline: "npm:^1.2.4" minipass-pipeline: "npm:^1.2.4"
@@ -3290,7 +3291,7 @@ __metadata:
npm-registry-fetch: "npm:^19.1.1" npm-registry-fetch: "npm:^19.1.1"
npm-user-validate: "npm:^4.0.0" npm-user-validate: "npm:^4.0.0"
p-map: "npm:^7.0.4" p-map: "npm:^7.0.4"
pacote: "npm:^21.3.1" pacote: "npm:^21.4.0"
parse-conflict-json: "npm:^5.0.1" parse-conflict-json: "npm:^5.0.1"
proc-log: "npm:^6.1.0" proc-log: "npm:^6.1.0"
qrcode-terminal: "npm:^0.12.0" qrcode-terminal: "npm:^0.12.0"
@@ -3308,7 +3309,7 @@ __metadata:
bin: bin:
npm: bin/npm-cli.js npm: bin/npm-cli.js
npx: bin/npx-cli.js npx: bin/npx-cli.js
checksum: 10c0/26e5628f6832c29c0a04b9499dfdb594e3149578387f46550ba6ada1dc49d36572c2f4dd940e36281c13e7bc28c9930727c2249ad2ebf53da07a6a486b20284d checksum: 10c0/27bb63a6aab4b2e51697bca1c9ded96204b6b92794d438c7c7faa1eb4a7716e972f5e4182775ce032159dcd66f6b4f724cd61dcaad09347ae483d4d542d2464b
languageName: node languageName: node
linkType: hard linkType: hard
@@ -3422,10 +3423,11 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"pacote@npm:^21.0.0, pacote@npm:^21.0.2, pacote@npm:^21.3.1": "pacote@npm:^21.0.0, pacote@npm:^21.0.2, pacote@npm:^21.4.0":
version: 21.3.1 version: 21.4.0
resolution: "pacote@npm:21.3.1" resolution: "pacote@npm:21.4.0"
dependencies: dependencies:
"@gar/promise-retry": "npm:^1.0.0"
"@npmcli/git": "npm:^7.0.0" "@npmcli/git": "npm:^7.0.0"
"@npmcli/installed-package-contents": "npm:^4.0.0" "@npmcli/installed-package-contents": "npm:^4.0.0"
"@npmcli/package-json": "npm:^7.0.0" "@npmcli/package-json": "npm:^7.0.0"
@@ -3439,13 +3441,12 @@ __metadata:
npm-pick-manifest: "npm:^11.0.1" npm-pick-manifest: "npm:^11.0.1"
npm-registry-fetch: "npm:^19.0.0" npm-registry-fetch: "npm:^19.0.0"
proc-log: "npm:^6.0.0" proc-log: "npm:^6.0.0"
promise-retry: "npm:^2.0.1"
sigstore: "npm:^4.0.0" sigstore: "npm:^4.0.0"
ssri: "npm:^13.0.0" ssri: "npm:^13.0.0"
tar: "npm:^7.4.3" tar: "npm:^7.4.3"
bin: bin:
pacote: bin/index.js pacote: bin/index.js
checksum: 10c0/395d4ce333e61ea44f9563ab68be9c64b00a823ff3f6d276358caddd4c472b0fdcbda129a8c27d8a0242c17e97a8c41cfe9f802d8989626fc9c272c003eaa468 checksum: 10c0/e6519ef2abef9d1c30113e91e0483998851316dc18a0c8883d471cb5315ee6bf97a8503d01a8ba63cad525b06ae09bc3b305134ada52524ca34a44105a32c642
languageName: node languageName: node
linkType: hard linkType: hard
@@ -3849,6 +3850,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"retry@npm:^0.13.1":
version: 0.13.1
resolution: "retry@npm:0.13.1"
checksum: 10c0/9ae822ee19db2163497e074ea919780b1efa00431d197c7afdb950e42bf109196774b92a49fc9821f0b8b328a98eea6017410bfc5e8a0fc19c85c6d11adb3772
languageName: node
linkType: hard
"run-con@npm:~1.3.2": "run-con@npm:~1.3.2":
version: 1.3.2 version: 1.3.2
resolution: "run-con@npm:1.3.2" resolution: "run-con@npm:1.3.2"
@@ -4167,11 +4175,11 @@ __metadata:
linkType: hard linkType: hard
"strip-ansi@npm:^7.1.0": "strip-ansi@npm:^7.1.0":
version: 7.1.2 version: 7.2.0
resolution: "strip-ansi@npm:7.1.2" resolution: "strip-ansi@npm:7.2.0"
dependencies: dependencies:
ansi-regex: "npm:^6.0.1" ansi-regex: "npm:^6.2.2"
checksum: 10c0/0d6d7a023de33368fd042aab0bf48f4f4077abdfd60e5393e73c7c411e85e1b3a83507c11af2e656188511475776215df9ca589b4da2295c9455cc399ce1858b checksum: 10c0/544d13b7582f8254811ea97db202f519e189e59d35740c46095897e254e4f1aa9fe1524a83ad6bc5ad67d4dd6c0281d2e0219ed62b880a6238a16a17d375f221
languageName: node languageName: node
linkType: hard linkType: hard
@@ -4571,10 +4579,10 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"web-worker@npm:1.2.0": "web-worker@npm:^1.5.0":
version: 1.2.0 version: 1.5.0
resolution: "web-worker@npm:1.2.0" resolution: "web-worker@npm:1.5.0"
checksum: 10c0/2bec036cd4784148e2f135207c62facf4457a0f2b205d6728013b9f0d7c62404dced95fcd849478387e10c8ae636d665600bd0d99d80b18c3bb2a7f045aa20d8 checksum: 10c0/d42744757422803c73ca64fa51e1ce994354ace4b8438b3f740425a05afeb8df12dd5dadbf6b0839a08dbda56c470d7943c0383854c4fb1ae40ab874eb10427a
languageName: node languageName: node
linkType: hard linkType: hard
@@ -4630,12 +4638,11 @@ __metadata:
linkType: hard linkType: hard
"write-file-atomic@npm:^7.0.0": "write-file-atomic@npm:^7.0.0":
version: 7.0.0 version: 7.0.1
resolution: "write-file-atomic@npm:7.0.0" resolution: "write-file-atomic@npm:7.0.1"
dependencies: dependencies:
imurmurhash: "npm:^0.1.4"
signal-exit: "npm:^4.0.1" signal-exit: "npm:^4.0.1"
checksum: 10c0/f5dd7c0324ae03b399974484fbe56363654c3884920e3c4f4d59b690596f113f60f4061a3c0aa5e6f4c22e5b9e7e0608954fd8131a916c9123b68a17ba886345 checksum: 10c0/69cebb64945e22928a24ae7e2a55bf54438c92d6f657c1fa5e96b7c7a50f6c022e7454ab5c259079bb35f60296242f3a21234c79320d64a8ad57675b56a2098d
languageName: node languageName: node
linkType: hard linkType: hard