Skip to content

Commit 1ec3aa4

Browse files
author
Gusted
authored
Merge building into 1 script(darkreader#2534)
- Mission Passed Respect+
1 parent 83e3555 commit 1ec3aa4

4 files changed

Lines changed: 91 additions & 39 deletions

File tree

package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
"version": "4.9.8",
44
"description": "Dark theme for every website",
55
"scripts": {
6-
"api": "node -e \"require('./tasks/bundle-api')()\"",
6+
"api": "node tasks/build.js --api",
77
"benchmark-server": "node tests/benchmark-server/index.js",
8-
"build": "node tasks/release.js",
98
"code-style": "eslint --fix \"src/**/*.ts\" \"src/**/*.tsx\" \"tasks/**/*.js\" \"tests/**/*.ts\" \"tests/**/*.js\" \"index.d.ts\"",
10-
"debug": "node tasks/debug.js",
9+
"debug": "node tasks/build.js --debug",
10+
"debug-watch": "node tasks/build.js --debug --watch",
1111
"prepublishOnly": "npm test && npm run api",
12-
"release": "npm test && node tasks/release.js",
12+
"release": "npm test && node tasks/build.js --release",
1313
"test": "jest --config=tests/jest.config.js",
1414
"test:inject": "jest --config=tests/inject/jest.config.js"
1515
},

tasks/build.js

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
// @ts-check
2+
const bundleAPI = require('./bundle-api');
3+
const bundleCSS = require('./bundle-css');
4+
const bundleHTML = require('./bundle-html');
5+
const bundleJS = require('./bundle-js');
6+
const bundleLocales = require('./bundle-locales');
7+
const clean = require('./clean');
8+
const copy = require('./copy');
9+
const reload = require('./reload');
10+
const codeStyle = require('./code-style');
11+
const zip = require('./zip');
12+
const {runTasks} = require('./task');
13+
const {log} = require('./utils');
14+
15+
const standardTask = [
16+
clean,
17+
bundleJS,
18+
bundleCSS,
19+
bundleHTML,
20+
bundleLocales,
21+
copy,
22+
];
23+
24+
async function release() {
25+
log.ok('RELEASE');
26+
try {
27+
await runTasks([...standardTask, codeStyle, zip], {production: true});
28+
log.ok('MISSION PASSED! RESPECT +');
29+
} catch (err) {
30+
log.error(`MISSION FAILED!`);
31+
process.exit(13);
32+
}
33+
}
34+
35+
async function debug({watch}) {
36+
log.ok('DEBUG');
37+
try {
38+
await runTasks(standardTask, {production: false});
39+
if (watch) {
40+
standardTask.forEach((task) => task.watch());
41+
reload({type: reload.FULL});
42+
log.ok('Watching...');
43+
} else {
44+
log.ok('MISSION PASSED! RESPECT +');
45+
}
46+
} catch (err) {
47+
log.error(`MISSION FAILED!`);
48+
process.exit(13);
49+
}
50+
}
51+
52+
async function api() {
53+
log.ok('API');
54+
try {
55+
await runTasks([bundleAPI], {production: true});
56+
log.ok('MISSION PASSED! RESPECT +');
57+
} catch (err) {
58+
log.error(`MISSION FAILED!`);
59+
process.exit(13);
60+
}
61+
}
62+
63+
async function run() {
64+
const args = process.argv.slice(2);
65+
66+
if (args.includes('--release')) {
67+
await release();
68+
}
69+
if (args.includes('--debug')) {
70+
await debug({watch: args.includes('--watch')});
71+
}
72+
if (args.includes('--api')) {
73+
await api();
74+
}
75+
76+
}
77+
78+
run();

tasks/bundle-api.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,11 @@ const rollupPluginReplace = require('@rollup/plugin-replace');
55
const rollupPluginTypescript = require('rollup-plugin-typescript2');
66
const typescript = require('typescript');
77
const packageJSON = require('../package.json');
8+
const fs = require('fs-extra');
9+
const os = require('os');
10+
const {createTask} = require('./task');
811

9-
async function bundleAPI() {
12+
async function bundleAPI({production}) {
1013
const src = 'src/api/index.ts';
1114
const dest = 'darkreader.js';
1215

@@ -25,7 +28,7 @@ async function bundleAPI() {
2528
},
2629
},
2730
clean: true,
28-
cacheRoot: null,
31+
cacheRoot: production ? null : `${fs.realpathSync(os.tmpdir())}/darkreader_api_typescript_cache`,
2932
}),
3033
rollupPluginReplace({
3134
'__DEBUG__': 'false',
@@ -42,4 +45,7 @@ async function bundleAPI() {
4245
});
4346
}
4447

45-
module.exports = bundleAPI;
48+
module.exports = createTask(
49+
'bundle-api',
50+
bundleAPI,
51+
);

tasks/release.js

Lines changed: 0 additions & 32 deletions
This file was deleted.

0 commit comments

Comments
 (0)