Skip to content

Commit b2cd717

Browse files
authored
Merge pull request #148 from sillsdev/supplyChainHardening
chore(deps): enforce dependency-safety policy via .npmrc
2 parents 9e83fed + a8c4c7d commit b2cd717

11 files changed

Lines changed: 748 additions & 721 deletions

File tree

.npmrc

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Dependency-safety policy (requires npm >= 11.17.0; see volta/engines in package.json)
2+
3+
# 0. Refuse to run on an npm too old to honor the keys below (engines.npm in
4+
# package.json requires >=11.17.0). Without this, an old npm silently
5+
# ignores the entire policy.
6+
engine-strict=true
7+
8+
# 1. Pin: write exact versions, never ^ or ~ ranges, on `npm install <pkg>`.
9+
save-exact=true
10+
11+
# 2. Age: only install versions that have been published for more than 7 days.
12+
# Guards against compromised/yanked brand-new releases.
13+
min-release-age=7
14+
15+
# 3. Install scripts: deny by default; hard-fail on any non-allowlisted script.
16+
# The allowlist itself lives in the "allowScripts" field of package.json
17+
# (npm rejects allow-scripts in .npmrc for project-scoped installs).
18+
strict-allow-scripts=true
19+
20+
# 4. Sources: only allow registry installs. No git/url/tarball deps; directory
21+
# (workspace) deps permitted only from the repo root.
22+
allow-git=none
23+
allow-remote=none
24+
allow-file=root
25+
allow-directory=root

