Skip to content

Commit a1fa8dc

Browse files
authored
Merge pull request Expensify#78559 from Expensify/Rory-FixRunWeb
[No QA] Use tsx instead of node for webpack
2 parents 20b09fe + f928c45 commit a1fa8dc

5 files changed

Lines changed: 54 additions & 9 deletions

File tree

desktop/start.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ portfinder
1313
})
1414
.then((port) => {
1515
const devServer = `./scripts/start-dev-with-auto-restart.sh --port ${port} --env platform=desktop`;
16-
const buildMain = 'webpack watch --config config/webpack/webpack.desktop.ts --config-name desktop-main --mode=development';
16+
const buildMain = 'npx tsx ./node_modules/.bin/webpack-cli watch --config config/webpack/webpack.desktop.ts --config-name desktop-main --mode=development';
1717

1818
const env = {
1919
PORT: port,

package-lock.json

Lines changed: 44 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@
2929
"web": "./scripts/set-pusher-suffix.sh && concurrently npm:web-proxy npm:web-server",
3030
"web-proxy": "ts-node web/proxy.ts",
3131
"web-server": "./scripts/start-dev-with-auto-restart.sh",
32-
"build": "webpack --config config/webpack/webpack.common.ts --env file=.env.production && ts-node ./scripts/combine-web-sourcemaps.ts",
33-
"build-staging": "webpack --config config/webpack/webpack.common.ts --env file=.env.staging && ts-node ./scripts/combine-web-sourcemaps.ts",
34-
"build-adhoc": "webpack --config config/webpack/webpack.common.ts --env file=.env.adhoc && ts-node ./scripts/combine-web-sourcemaps.ts",
32+
"build": "tsx ./node_modules/.bin/webpack-cli --config config/webpack/webpack.common.ts --env file=.env.production && tsx ./scripts/combine-web-sourcemaps.ts",
33+
"build-staging": "tsx ./node_modules/.bin/webpack-cli --config config/webpack/webpack.common.ts --env file=.env.staging && tsx ./scripts/combine-web-sourcemaps.ts",
34+
"build-adhoc": "tsx ./node_modules/.bin/webpack-cli --config config/webpack/webpack.common.ts --env file=.env.adhoc && tsx ./scripts/combine-web-sourcemaps.ts",
3535
"desktop": "./scripts/set-pusher-suffix.sh && ts-node desktop/start.ts",
3636
"desktop-build": "./scripts/build-desktop.sh production",
3737
"desktop-build-staging": "./scripts/build-desktop.sh staging",
@@ -62,7 +62,7 @@
6262
"storybook-build": "ENV=production storybook build -o dist/docs",
6363
"storybook-build-staging": "ENV=staging storybook build -o dist/docs",
6464
"gh-actions-build": "./.github/scripts/buildActions.sh",
65-
"analyze-packages": "ANALYZE_BUNDLE=true webpack --config config/webpack/webpack.common.ts --env file=.env.production",
65+
"analyze-packages": "ANALYZE_BUNDLE=true tsx ./node_modules/.bin/webpack-cli --config config/webpack/webpack.common.ts --env file=.env.production",
6666
"symbolicate:android": "npx metro-symbolicate android/app/build/generated/sourcemaps/react/release/index.android.bundle.map",
6767
"symbolicate:ios": "npx metro-symbolicate main.jsbundle.map",
6868
"symbolicate-release:ios": "./scripts/release-profile.ts --platform=ios",
@@ -365,6 +365,7 @@
365365
"ts-jest": "^29.2.5",
366366
"ts-node": "^10.9.2",
367367
"tsconfig-paths": "^4.2.0",
368+
"tsx": "4.21.0",
368369
"type-fest": "4.35.0",
369370
"typescript": "^5.9.2",
370371
"typescript-eslint": "^8.45.0",

scripts/build-desktop.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@ title "Bundling Desktop js Bundle Using Webpack"
3030
info " • ELECTRON_ENV: $ELECTRON_ENV"
3131
info " • ENV file: $ENV_FILE"
3232
info ""
33-
NODE_OPTIONS=--max-old-space-size=8192 npx webpack --config config/webpack/webpack.desktop.ts --env file=$ENV_FILE
33+
NODE_OPTIONS=--max-old-space-size=8192 npx tsx ./node_modules/.bin/webpack-cli --config config/webpack/webpack.desktop.ts --env file=$ENV_FILE
3434

3535
title "Combining web sourcemaps"
3636
info ""
37-
ts-node scripts/combine-web-sourcemaps.ts --path="desktop/dist/www"
37+
tsx scripts/combine-web-sourcemaps.ts --path="desktop/dist/www"
3838

3939
title "Building Desktop App Archive Using Electron"
4040
info ""

scripts/start-dev-with-auto-restart.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ run_wds () {
1515
# Check if platform is Desktop to determine open behavior
1616
if [[ "${WEBPACK_DEV_SERVER_ARGS[*]}" == *"--env platform=desktop"* ]]; then
1717
# For Desktop, always use --no-open since app is handled by Electron
18-
node --expose-gc ./node_modules/.bin/webpack-dev-server --no-open "${WEBPACK_DEV_SERVER_ARGS[@]}" --config config/webpack/webpack.dev.ts
18+
npx tsx --expose-gc ./node_modules/.bin/webpack-cli serve --no-open "${WEBPACK_DEV_SERVER_ARGS[@]}" --config config/webpack/webpack.dev.ts
1919
else
2020
# For Web, use the provided open flag
21-
node --expose-gc ./node_modules/.bin/webpack-dev-server "$1" "${WEBPACK_DEV_SERVER_ARGS[@]}" --config config/webpack/webpack.dev.ts
21+
npx tsx --expose-gc ./node_modules/.bin/webpack-cli serve "$1" "${WEBPACK_DEV_SERVER_ARGS[@]}" --config config/webpack/webpack.dev.ts
2222
fi
2323
}
2424

0 commit comments

Comments
 (0)