Skip to content

Commit 36ace43

Browse files
committed
Add Windows cross-platform support for npm scripts
The current npm scripts use Unix-specific syntax that fails on Windows: - Environment variables use Unix syntax (VAR=value) instead of cross-platform - The postinstall script uses Unix 'cp' command which doesn't exist on Windows - Windows developers cannot run npm scripts natively without WSL This change adds proper cross-platform support: 1. Added 'cross-env' dependency (v7.0.3) - Handles environment variable setting across all platforms - Used in: build, electron:dev, website:build scripts 2. Added 'shx' dependency (v0.3.4) - Provides Unix commands (like cp) on all platforms - Used in: postinstall script These are industry-standard packages for Node.js cross-platform compatibility. Scripts updated: - build: Added cross-env for INLINE_RUNTIME_CHUNK - postinstall: Changed cp to shx cp for cross-platform file copying - electron:dev: Added cross-env for BROWSER and ELECTRON_IS_DEV - website:build: Added cross-env for BUILD_PATH, PUBLIC_URL, INLINE_RUNTIME_CHUNK This fixes the issues reported in PR mb21#65 and allows Windows developers to run all npm scripts without modification.
1 parent 5a102eb commit 36ace43

1 file changed

Lines changed: 6 additions & 4 deletions

File tree

package.json

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,20 @@
77
"main": "build/electron/main.js",
88
"scripts": {
99
"start": "react-scripts --openssl-legacy-provider start",
10-
"build": "INLINE_RUNTIME_CHUNK=false react-scripts --openssl-legacy-provider build",
11-
"postinstall": "cp node_modules/pagedjs/dist/paged.polyfill.js public && cp -r node_modules/katex/dist/ public/katex && cp node_modules/markdown-it-texmath/css/texmath.css public/katex",
10+
"build": "cross-env INLINE_RUNTIME_CHUNK=false react-scripts --openssl-legacy-provider build",
11+
"postinstall": "shx cp node_modules/pagedjs/dist/paged.polyfill.js public && shx cp -r node_modules/katex/dist/ public/katex && shx cp node_modules/markdown-it-texmath/css/texmath.css public/katex",
1212
"test": "react-scripts test",
1313
"eject": "react-scripts eject",
1414
"lint": "eslint src",
1515
"tsc": "tsc",
1616
"electron": "electron .",
1717
"electron:tsc": "tsc -p electron",
18-
"electron:dev": "concurrently \"BROWSER=none npm start\" \"wait-on http://127.0.0.1:3000 && npm run electron:tsc && ELECTRON_IS_DEV=1 electron .\"",
18+
"electron:dev": "concurrently \"cross-env BROWSER=none npm start\" \"wait-on http://127.0.0.1:3000 && npm run electron:tsc && cross-env ELECTRON_IS_DEV=1 electron .\"",
1919
"electron:build": "npm run build && npm run electron:tsc",
2020
"dist": "npm run electron:build && electron-builder",
2121
"dist-all": "npm run electron:build && electron-builder -mlw",
2222
"release": "npm run electron:build && electron-builder -mlw --publish always",
23-
"website:build": "BUILD_PATH=try PUBLIC_URL='/try' INLINE_RUNTIME_CHUNK=false react-scripts build"
23+
"website:build": "cross-env BUILD_PATH=try PUBLIC_URL='/try' INLINE_RUNTIME_CHUNK=false react-scripts build"
2424
},
2525
"repository": "https://github.com/mb21/panwriter",
2626
"keywords": [
@@ -165,9 +165,11 @@
165165
"@types/react-color": "^3.0.4",
166166
"@types/react-dom": "^16.9.8",
167167
"concurrently": "^8.2.1",
168+
"cross-env": "^7.0.3",
168169
"electron": "^34.1.1",
169170
"electron-builder": "^25.1.8",
170171
"raw-loader": "^4.0.2",
172+
"shx": "^0.3.4",
171173
"typescript": "^5.5.3",
172174
"wait-on": "^7.2.0"
173175
},

0 commit comments

Comments
 (0)