Skip to content

Commit 84b92ec

Browse files
committed
Hardening against npm exploits
1 parent 1f256af commit 84b92ec

5 files changed

Lines changed: 59 additions & 42 deletions

File tree

.github/workflows/ci.yml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,10 @@ jobs:
5454
java-version: '25'
5555
- name: 💼 Setup Gradle
5656
uses: gradle/actions/setup-gradle@v4
57-
- name: 🛠 Build jars
57+
- name: 🛠 Build jars
58+
env:
59+
npm_config_ignore_scripts: true
60+
YARN_ENABLE_SCRIPTS: false
5861
run: |
5962
cd Plan
6063
./gradlew build -x test
@@ -104,10 +107,15 @@ jobs:
104107
MYSQL_PASS: password
105108
MYSQL_PORT: ${{ job.services.mariadb.ports[3306] }}
106109
CHROMEDRIVER: /usr/local/bin/chromedriver
110+
npm_config_ignore_scripts: true
111+
YARN_ENABLE_SCRIPTS: false
107112
run: |
108113
cd Plan
109114
./gradlew build
110115
- name: 🖨 Build Javadocs
116+
env:
117+
npm_config_ignore_scripts: true
118+
YARN_ENABLE_SCRIPTS: false
111119
run: |
112120
cd Plan
113121
echo "Building javadocs with gradle"
@@ -133,6 +141,9 @@ jobs:
133141
env:
134142
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
135143
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
144+
env:
145+
npm_config_ignore_scripts: true
146+
YARN_ENABLE_SCRIPTS: false
136147
run: |
137148
cd Plan
138149
./gradlew sonar -Dsonar.host.url=https://sonarcloud.io -Dsonar.organization=player-analytics-plan

.github/workflows/on-release.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,8 @@ jobs:
8686
RELEASE_CHANGELOG: ${{ github.event.release.body }}
8787
RELEASE_PRERELEASE: ${{ github.event.release.prerelease }}
8888
RELEASE_JAR_PATH: ${{ env.RELEASE_JAR_PATH }}
89+
npm_config_ignore_scripts: true
90+
YARN_ENABLE_SCRIPTS: false
8991
run: |
9092
cd Plan
9193
./gradlew :plugin:publishToOre
@@ -154,6 +156,8 @@ jobs:
154156
RELEASE_CHANGELOG: ${{ github.event.release.body }}
155157
RELEASE_PRERELEASE: ${{ github.event.release.prerelease }}
156158
RELEASE_DOWNLOAD_URL: ${{ env.RELEASE_DOWNLOAD_URL }}
159+
npm_config_ignore_scripts: true
160+
YARN_ENABLE_SCRIPTS: false
157161
run: |
158162
cd Plan
159163
./gradlew :plugin:publishPluginPublicationToHangar

Plan/common/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,7 @@ tasks.withType(YarnInstallTask).configureEach {
170170
// Skip Yarn build on Jitpack since Jitpack doesn't offer gclib version compatible with Node 20
171171
// Jitpack build is used mainly for java dependencies.
172172
onlyIf("not running in Jitpack") { !project.hasProperty("isJitpack") }
173+
args = ["--ignore-scripts"]
173174
}
174175

