Skip to content

Commit 4992d25

Browse files
committedNov 1, 2023
chore: modify package.json and ollup.config
1 parent 60ecd30 commit 4992d25

File tree

2 files changed

+37
-19
lines changed

2 files changed

+37
-19
lines changed
 

‎package.json

+2-5
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,7 @@
77
"commit-amend-build": "scripts/commit-amend-build.sh",
88
"prebuild": "rimraf dist/**",
99
"dev": "cross-env NODE_ENV=development BABEL_ENV=rollup rollup -w -c -o dist/purify.js",
10-
"build": "cross-env run-p build:umd build:umd:min build:es build:cjs",
11-
"build:umd": "cross-env NODE_ENV=development BABEL_ENV=rollup rollup -c -f umd -o dist/purify.js",
12-
"build:umd:min": "cross-env NODE_ENV=production BABEL_ENV=rollup rollup -c -f umd -o dist/purify.min.js",
13-
"build:es": "cross-env NODE_ENV=development BABEL_ENV=rollup rollup -c -f es -o dist/purify.es.js",
14-
"build:cjs": "cross-env NODE_ENV=development BABEL_ENV=rollup rollup -c -f cjs -o dist/purify.cjs.js",
10+
"build": "rollup -c",
1511
"test:jsdom": "cross-env NODE_ENV=test BABEL_ENV=rollup node test/jsdom-node-runner --dot",
1612
"test:karma": "cross-env NODE_ENV=test BABEL_ENV=rollup karma start test/karma.conf.js --log-level warn ",
1713
"test:ci": "cross-env NODE_ENV=test BABEL_ENV=rollup npm run test:jsdom && npm run test:karma -- --log-level error --reporters dots --single-run --shouldTestOnBrowserStack=\"${TEST_BROWSERSTACK}\" --shouldProbeOnly=\"${TEST_PROBE_ONLY}\"",
@@ -20,6 +16,7 @@
2016
"main": "dist/purify.cjs.js",
2117
"module": "dist/purify.es.js",
2218
"browser": "dist/purify.js",
19+
"production": "dist/purify.min.js",
2320
"files": [
2421
"dist"
2522
],

‎rollup.config.js

+35-14
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,47 @@ const babel = require('@rollup/plugin-babel').babel;
33
const nodeResolve = require('@rollup/plugin-node-resolve').nodeResolve;
44
const replace = require('@rollup/plugin-replace');
55
const { terser } = require('rollup-plugin-terser');
6+
const pkg = require('./package.json');
67

78
const env = process.env.NODE_ENV;
8-
const isProd = env === 'production';
99
const version = process.env.npm_package_version;
10-
const license = fs.readFileSync('./src/license_header', 'utf8').replace(/VERSION/ig, version);
10+
const license = fs
11+
.readFileSync('./src/license_header', 'utf8')
12+
.replace(/VERSION/gi, version);
13+
14+
const commonOutputConfig = {
15+
name: 'DOMPurify',
16+
sourcemap: true,
17+
banner: license,
18+
exports: 'default',
19+
};
1120

1221
const config = {
1322
input: 'src/purify.js',
1423
external: [],
15-
output: {
16-
name: 'DOMPurify',
17-
globals: {},
18-
format: 'umd',
19-
sourcemap: true,
20-
banner: license,
21-
},
24+
output: [
25+
{
26+
...commonOutputConfig,
27+
file: pkg.browser,
28+
format: 'umd',
29+
},
30+
{
31+
...commonOutputConfig,
32+
file: pkg.production,
33+
format: 'umd',
34+
plugins: [terser()],
35+
},
36+
{
37+
...commonOutputConfig,
38+
file: pkg.module,
39+
format: 'es',
40+
},
41+
{
42+
...commonOutputConfig,
43+
file: pkg.main,
44+
format: 'cjs',
45+
},
46+
],
2247
plugins: [
2348
babel({
2449
// It is recommended to configure this option explicitly (even if with its default value) so an informed decision is taken on how those babel helpers are inserted into the code.
@@ -32,13 +57,9 @@ const config = {
3257
values: {
3358
'process.env.NODE_ENV': JSON.stringify(env),
3459
VERSION: `'${version}'`,
35-
}
60+
},
3661
}),
3762
],
3863
};
3964

40-
if (isProd) {
41-
config.plugins.push(terser());
42-
}
43-
4465
module.exports = config;

0 commit comments

Comments
 (0)
Please sign in to comment.