summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorokayurisotto <aytkzm@gmail.com>2023-04-10 19:43:15 +0900
committerGitHub <noreply@github.com>2023-04-10 19:43:15 +0900
commit6a23ffcce5db64dcaa275d2c9be137b30355e9bd (patch)
treea705ba4cb088f56b78ca7f21c2d3eff74d569bc3 /packages
parentfix(frontend): webhook, 連携アプリ一覧でコンテンツが重複し... (diff)
downloadsharkey-6a23ffcce5db64dcaa275d2c9be137b30355e9bd.tar.gz
sharkey-6a23ffcce5db64dcaa275d2c9be137b30355e9bd.tar.bz2
sharkey-6a23ffcce5db64dcaa275d2c9be137b30355e9bd.zip
swのesbuildの更新とビルドスクリプトの更新 (#10549)
* cleanup(sw/build.js) * fix(sw/build.js): `define`に真偽値を渡していた問題を修正 `define`では文字列を渡さなければならないので、`JSON.stringify`をするようにした。 * fix(sw/build.js): `string`が期待される`define`において`undefined`になる場合がある問題を修正 * update(sw): esbuild 0.17.15 * fixup! update(sw): esbuild 0.17.15 * fixup! fix(sw/build.js): `string`が期待される`define`において`undefined`になる場合がある問題を修正 コメントの文言を調整
Diffstat (limited to 'packages')
-rw-r--r--packages/sw/build.js53
-rw-r--r--packages/sw/package.json2
2 files changed, 30 insertions, 25 deletions
diff --git a/packages/sw/build.js b/packages/sw/build.js
index 72d9db9c0f..ad16fb9497 100644
--- a/packages/sw/build.js
+++ b/packages/sw/build.js
@@ -1,3 +1,5 @@
+// @ts-check
+
const esbuild = require('esbuild');
const locales = require('../../locales');
const meta = require('../../package.json');
@@ -5,33 +7,36 @@ const watch = process.argv[2]?.includes('watch');
console.log('Starting SW building...');
-esbuild.build({
- entryPoints: [ `${__dirname}/src/sw.ts` ],
+/** @type {esbuild.BuildOptions} */
+const buildOptions = {
+ absWorkingDir: __dirname,
bundle: true,
+ define: {
+ _DEV_: JSON.stringify(process.env.NODE_ENV !== 'production'),
+ _ENV_: JSON.stringify(process.env.NODE_ENV ?? ''), // `NODE_ENV`が`undefined`なとき`JSON.stringify`が`undefined`を返してエラーになってしまうので`??`を使っている
+ _LANGS_: JSON.stringify(Object.entries(locales).map(([k, v]) => [k, v._lang_])),
+ _PERF_PREFIX_: JSON.stringify('Misskey:'),
+ _VERSION_: JSON.stringify(meta.version),
+ },
+ entryPoints: [`${__dirname}/src/sw.ts`],
format: 'esm',
- treeShaking: true,
+ loader: {
+ '.ts': 'ts',
+ },
minify: process.env.NODE_ENV === 'production',
- absWorkingDir: __dirname,
outbase: `${__dirname}/src`,
outdir: `${__dirname}/../../built/_sw_dist_`,
- loader: {
- '.ts': 'ts'
- },
+ treeShaking: true,
tsconfig: `${__dirname}/tsconfig.json`,
- define: {
- _VERSION_: JSON.stringify(meta.version),
- _LANGS_: JSON.stringify(Object.entries(locales).map(([k, v]) => [k, v._lang_])),
- _ENV_: JSON.stringify(process.env.NODE_ENV),
- _DEV_: process.env.NODE_ENV !== 'production',
- _PERF_PREFIX_: JSON.stringify('Misskey:'),
- },
- watch: watch ? {
- onRebuild(error, result) {
- if (error) console.error('SW: watch build failed:', error);
- else console.log('SW: watch build succeeded:', result);
- },
- } : false,
-}).then(result => {
- if (watch) console.log('watching...');
- else console.log('done,', JSON.stringify(result));
-});
+};
+
+(async () => {
+ if (!watch) {
+ await esbuild.build(buildOptions);
+ console.log('done');
+ } else {
+ const context = await esbuild.context(buildOptions);
+ await context.watch();
+ console.log('watching...');
+ }
+})();
diff --git a/packages/sw/package.json b/packages/sw/package.json
index f82f186619..d7a4a2a4b6 100644
--- a/packages/sw/package.json
+++ b/packages/sw/package.json
@@ -9,7 +9,7 @@
"lint": "pnpm typecheck && pnpm eslint"
},
"dependencies": {
- "esbuild": "0.14.42",
+ "esbuild": "0.17.15",
"idb-keyval": "6.2.0",
"misskey-js": "workspace:*"
},