From 5445ba6b3207756e18cb9f3af7d1a8716e9606a2 Mon Sep 17 00:00:00 2001 From: Subho Date: Tue, 11 Apr 2023 20:36:49 +0530 Subject: [PATCH] add esbuild-wasm --- build.js | 10 ++++++---- package.json | 1 + 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/build.js b/build.js index c7b238d..8b6a2ee 100755 --- a/build.js +++ b/build.js @@ -1,10 +1,9 @@ #!/usr/bin/env node -import fs from 'fs'; -import path from 'path'; - +import fs from 'node:fs'; +import path from 'node:path'; +import os from 'node:os'; import copy from 'esbuild-plugin-copy'; -import esbuild from 'esbuild'; import { cleanPlugin } from './pkg/lib/esbuild-cleanup-plugin.js'; import { cockpitCompressPlugin } from './pkg/lib/esbuild-compress-plugin.js'; @@ -14,6 +13,9 @@ import { esbuildStylesPlugins } from './pkg/lib/esbuild-common.js'; import { eslintPlugin } from './pkg/lib/esbuild-eslint-plugin.js'; import { stylelintPlugin } from './pkg/lib/esbuild-stylelint-plugin.js'; +const useWasm = os.arch() !== 'x64'; +const esbuild = (await import(useWasm ? 'esbuild-wasm' : 'esbuild')).default; + const production = process.env.NODE_ENV === 'production'; const watchMode = process.env.ESBUILD_WATCH === "true"; // linters dominate the build time, so disable them for production builds by default, but enable in watch mode diff --git a/package.json b/package.json index dfe4c45..6be4b4c 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "esbuild-plugin-copy": "^2.1.1", "esbuild-plugin-replace": "^1.3.0", "esbuild-sass-plugin": "^2.8.0", + "esbuild-wasm": "^0.17.16", "eslint": "^8.13.0", "eslint-config-react-app": "^7.0.0", "eslint-config-standard": "^17.0.0-1",