@html-validate/release-scripts 3.1.0 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/lib/filter-dependencies.js +23 -0
- package/lib/prepack.js +25 -0
- package/package.json +5 -3
- package/scripts/prepack +2 -16
package/README.md
CHANGED
|
@@ -15,4 +15,5 @@ Various scripts used by release toolchain.
|
|
|
15
15
|
}
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
-
If the library or CLI tool bundles all dependencies use `release-prepack
|
|
18
|
+
If the library or CLI tool bundles all dependencies use `release-prepack package.json --bundle`.
|
|
19
|
+
Dependencies can also be filtered by marking dependencies as external: `--bundle --external:foo --external:bar`.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @param {Record<string, string>} dependencies
|
|
3
|
+
* @param {boolean} bundle
|
|
4
|
+
* @param {string[]} externals
|
|
5
|
+
* @returns {Record<string, string> | undefined}
|
|
6
|
+
*/
|
|
7
|
+
function filterDependencies(dependencies, bundle, externals) {
|
|
8
|
+
if (!bundle) {
|
|
9
|
+
return dependencies;
|
|
10
|
+
}
|
|
11
|
+
if (externals.length === 0) {
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
const filtered = Object.entries(dependencies).filter(([key]) => {
|
|
15
|
+
return externals.includes(key);
|
|
16
|
+
});
|
|
17
|
+
if (filtered.length === 0) {
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
return Object.fromEntries(filtered);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
module.exports = { filterDependencies };
|
package/lib/prepack.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
const path = require("path");
|
|
2
|
+
const fs = require("fs");
|
|
3
|
+
const { filterDependencies } = require("./filter-dependencies");
|
|
4
|
+
|
|
5
|
+
const filename = process.argv[2];
|
|
6
|
+
const filepath = path.resolve(filename);
|
|
7
|
+
const pkg = JSON.parse(fs.readFileSync(filepath, "utf-8"));
|
|
8
|
+
|
|
9
|
+
const bundle = process.argv.includes("--bundle");
|
|
10
|
+
const externals = process.argv
|
|
11
|
+
.filter((it) => it.startsWith("--external:"))
|
|
12
|
+
.map((it) => it.slice("--external:".length));
|
|
13
|
+
|
|
14
|
+
pkg.dependencies = filterDependencies(pkg.dependencies, bundle, externals);
|
|
15
|
+
delete pkg.devDependencies;
|
|
16
|
+
delete pkg.scripts;
|
|
17
|
+
delete pkg.commitlint;
|
|
18
|
+
delete pkg["lint-staged"];
|
|
19
|
+
delete pkg.prettier;
|
|
20
|
+
delete pkg.jest;
|
|
21
|
+
delete pkg.release;
|
|
22
|
+
delete pkg.renovate;
|
|
23
|
+
|
|
24
|
+
/* eslint-disable-next-line no-console */
|
|
25
|
+
console.log(JSON.stringify(pkg, null, 2));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@html-validate/release-scripts",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.0",
|
|
4
4
|
"description": "Various script used by release toolchain",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"release"
|
|
@@ -21,7 +21,9 @@
|
|
|
21
21
|
"release-prepack": "scripts/prepack"
|
|
22
22
|
},
|
|
23
23
|
"files": [
|
|
24
|
-
"
|
|
24
|
+
"lib",
|
|
25
|
+
"scripts",
|
|
26
|
+
"!**/*.spec.js"
|
|
25
27
|
],
|
|
26
28
|
"devDependencies": {
|
|
27
29
|
"execa": "5.1.1",
|
|
@@ -34,5 +36,5 @@
|
|
|
34
36
|
"publishConfig": {
|
|
35
37
|
"access": "public"
|
|
36
38
|
},
|
|
37
|
-
"gitHead": "
|
|
39
|
+
"gitHead": "4217320e140a070dfe787b147a016b3c7d16b2c0"
|
|
38
40
|
}
|
package/scripts/prepack
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
FILENAME="$1"
|
|
4
4
|
ORIGINAL="${FILENAME}.orig"
|
|
5
5
|
TMPFILE="${FILENAME}.tmp"
|
|
6
|
+
LIBDIR="$(dirname $0)/../lib"
|
|
6
7
|
shift 1
|
|
7
8
|
|
|
8
9
|
restore() {
|
|
@@ -17,20 +18,5 @@ set -o pipefail
|
|
|
17
18
|
trap restore ERR
|
|
18
19
|
|
|
19
20
|
cp "${FILENAME}" "${ORIGINAL}"
|
|
20
|
-
|
|
21
|
-
const path = require("path");
|
|
22
|
-
const pkg = require(path.resolve("${FILENAME}"));
|
|
23
|
-
if (process.argv.includes("--bundle")) {
|
|
24
|
-
delete pkg.dependencies;
|
|
25
|
-
}
|
|
26
|
-
delete pkg.devDependencies;
|
|
27
|
-
delete pkg.scripts;
|
|
28
|
-
delete pkg.commitlint;
|
|
29
|
-
delete pkg["lint-staged"];
|
|
30
|
-
delete pkg.prettier;
|
|
31
|
-
delete pkg.jest;
|
|
32
|
-
delete pkg.release;
|
|
33
|
-
delete pkg.renovate;
|
|
34
|
-
console.log(JSON.stringify(pkg, null, 2));
|
|
35
|
-
EOF
|
|
21
|
+
node "${LIBDIR}/prepack.js" "${FILENAME}" "$@" | tee "${TMPFILE}"
|
|
36
22
|
mv "${TMPFILE}" "${FILENAME}"
|