components/language-chooser/common/find-language/package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,13 @@
2525
"lint": "eslint ."
2626
},
2727
"dependencies": {
28-
"fuse.js": "^7.0.0",
29-
"iso-15924": "^3.2.0",
30-
"iso-3166": "^4.3.0"
28+
"fuse.js": "7.1.0",
29+
"iso-15924": "3.2.0",
30+
"iso-3166": "4.3.0"
3131
},
3232
"devDependencies": {
33-
"@types/node": "^20.16.11",
34-
"tsx": "^4.19.2"
33+
"@types/node": "20.19.37",
34+
"tsx": "4.20.5"
3535
},
3636
"volta": {
3737
"extends": "../../../../package.json"

components/language-chooser/common/language-chooser-controller/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323
"@ethnolib/state-management-core": "0.2.2"
2424
},
2525
"devDependencies": {
26-
"@types/node": "^20.16.11",
27-
"tsx": "^4.19.2"
26+
"@types/node": "20.19.37",
27+
"tsx": "4.20.5"
2828
},
2929
"volta": {
3030
"extends": "../../../../package.json"

components/language-chooser/react/common/language-chooser-react-hook/package.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,16 @@
2424
},
2525
"dependencies": {
2626
"@ethnolib/find-language": "0.3.2",
27-
"fuse.js": "^7.0.0",
28-
"iso-15924": "^3.2.0",
29-
"iso-3166": "^4.3.0"
27+
"fuse.js": "7.1.0",
28+
"iso-15924": "3.2.0",
29+
"iso-3166": "4.3.0"
3030
},
3131
"devDependencies": {
32-
"@types/lodash": "^4.17.7",
33-
"@types/react": "^17",
34-
"@types/react-dom": "^17",
35-
"@vitejs/plugin-react-swc": "^3.8.0",
36-
"vite-plugin-dts": "^4.2.1"
32+
"@types/lodash": "4.17.20",
33+
"@types/react": "17.0.88",
34+
"@types/react-dom": "17.0.26",
35+
"@vitejs/plugin-react-swc": "3.11.0",
36+
"vite-plugin-dts": "4.5.4"
3737
},
3838
"volta": {
3939
"extends": "../../../../../package.json"

components/language-chooser/react/language-chooser-react-mui/package.json

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -30,26 +30,26 @@
3030
"dependencies": {
3131
"@ethnolib/find-language": "0.3.2",
3232
"@ethnolib/language-chooser-react-hook": "0.3.2",
33-
"lodash": "^4.17.21",
34-
"react-lazyload": "^3.2.1",
35-
"@mui/icons-material": "^5.15.19"
33+
"lodash": "4.17.21",
34+
"react-lazyload": "3.2.1",
35+
"@mui/icons-material": "5.18.0"
3636
},
3737
"devDependencies": {
38-
"@emotion/react": "^11.11.4",
39-
"@emotion/styled": "^11.11.5",
40-
"@mui/material": "^5.15.19",
41-
"@storybook/addon-essentials": "^8.2.8",
42-
"@storybook/core-server": "^8.2.8",
43-
"@storybook/react-vite": "^8.2.8",
44-
"@storybook/test-runner": "^0.19.1",
45-
"@types/lodash": "^4.17.7",
46-
"@types/react": "^17",
47-
"@types/react-dom": "^17",
48-
"@types/react-lazyload": "^3.2.3",
49-
"react": "^17.0.2",
50-
"react-dom": "^17.0.2",
51-
"storybook": "^8.2.8",
52-
"vite-plugin-dts": "^4.2.1"
38+
"@emotion/react": "11.14.0",
39+
"@emotion/styled": "11.14.1",
40+
"@mui/material": "5.18.0",
41+
"@storybook/addon-essentials": "8.6.18",
42+
"@storybook/core-server": "8.6.18",
43+
"@storybook/react-vite": "8.6.18",
44+
"@storybook/test-runner": "0.19.1",
45+
"@types/lodash": "4.17.20",
46+
"@types/react": "17.0.88",
47+
"@types/react-dom": "17.0.26",
48+
"@types/react-lazyload": "3.2.3",
49+
"react": "17.0.2",
50+
"react-dom": "17.0.2",
51+
"storybook": "8.6.18",
52+
"vite-plugin-dts": "4.5.4"
5353
},
5454
"peerDependencies": {
5555
"@emotion/react": "^11.11.4",

components/language-chooser/svelte/language-chooser-svelte-daisyui/package.json

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -27,21 +27,21 @@
2727
"@ethnolib/state-management-svelte": "0.2.2"
2828
},
2929
"devDependencies": {
30-
"@storybook/addon-essentials": "^8.2.8",
31-
"@storybook/svelte-vite": "^8.2.8",
32-
"@sveltejs/vite-plugin-svelte": "^4.0.0",
33-
"@tailwindcss/postcss": "^4.1.13",
34-
"@tailwindcss/typography": "^0.5.16",
35-
"@tsconfig/svelte": "^5.0.0",
36-
"autoprefixer": "^10.4.21",
37-
"daisyui": "^5.1.12",
38-
"eslint-plugin-svelte": "^2.44.0",
39-
"postcss": "^8.5.6",
40-
"storybook": "^8.2.8",
41-
"svelte": "^5.38.6",
42-
"svelte-check": "^4.0.5",
43-
"svelte-preprocess": "^6.0.0",
44-
"tailwindcss": "^3.4.17"
30+
"@storybook/addon-essentials": "8.6.18",
31+
"@storybook/svelte-vite": "8.6.18",
32+
"@sveltejs/vite-plugin-svelte": "4.0.4",
33+
"@tailwindcss/postcss": "4.1.13",
34+
"@tailwindcss/typography": "0.5.16",
35+
"@tsconfig/svelte": "5.0.5",
36+
"autoprefixer": "10.4.21",
37+
"daisyui": "5.1.12",
38+
"eslint-plugin-svelte": "2.46.1",
39+
"postcss": "8.5.6",
40+
"storybook": "8.6.18",
41+
"svelte": "5.53.11",
42+
"svelte-check": "4.3.1",
43+
"svelte-preprocess": "6.0.3",
44+
"tailwindcss": "3.4.19"
4545
},
4646
"engines": {
4747
"node": ">=18.18"

components/state-management/state-management-core/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@
1919
"lint": "eslint ."
2020
},
2121
"devDependencies": {
22-
"@types/node": "^20.16.11",
23-
"tsx": "^4.19.2",
24-
"typescript": "^5.2.2"
22+
"@types/node": "20.19.37",
23+
"tsx": "4.20.5",
24+
"typescript": "5.7.3"
2525
},
2626
"volta": {
2727
"extends": "../../../package.json"

components/state-management/state-management-react/package.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,14 @@
2626
"react-dom": "^17.0.2"
2727
},
2828
"devDependencies": {
29-
"@types/react": "^17",
30-
"@types/react-dom": "^17",
31-
"@types/node": "^20.16.11",
32-
"react": "^17.0.2",
33-
"react-dom": "^17.0.2",
34-
"jsdom": "^26.0.0",
35-
"tsx": "^4.19.2",
36-
"typescript": "^5.2.2"
29+
"@types/react": "17.0.88",
30+
"@types/react-dom": "17.0.26",
31+
"@types/node": "20.19.37",
32+
"react": "17.0.2",
33+
"react-dom": "17.0.2",
34+
"jsdom": "26.1.0",
35+
"tsx": "4.20.5",
36+
"typescript": "5.7.3"
3737
},
3838
"volta": {
3939
"extends": "../../../package.json"

components/state-management/state-management-svelte/package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@
2222
"@ethnolib/state-management-core": "0.2.2"
2323
},
2424
"devDependencies": {
25-
"@types/node": "^20.16.11",
26-
"svelte": "^5.38.6",
27-
"svelte-check": "^4.0.0",
28-
"@sveltejs/vite-plugin-svelte": "^4.0.0",
29-
"tsx": "^4.19.2"
25+
"@types/node": "20.19.37",
26+
"svelte": "5.53.11",
27+
"svelte-check": "4.3.1",
28+
"@sveltejs/vite-plugin-svelte": "4.0.4",
29+
"tsx": "4.20.5"
3030
},
3131
"volta": {
3232
"extends": "../../../package.json"

0 commit comments

Comments
 (0)