175176
tasks.register("copyYarnBuildResults") {

Plan/react/dashboard/.yarnrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ignore-scripts true

Plan/react/dashboard/package.json

Lines changed: 41 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -6,41 +6,41 @@
66
"type": "module",
77
"proxy": "http://localhost:8800",
88
"dependencies": {
9-
"@fortawesome/fontawesome-free": "^7.2.0",
10-
"@fortawesome/fontawesome-svg-core": "^7.2.0",
11-
"@fortawesome/free-brands-svg-icons": "^7.2.0",
12-
"@fortawesome/free-regular-svg-icons": "^7.2.0",
13-
"@fortawesome/free-solid-svg-icons": "^7.2.0",
14-
"@fortawesome/react-fontawesome": "^3.2.0",
15-
"@fullcalendar/bootstrap": "^6.1.20",
16-
"@fullcalendar/core": "^6.1.20",
17-
"@fullcalendar/daygrid": "^6.1.20",
18-
"@fullcalendar/interaction": "^6.1.20",
19-
"@fullcalendar/react": "^6.1.20",
20-
"@highcharts/map-collection": "^2.3.2",
21-
"@uiw/react-color-chrome": "^2.9.6",
22-
"@uiw/react-color-wheel": "^2.9.6",
23-
"axios": "^1.13.6",
24-
"bootstrap": "^5.3.8",
25-
"export-to-csv": "^1.3.0",
26-
"highcharts": "^12.5.0",
27-
"i18next": "^25.8.20",
28-
"i18next-chained-backend": "^5.0.2",
29-
"i18next-http-backend": "^3.0.2",
30-
"i18next-localstorage-backend": "^4.3.1",
31-
"masonry-layout": "^4.2.2",
32-
"moment": "^2.30.1",
33-
"react": "^19.1.1",
34-
"react-bootstrap": "^2.10.10",
35-
"react-bootstrap-range-slider": "^3.0.8",
36-
"react-dom": "^19.1.1",
37-
"react-i18next": "^16.5.8",
38-
"react-mcjsonchat": "^1.0.0",
39-
"react-router": "^7.13.1",
40-
"react-select": "^5.10.2",
41-
"react-transition-group": "^4.4.5",
42-
"sass": "^1.98.0",
43-
"swagger-ui-dist": "^5.32.1"
9+
"@fortawesome/fontawesome-free": "7.2.0",
10+
"@fortawesome/fontawesome-svg-core": "7.2.0",
11+
"@fortawesome/free-brands-svg-icons": "7.2.0",
12+
"@fortawesome/free-regular-svg-icons": "7.2.0",
13+
"@fortawesome/free-solid-svg-icons": "7.2.0",
14+
"@fortawesome/react-fontawesome": "3.2.0",
15+
"@fullcalendar/bootstrap": "6.1.20",
16+
"@fullcalendar/core": "6.1.20",
17+
"@fullcalendar/daygrid": "6.1.20",
18+
"@fullcalendar/interaction": "6.1.20",
19+
"@fullcalendar/react": "6.1.20",
20+
"@highcharts/map-collection": "2.3.2",
21+
"@uiw/react-color-chrome": "2.9.6",
22+
"@uiw/react-color-wheel": "2.9.6",
23+
"axios": "1.13.6",
24+
"bootstrap": "5.3.8",
25+
"export-to-csv": "1.4.0",
26+
"highcharts": "12.5.0",
27+
"i18next": "25.8.20",
28+
"i18next-chained-backend": "5.0.2",
29+
"i18next-http-backend": "3.0.2",
30+
"i18next-localstorage-backend": "4.3.1",
31+
"masonry-layout": "4.2.2",
32+
"moment": "2.30.1",
33+
"react": "19.1.1",
34+
"react-bootstrap": "2.10.10",
35+
"react-bootstrap-range-slider": "3.0.8",
36+
"react-dom": "19.1.1",
37+
"react-i18next": "16.5.8",
38+
"react-mcjsonchat": "1.0.0",
39+
"react-router": "7.13.1",
40+
"react-select": "5.10.2",
41+
"react-transition-group": "4.4.5",
42+
"sass": "1.98.0",
43+
"swagger-ui-dist": "5.32.1"
4444
},
4545
"scripts": {
4646
"start": "vite",
@@ -65,12 +65,12 @@
6565
]
6666
},
6767
"devDependencies": {
68-
"@types/react": "^19.2.14",
69-
"@types/react-dom": "^19.2.3",
70-
"@vitejs/plugin-react": "^5.2.0",
71-
"baseline-browser-mapping": "^2.10.9",
72-
"typescript": "^5.9.3",
73-
"vite": "^7.3.1"
68+
"@types/react": "19.2.14",
69+
"@types/react-dom": "19.2.3",
70+
"@vitejs/plugin-react": "5.2.0",
71+
"baseline-browser-mapping": "2.10.9",
72+
"typescript": "5.9.3",
73+
"vite": "7.3.1"
7474
},
7575
"scarfSettings": {
7676
"enabled": false

0 commit comments

Comments
 (0)