@alcalzone/monopack 1.2.0 → 1.2.2
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/build/cli.js +50 -55
- package/build/cli.js.map +1 -1
- package/package.json +10 -6
package/build/cli.js
CHANGED
|
@@ -6,17 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
// Script to pack the monorepo packages for production, but locally
|
|
7
7
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
|
9
|
-
const
|
|
10
|
-
const zlib_1 = __importDefault(require("zlib"));
|
|
9
|
+
const tar_1 = __importDefault(require("tar"));
|
|
11
10
|
const pak_1 = require("@alcalzone/pak");
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const _buf = Array();
|
|
15
|
-
stream.on("data", (chunk) => _buf.push(chunk));
|
|
16
|
-
stream.on("end", () => resolve(Buffer.concat(_buf)));
|
|
17
|
-
stream.on("error", (err) => reject(`error converting stream - ${err}`));
|
|
18
|
-
});
|
|
19
|
-
}
|
|
11
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
12
|
+
let tmpDir;
|
|
20
13
|
async function main() {
|
|
21
14
|
const workspaces = [];
|
|
22
15
|
const targetArgsIndex = process.argv.indexOf("--target");
|
|
@@ -25,6 +18,7 @@ async function main() {
|
|
|
25
18
|
if (!path_1.default.isAbsolute(outDir)) {
|
|
26
19
|
outDir = path_1.default.join(process.cwd(), outDir);
|
|
27
20
|
}
|
|
21
|
+
tmpDir = path_1.default.join(outDir, `tmp-${crypto_1.default.randomBytes(4).toString("hex")}`);
|
|
28
22
|
const noVersion = process.argv.includes("--no-version");
|
|
29
23
|
const absolute = process.argv.includes("--absolute");
|
|
30
24
|
// First pass: read all package.json files
|
|
@@ -78,56 +72,57 @@ async function main() {
|
|
|
78
72
|
console.log("Modifying workspaces...");
|
|
79
73
|
for (const workspace of workspaces) {
|
|
80
74
|
console.log(` ${workspace.name}`);
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
extract
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
const packageJson = JSON.parse(data.toString());
|
|
87
|
-
// Replace workspace dependencies with references to local tarballs
|
|
88
|
-
for (const dep of workspace.workspaceDependencies) {
|
|
89
|
-
const depWorkspace = workspaces.find((w) => w.name === dep);
|
|
90
|
-
if (!depWorkspace) {
|
|
91
|
-
console.error(`Did not find workspace ${dep}, required by ${workspace.name}`);
|
|
92
|
-
process.exit(1);
|
|
93
|
-
}
|
|
94
|
-
const targetFileName = noVersion
|
|
95
|
-
? depWorkspace.tarball.replace(`-${depWorkspace.version}.tgz`, ".tgz")
|
|
96
|
-
: depWorkspace.tarball;
|
|
97
|
-
packageJson.dependencies[dep] = absolute
|
|
98
|
-
? `file:${targetFileName}`
|
|
99
|
-
: `file:./${path_1.default.basename(targetFileName)}`;
|
|
100
|
-
}
|
|
101
|
-
// Avoid accidentally installing dev dependencies
|
|
102
|
-
delete packageJson.devDependencies;
|
|
103
|
-
// Return data
|
|
104
|
-
pack.entry(header, JSON.stringify(packageJson, null, 2), next);
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
// pass through
|
|
108
|
-
stream.pipe(pack.entry(header, next));
|
|
109
|
-
}
|
|
75
|
+
// extract the tarball
|
|
76
|
+
await fs_extra_1.default.emptyDir(tmpDir);
|
|
77
|
+
await tar_1.default.extract({
|
|
78
|
+
file: workspace.tarball,
|
|
79
|
+
cwd: tmpDir,
|
|
110
80
|
});
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
81
|
+
// modify package.json
|
|
82
|
+
const packageJsonPath = path_1.default.join(tmpDir, "package/package.json");
|
|
83
|
+
const packageJson = await fs_extra_1.default.readJSON(packageJsonPath);
|
|
84
|
+
// Replace workspace dependencies with references to local tarballs
|
|
85
|
+
for (const dep of workspace.workspaceDependencies) {
|
|
86
|
+
const depWorkspace = workspaces.find((w) => w.name === dep);
|
|
87
|
+
if (!depWorkspace) {
|
|
88
|
+
console.error(`Did not find workspace ${dep}, required by ${workspace.name}`);
|
|
89
|
+
process.exit(1);
|
|
90
|
+
}
|
|
91
|
+
const targetFileName = noVersion
|
|
92
|
+
? depWorkspace.tarball.replace(`-${depWorkspace.version}.tgz`, ".tgz")
|
|
93
|
+
: depWorkspace.tarball;
|
|
94
|
+
packageJson.dependencies[dep] = absolute
|
|
95
|
+
? `file:${targetFileName}`
|
|
96
|
+
: `file:./${path_1.default.basename(targetFileName)}`;
|
|
97
|
+
}
|
|
98
|
+
// Avoid accidentally installing dev dependencies
|
|
99
|
+
delete packageJson.devDependencies;
|
|
100
|
+
// write package.json back to disk
|
|
101
|
+
await fs_extra_1.default.writeJSON(packageJsonPath, packageJson, { spaces: 2 });
|
|
102
|
+
// Repack the tarball
|
|
103
|
+
await tar_1.default.create({
|
|
104
|
+
file: workspace.tarball,
|
|
105
|
+
cwd: tmpDir,
|
|
106
|
+
gzip: { level: 9 },
|
|
107
|
+
}, ["package"]);
|
|
108
|
+
// Clean up
|
|
109
|
+
await fs_extra_1.default.remove(tmpDir);
|
|
110
|
+
// Rename the original tarball if necessary
|
|
111
|
+
if (noVersion) {
|
|
112
|
+
await fs_extra_1.default.rename(workspace.tarball, workspace.tarball.replace(`-${workspace.version}.tgz`, ".tgz"));
|
|
113
|
+
}
|
|
127
114
|
}
|
|
128
115
|
console.log("Done!");
|
|
129
116
|
}
|
|
130
117
|
main().catch((err) => {
|
|
118
|
+
if (tmpDir) {
|
|
119
|
+
try {
|
|
120
|
+
fs_extra_1.default.removeSync(tmpDir);
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
// ignore
|
|
124
|
+
}
|
|
125
|
+
}
|
|
131
126
|
console.error(err);
|
|
132
127
|
process.exit(1);
|
|
133
128
|
});
|
package/build/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;AAAA,mEAAmE;AACnE,wDAA0B;AAC1B,gDAAwB;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alcalzone/monopack",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.2",
|
|
4
4
|
"description": "Like `npm pack` or `yarn pack`, but for entire monorepos.",
|
|
5
5
|
"main": "build/cli.js",
|
|
6
6
|
"types": "build/cli.d.ts",
|
|
@@ -12,6 +12,9 @@
|
|
|
12
12
|
"publishConfig": {
|
|
13
13
|
"access": "public"
|
|
14
14
|
},
|
|
15
|
+
"engines": {
|
|
16
|
+
"node": ">=14"
|
|
17
|
+
},
|
|
15
18
|
"repository": "https://github.com/AlCalzone/monopack.git",
|
|
16
19
|
"author": "Dominic Griesel <d.griesel@gmx.net>",
|
|
17
20
|
"license": "MIT",
|
|
@@ -25,10 +28,11 @@
|
|
|
25
28
|
"release": "release-script"
|
|
26
29
|
},
|
|
27
30
|
"devDependencies": {
|
|
28
|
-
"@alcalzone/release-script": "^3.
|
|
31
|
+
"@alcalzone/release-script": "^3.7.0",
|
|
32
|
+
"@tsconfig/node14": "^1.0.3",
|
|
29
33
|
"@types/fs-extra": "^9.0.13",
|
|
30
|
-
"@types/node": "^14.18.
|
|
31
|
-
"@types/tar
|
|
34
|
+
"@types/node": "^14.18.36",
|
|
35
|
+
"@types/tar": "^6.1.3",
|
|
32
36
|
"@typescript-eslint/eslint-plugin": "^5.38.0",
|
|
33
37
|
"@typescript-eslint/parser": "^5.38.0",
|
|
34
38
|
"eslint": "^8.23.1",
|
|
@@ -41,9 +45,9 @@
|
|
|
41
45
|
"typescript": "~4.8.3"
|
|
42
46
|
},
|
|
43
47
|
"dependencies": {
|
|
44
|
-
"@alcalzone/pak": "^0.
|
|
48
|
+
"@alcalzone/pak": "^0.10.1",
|
|
45
49
|
"fs-extra": "^10.1.0",
|
|
46
|
-
"tar
|
|
50
|
+
"tar": "^6.1.13"
|
|
47
51
|
},
|
|
48
52
|
"packageManager": "yarn@3.2.3"
|
|
49
53
|
}
|