monocrate 0.2.0 → 0.4.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/dist/assemble.d.ts +4 -0
- package/dist/assemble.d.ts.map +1 -0
- package/dist/assemble.js +21 -0
- package/dist/assemble.js.map +1 -0
- package/dist/collect-package-locations.d.ts +48 -0
- package/dist/collect-package-locations.d.ts.map +1 -0
- package/dist/collect-package-locations.js +49 -0
- package/dist/collect-package-locations.js.map +1 -0
- package/dist/compute-package-closure.d.ts +3 -0
- package/dist/compute-package-closure.d.ts.map +1 -0
- package/dist/{build-dependency-graph.js → compute-package-closure.js} +8 -7
- package/dist/compute-package-closure.js.map +1 -0
- package/dist/{dist-copier.d.ts → file-copier.d.ts} +2 -3
- package/dist/file-copier.d.ts.map +1 -0
- package/dist/file-copier.js +38 -0
- package/dist/file-copier.js.map +1 -0
- package/dist/get-files-to-pack.d.ts +10 -0
- package/dist/get-files-to-pack.d.ts.map +1 -0
- package/dist/get-files-to-pack.js +46 -0
- package/dist/get-files-to-pack.js.map +1 -0
- package/dist/import-rewriter.d.ts.map +1 -1
- package/dist/import-rewriter.js +2 -3
- package/dist/import-rewriter.js.map +1 -1
- package/dist/monocrate-cli.js +2 -2
- package/dist/monocrate-cli.js.map +1 -1
- package/dist/monocrate.d.ts +9 -9
- package/dist/monocrate.d.ts.map +1 -1
- package/dist/monocrate.js +14 -64
- package/dist/monocrate.js.map +1 -1
- package/dist/package-closure.d.ts +14 -0
- package/dist/package-closure.d.ts.map +1 -0
- package/dist/package-closure.js +2 -0
- package/dist/package-closure.js.map +1 -0
- package/dist/package-json.d.ts +1 -0
- package/dist/package-json.d.ts.map +1 -1
- package/dist/package-json.js +1 -0
- package/dist/package-json.js.map +1 -1
- package/dist/package-map.d.ts +30 -6
- package/dist/package-map.d.ts.map +1 -1
- package/dist/publish.d.ts +2 -0
- package/dist/publish.d.ts.map +1 -0
- package/dist/publish.js +8 -0
- package/dist/publish.js.map +1 -0
- package/dist/resolve-version.d.ts +3 -0
- package/dist/resolve-version.d.ts.map +1 -0
- package/dist/resolve-version.js +40 -0
- package/dist/resolve-version.js.map +1 -0
- package/dist/rewrite-package-json.d.ts +3 -0
- package/dist/rewrite-package-json.d.ts.map +1 -0
- package/dist/rewrite-package-json.js +21 -0
- package/dist/rewrite-package-json.js.map +1 -0
- package/dist/version-specifier.d.ts +8 -0
- package/dist/version-specifier.d.ts.map +1 -0
- package/dist/version-specifier.js +17 -0
- package/dist/version-specifier.js.map +1 -0
- package/package.json +10 -4
- package/dist/build-dependency-graph.d.ts +0 -8
- package/dist/build-dependency-graph.d.ts.map +0 -1
- package/dist/build-dependency-graph.js.map +0 -1
- package/dist/build-package-map.d.ts +0 -4
- package/dist/build-package-map.d.ts.map +0 -1
- package/dist/build-package-map.js +0 -43
- package/dist/build-package-map.js.map +0 -1
- package/dist/bundle.d.ts +0 -3
- package/dist/bundle.d.ts.map +0 -1
- package/dist/bundle.js +0 -11
- package/dist/bundle.js.map +0 -1
- package/dist/bundler.d.ts +0 -3
- package/dist/bundler.d.ts.map +0 -1
- package/dist/bundler.js +0 -62
- package/dist/bundler.js.map +0 -1
- package/dist/copy-bundler.d.ts +0 -3
- package/dist/copy-bundler.d.ts.map +0 -1
- package/dist/copy-bundler.js +0 -11
- package/dist/copy-bundler.js.map +0 -1
- package/dist/dependency-graph.d.ts +0 -3
- package/dist/dependency-graph.d.ts.map +0 -1
- package/dist/dependency-graph.js +0 -44
- package/dist/dependency-graph.js.map +0 -1
- package/dist/dist-copier.d.ts.map +0 -1
- package/dist/dist-copier.js +0 -44
- package/dist/dist-copier.js.map +0 -1
- package/dist/index.test.d.ts +0 -2
- package/dist/index.test.d.ts.map +0 -1
- package/dist/index.test.js +0 -110
- package/dist/index.test.js.map +0 -1
- package/dist/monocrate.test.d.ts +0 -2
- package/dist/monocrate.test.d.ts.map +0 -1
- package/dist/monocrate.test.js +0 -1044
- package/dist/monocrate.test.js.map +0 -1
- package/dist/package-transformer.d.ts +0 -5
- package/dist/package-transformer.d.ts.map +0 -1
- package/dist/package-transformer.js +0 -20
- package/dist/package-transformer.js.map +0 -1
- package/dist/transform-package-json.d.ts +0 -5
- package/dist/transform-package-json.d.ts.map +0 -1
- package/dist/transform-package-json.js +0 -19
- package/dist/transform-package-json.js.map +0 -1
- package/dist/types.d.ts +0 -2
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
package/dist/package-json.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-json.js","sourceRoot":"","sources":["../src/package-json.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"package-json.js","sourceRoot":"","sources":["../src/package-json.ts"],"names":[],"mappings":"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"}
|
package/dist/package-map.d.ts
CHANGED
|
@@ -1,8 +1,32 @@
|
|
|
1
|
-
|
|
1
|
+
import type { PackageJson } from './package-json.js';
|
|
2
|
+
export interface PackageLocation {
|
|
3
|
+
/**
|
|
4
|
+
* The package name from package.json
|
|
5
|
+
* @example "@myorg/utils"
|
|
6
|
+
*/
|
|
2
7
|
name: string;
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Absolute path to the source package directory
|
|
10
|
+
* @example "/home/user/monorepo/packages/utils"
|
|
11
|
+
*/
|
|
12
|
+
packageDir: string;
|
|
13
|
+
/**
|
|
14
|
+
* Prefix for the output location. Empty string for the subject package,
|
|
15
|
+
* relative path under deps/ for in-repo dependencies
|
|
16
|
+
* @example "" (subject package)
|
|
17
|
+
* @example "deps/packages/utils" (in-repo dependency)
|
|
18
|
+
*/
|
|
19
|
+
outputPrefix: string;
|
|
20
|
+
/**
|
|
21
|
+
* Individual file paths to copy, as determined by `npm pack --dry-run`.
|
|
22
|
+
* These are the exact files npm would include in the published tarball.
|
|
23
|
+
* @example ["dist/index.js", "dist/utils.js", "package.json"]
|
|
24
|
+
*/
|
|
25
|
+
filesToCopy: string[];
|
|
26
|
+
/**
|
|
27
|
+
* The package.json contents, used for import resolution
|
|
28
|
+
*/
|
|
29
|
+
packageJson: PackageJson;
|
|
30
|
+
}
|
|
31
|
+
export type PackageMap = Map<string, PackageLocation>;
|
|
8
32
|
//# sourceMappingURL=package-map.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-map.d.ts","sourceRoot":"","sources":["../src/package-map.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"package-map.d.ts","sourceRoot":"","sources":["../src/package-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEpD,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAA;IAElB;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAA;IAEpB;;;;OAIG;IACH,WAAW,EAAE,MAAM,EAAE,CAAA;IAErB;;OAEG;IACH,WAAW,EAAE,WAAW,CAAA;CACzB;AAED,MAAM,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAEA,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,QAKxC"}
|
package/dist/publish.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { spawnSync } from 'node:child_process';
|
|
2
|
+
export function publish(outputDir) {
|
|
3
|
+
const npmPublishResult = spawnSync('npm', ['publish'], { cwd: outputDir, stdio: 'inherit' });
|
|
4
|
+
if (npmPublishResult.status !== 0) {
|
|
5
|
+
throw new Error(`npm publish failed with exit code ${String(npmPublishResult.status ?? 1)}`);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=publish.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9C,MAAM,UAAU,OAAO,CAAC,SAAiB;IACvC,MAAM,gBAAgB,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;IAC5F,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,qCAAqC,MAAM,CAAC,gBAAgB,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,CAAA;IAC9F,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-version.d.ts","sourceRoot":"","sources":["../src/resolve-version.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAgC9D,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,mBAe3F"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { exec } from 'node:child_process';
|
|
2
|
+
import { promisify } from 'node:util';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
const execAsync = promisify(exec);
|
|
5
|
+
const NpmErrorResponse = z.object({
|
|
6
|
+
error: z.object({
|
|
7
|
+
code: z.string().optional(),
|
|
8
|
+
detail: z.string().optional(),
|
|
9
|
+
}),
|
|
10
|
+
});
|
|
11
|
+
async function getCurrentPublishedVersion(packageName) {
|
|
12
|
+
const { stdout } = await execAsync(`npm view -s --json ${packageName} version`);
|
|
13
|
+
const parsed = JSON.parse(stdout);
|
|
14
|
+
const errorResult = NpmErrorResponse.safeParse(parsed);
|
|
15
|
+
if (errorResult.success) {
|
|
16
|
+
if (errorResult.data.error.code === 'E404') {
|
|
17
|
+
return '0.0.0';
|
|
18
|
+
}
|
|
19
|
+
throw new Error(`npm view failed (${errorResult.data.error.code ?? '<No Error Code>'}): ${errorResult.data.error.detail ?? '<No Further Details>'}`);
|
|
20
|
+
}
|
|
21
|
+
if (typeof parsed !== 'string') {
|
|
22
|
+
throw new Error(`Unexpected response from npm view: ${stdout}`);
|
|
23
|
+
}
|
|
24
|
+
return parsed;
|
|
25
|
+
}
|
|
26
|
+
export async function resolveVersion(packageName, versionSpecifier) {
|
|
27
|
+
if (versionSpecifier.tag === 'explicit') {
|
|
28
|
+
return versionSpecifier.value;
|
|
29
|
+
}
|
|
30
|
+
const currentVersion = await getCurrentPublishedVersion(packageName);
|
|
31
|
+
const nums = currentVersion.split('.').slice(0, 3).map(Number);
|
|
32
|
+
const index = { major: 0, minor: 1, patch: 2 }[versionSpecifier.tag];
|
|
33
|
+
const n = nums[index];
|
|
34
|
+
if (n === undefined) {
|
|
35
|
+
throw new Error(`Bad versionSpecifier: ${versionSpecifier.tag}`);
|
|
36
|
+
}
|
|
37
|
+
nums[index] = n + 1;
|
|
38
|
+
return nums.join('.');
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=resolve-version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-version.js","sourceRoot":"","sources":["../src/resolve-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;AAEjC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC9B,CAAC;CACH,CAAC,CAAA;AAEF,KAAK,UAAU,0BAA0B,CAAC,WAAmB;IAC3D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,sBAAsB,WAAW,UAAU,CAAC,CAAA;IAC/E,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAE1C,MAAM,WAAW,GAAG,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IACtD,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3C,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,MAAM,IAAI,KAAK,CACb,oBAAoB,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,iBAAiB,MAAM,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,sBAAsB,EAAE,CACpI,CAAA;IACH,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,EAAE,CAAC,CAAA;IACjE,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,WAAmB,EAAE,gBAAkC;IAC1F,IAAI,gBAAgB,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;QACxC,OAAO,gBAAgB,CAAC,KAAK,CAAA;IAC/B,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,0BAA0B,CAAC,WAAW,CAAC,CAAA;IACpE,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAE9D,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;IACpE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;IACrB,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,yBAAyB,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAA;IAClE,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACnB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rewrite-package-json.d.ts","sourceRoot":"","sources":["../src/rewrite-package-json.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,QAsBzG"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as fs from 'node:fs';
|
|
2
|
+
import * as path from 'node:path';
|
|
3
|
+
export function rewritePackageJson(closure, version, outputDir) {
|
|
4
|
+
const subject = closure.members.find((at) => at.name === closure.subjectPackageName);
|
|
5
|
+
if (!subject) {
|
|
6
|
+
throw new Error(`Incosistency in subject package name: "${closure.subjectPackageName}"`);
|
|
7
|
+
}
|
|
8
|
+
const { dependencies: _1, devDependencies: _2, ...rest } = subject.packageJson;
|
|
9
|
+
const rewritten = {
|
|
10
|
+
...rest,
|
|
11
|
+
};
|
|
12
|
+
if (version) {
|
|
13
|
+
rewritten.version = version;
|
|
14
|
+
}
|
|
15
|
+
// Replace dependencies with flattened third-party deps (no workspace deps)
|
|
16
|
+
if (Object.keys(closure.allThirdPartyDeps).length > 0) {
|
|
17
|
+
rewritten.dependencies = closure.allThirdPartyDeps;
|
|
18
|
+
}
|
|
19
|
+
fs.writeFileSync(path.join(outputDir, 'package.json'), JSON.stringify(rewritten, null, 2) + '\n');
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=rewrite-package-json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rewrite-package-json.js","sourceRoot":"","sources":["../src/rewrite-package-json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAIjC,MAAM,UAAU,kBAAkB,CAAC,OAAuB,EAAE,OAA2B,EAAE,SAAiB;IACxG,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAA;IACpF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,0CAA0C,OAAO,CAAC,kBAAkB,GAAG,CAAC,CAAA;IAC1F,CAAC;IAED,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC,WAAW,CAAA;IAE9E,MAAM,SAAS,GAAgB;QAC7B,GAAG,IAAI;KACR,CAAA;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,SAAS,CAAC,OAAO,GAAG,OAAO,CAAA;IAC7B,CAAC;IAED,2EAA2E;IAC3E,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,SAAS,CAAC,YAAY,GAAG,OAAO,CAAC,iBAAiB,CAAA;IACpD,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;AACnG,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type VersionSpecifier = {
|
|
2
|
+
tag: 'major' | 'minor' | 'patch';
|
|
3
|
+
} | {
|
|
4
|
+
tag: 'explicit';
|
|
5
|
+
value: string;
|
|
6
|
+
};
|
|
7
|
+
export declare function parseVersionSpecifier(value: string | undefined): VersionSpecifier | undefined;
|
|
8
|
+
//# sourceMappingURL=version-specifier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version-specifier.d.ts","sourceRoot":"","sources":["../src/version-specifier.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,gBAAgB,GAAG;IAAE,GAAG,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;CAAE,GAAG;IAAE,GAAG,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AACxG,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,GAAG,SAAS,CAkB7F"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
const SemVerPart = z.union([z.literal('patch'), z.literal('minor'), z.literal('major')]);
|
|
3
|
+
export function parseVersionSpecifier(value) {
|
|
4
|
+
if (value === undefined) {
|
|
5
|
+
return undefined;
|
|
6
|
+
}
|
|
7
|
+
const parsedPart = SemVerPart.safeParse(value);
|
|
8
|
+
if (parsedPart.success) {
|
|
9
|
+
return { tag: parsedPart.data };
|
|
10
|
+
}
|
|
11
|
+
const isSemver = /^\d+\.\d+\.\d+(-[\w.-]+)?(\+[\w.-]+)?$/.test(value);
|
|
12
|
+
if (!isSemver) {
|
|
13
|
+
throw new Error(`Invalid publish value: "${value}". Expected "patch", "minor", "major" or an explicit version such as "1.2.3"`);
|
|
14
|
+
}
|
|
15
|
+
return { tag: 'explicit', value };
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=version-specifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version-specifier.js","sourceRoot":"","sources":["../src/version-specifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AAExF,MAAM,UAAU,qBAAqB,CAAC,KAAyB;IAC7D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC9C,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,IAAI,EAAE,CAAA;IACjC,CAAC;IAED,MAAM,QAAQ,GAAG,wCAAwC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACrE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,2BAA2B,KAAK,8EAA8E,CAC/G,CAAA;IACH,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,CAAA;AACnC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "monocrate",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "From monorepo to npm in one command",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
}
|
|
16
16
|
},
|
|
17
17
|
"files": [
|
|
18
|
-
"dist"
|
|
18
|
+
"dist",
|
|
19
|
+
"!dist/**/*.test.*"
|
|
19
20
|
],
|
|
20
21
|
"scripts": {
|
|
21
22
|
"build": "tsc",
|
|
@@ -27,7 +28,7 @@
|
|
|
27
28
|
"format": "prettier --write \"src/**/*.ts\"",
|
|
28
29
|
"format:check": "prettier --check \"src/**/*.ts\"",
|
|
29
30
|
"typecheck": "tsc --noEmit",
|
|
30
|
-
"
|
|
31
|
+
"publish-to-npm": "./scripts/publish-to-npm.sh"
|
|
31
32
|
},
|
|
32
33
|
"keywords": [
|
|
33
34
|
"monorepo",
|
|
@@ -37,7 +38,11 @@
|
|
|
37
38
|
"publish"
|
|
38
39
|
],
|
|
39
40
|
"author": "",
|
|
40
|
-
"license": "
|
|
41
|
+
"license": "MIT",
|
|
42
|
+
"repository": {
|
|
43
|
+
"type": "git",
|
|
44
|
+
"url": "git+https://github.com/imaman/monocrate.git"
|
|
45
|
+
},
|
|
41
46
|
"devDependencies": {
|
|
42
47
|
"@eslint/js": "^9.0.0",
|
|
43
48
|
"@types/node": "^20.19.29",
|
|
@@ -63,6 +68,7 @@
|
|
|
63
68
|
"citty": "^0.1.6",
|
|
64
69
|
"esbuild": "^0.24.0",
|
|
65
70
|
"glob": "^13.0.0",
|
|
71
|
+
"resolve.exports": "^2.0.3",
|
|
66
72
|
"ts-morph": "^27.0.2",
|
|
67
73
|
"zod": "^4.3.5"
|
|
68
74
|
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { MonorepoPackage } from './monorepo.js';
|
|
2
|
-
export interface DependencyGraph {
|
|
3
|
-
packageToBundle: MonorepoPackage;
|
|
4
|
-
inRepoDeps: MonorepoPackage[];
|
|
5
|
-
allThirdPartyDeps: Partial<Record<string, string>>;
|
|
6
|
-
}
|
|
7
|
-
export declare function buildDependencyGraph(sourceDir: string, monorepoRoot: string): Promise<DependencyGraph>;
|
|
8
|
-
//# sourceMappingURL=build-dependency-graph.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build-dependency-graph.d.ts","sourceRoot":"","sources":["../src/build-dependency-graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAGpD,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,eAAe,CAAA;IAChC,UAAU,EAAE,eAAe,EAAE,CAAA;IAC7B,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACnD;AAED,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAuC5G"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build-dependency-graph.js","sourceRoot":"","sources":["../src/build-dependency-graph.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;AAQxD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,SAAiB,EAAE,YAAoB;IAChF,MAAM,eAAe,GAAG,MAAM,wBAAwB,CAAC,YAAY,CAAC,CAAA;IACpE,MAAM,eAAe,GAAG,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;IACzF,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,wCAAwC,SAAS,EAAE,CAAC,CAAA;IACtE,CAAC;IAED,MAAM,iBAAiB,GAAoC,EAAE,CAAA;IAC7D,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2B,CAAA;IAElD,SAAS,WAAW,CAAC,GAAoB;QACvC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAM;QACR,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAE1B,KAAK,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,CAAC;YACvF,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,sBAAsB,OAAO,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;YACjE,CAAC;YACD,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAC/C,IAAI,UAAU,EAAE,CAAC;gBACf,oBAAoB;gBACpB,WAAW,CAAC,UAAU,CAAC,CAAA;YACzB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,CAAC,OAAO,IAAI,iBAAiB,CAAC,EAAE,CAAC;oBACpC,iBAAiB,CAAC,OAAO,CAAC,GAAG,UAAU,CAAA;gBACzC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,WAAW,CAAC,eAAe,CAAC,CAAA;IAE5B,OAAO;QACL,eAAe;QACf,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,eAAe,CAAC;QACxE,iBAAiB;KAClB,CAAA;AACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build-package-map.d.ts","sourceRoot":"","sources":["../src/build-package-map.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AA2ClE,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,GAAG,UAAU,CAUxF"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import * as fs from 'node:fs';
|
|
2
|
-
import * as path from 'node:path';
|
|
3
|
-
const DEFAULT_DIST_DIR = 'dist';
|
|
4
|
-
const DEFAULT_ENTRY_POINT = 'dist/index.js';
|
|
5
|
-
function resolveDistDir(main) {
|
|
6
|
-
if (main === undefined) {
|
|
7
|
-
return DEFAULT_DIST_DIR;
|
|
8
|
-
}
|
|
9
|
-
const dir = path.dirname(main);
|
|
10
|
-
return dir === '' || dir === '.' ? DEFAULT_DIST_DIR : dir;
|
|
11
|
-
}
|
|
12
|
-
function resolveEntryPoint(main) {
|
|
13
|
-
return main ?? DEFAULT_ENTRY_POINT;
|
|
14
|
-
}
|
|
15
|
-
function registerPackageLocation(packageMap, pkg, outputPrefix) {
|
|
16
|
-
const distDir = resolveDistDir(pkg.packageJson.main);
|
|
17
|
-
const sourceDistDir = path.resolve(pkg.path, distDir);
|
|
18
|
-
if (!fs.existsSync(sourceDistDir)) {
|
|
19
|
-
throw new Error(`dist directory not found at ${sourceDistDir}. Did you run the build for ${pkg.name}?`);
|
|
20
|
-
}
|
|
21
|
-
const outputDistDir = path.join(outputPrefix, distDir);
|
|
22
|
-
packageMap.set(pkg.name, {
|
|
23
|
-
name: pkg.name,
|
|
24
|
-
sourceDistDir,
|
|
25
|
-
outputDistDir,
|
|
26
|
-
outputEntryPoint: path.join(outputPrefix, resolveEntryPoint(pkg.packageJson.main)),
|
|
27
|
-
resolveSubpath(subpath) {
|
|
28
|
-
return path.join(outputDistDir, subpath);
|
|
29
|
-
},
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
function computeDepOutputPrefix(dep, monorepoRoot) {
|
|
33
|
-
return path.join('deps', path.relative(monorepoRoot, dep.path));
|
|
34
|
-
}
|
|
35
|
-
export function buildPackageMap(graph, monorepoRoot) {
|
|
36
|
-
const packageMap = new Map();
|
|
37
|
-
registerPackageLocation(packageMap, graph.packageToBundle, '');
|
|
38
|
-
for (const dep of graph.inRepoDeps) {
|
|
39
|
-
registerPackageLocation(packageMap, dep, computeDepOutputPrefix(dep, monorepoRoot));
|
|
40
|
-
}
|
|
41
|
-
return packageMap;
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=build-package-map.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build-package-map.js","sourceRoot":"","sources":["../src/build-package-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAKjC,MAAM,gBAAgB,GAAG,MAAM,CAAA;AAC/B,MAAM,mBAAmB,GAAG,eAAe,CAAA;AAE3C,SAAS,cAAc,CAAC,IAAwB;IAC9C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,gBAAgB,CAAA;IACzB,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9B,OAAO,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAA;AAC3D,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAwB;IACjD,OAAO,IAAI,IAAI,mBAAmB,CAAA;AACpC,CAAC;AAED,SAAS,uBAAuB,CAAC,UAAsB,EAAE,GAAoB,EAAE,YAAoB;IACjG,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IACpD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAErD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,+BAA+B,aAAa,+BAA+B,GAAG,CAAC,IAAI,GAAG,CAAC,CAAA;IACzG,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IAEtD,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE;QACvB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,aAAa;QACb,aAAa;QACb,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAClF,cAAc,CAAC,OAAe;YAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;QAC1C,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAoB,EAAE,YAAoB;IACxE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAsB,EAAE,YAAoB;IAC1E,MAAM,UAAU,GAAe,IAAI,GAAG,EAAE,CAAA;IAExC,uBAAuB,CAAC,UAAU,EAAE,KAAK,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;IAE9D,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACnC,uBAAuB,CAAC,UAAU,EAAE,GAAG,EAAE,sBAAsB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAA;IACrF,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC"}
|
package/dist/bundle.d.ts
DELETED
package/dist/bundle.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAElE,wBAAsB,MAAM,CAAC,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO3G"}
|
package/dist/bundle.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import * as fsPromises from 'node:fs/promises';
|
|
2
|
-
import { buildPackageMap } from './build-package-map.js';
|
|
3
|
-
import { DistCopier } from './dist-copier.js';
|
|
4
|
-
import { ImportRewriter } from './import-rewriter.js';
|
|
5
|
-
export async function bundle(graph, monorepoRoot, outputDir) {
|
|
6
|
-
const packageMap = buildPackageMap(graph, monorepoRoot);
|
|
7
|
-
await fsPromises.mkdir(outputDir, { recursive: true });
|
|
8
|
-
const copiedFiles = await new DistCopier(packageMap, outputDir).copy();
|
|
9
|
-
await new ImportRewriter(packageMap, outputDir).rewriteAll(copiedFiles);
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=bundle.js.map
|
package/dist/bundle.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGrD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,KAAsB,EAAE,YAAoB,EAAE,SAAiB;IAC1F,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;IAEvD,MAAM,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEtD,MAAM,WAAW,GAAG,MAAM,IAAI,UAAU,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,CAAA;IACtE,MAAM,IAAI,cAAc,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;AACzE,CAAC"}
|
package/dist/bundler.d.ts
DELETED
package/dist/bundler.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bundler.d.ts","sourceRoot":"","sources":["../src/bundler.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAmB,MAAM,YAAY,CAAA;AA8ClE,wBAAsB,MAAM,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBrF"}
|
package/dist/bundler.js
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import * as fs from 'node:fs/promises';
|
|
2
|
-
import * as fsSync from 'node:fs';
|
|
3
|
-
import module from 'node:module';
|
|
4
|
-
import * as path from 'node:path';
|
|
5
|
-
import * as esbuild from 'esbuild';
|
|
6
|
-
import { getExternalDependencies } from './dependency-graph.js';
|
|
7
|
-
const NODE_BUILTIN_MODULES = module.builtinModules.flatMap((m) => [m, `node:${m}`]);
|
|
8
|
-
function findEntryPoint(packageDir, packageJson) {
|
|
9
|
-
const possibleEntries = [
|
|
10
|
-
packageJson.source,
|
|
11
|
-
packageJson.main,
|
|
12
|
-
'src/index.ts',
|
|
13
|
-
'src/index.js',
|
|
14
|
-
'index.ts',
|
|
15
|
-
'index.js',
|
|
16
|
-
].filter((e) => typeof e === 'string');
|
|
17
|
-
for (const entry of possibleEntries) {
|
|
18
|
-
const fullPath = path.resolve(packageDir, entry);
|
|
19
|
-
if (fsSync.existsSync(fullPath)) {
|
|
20
|
-
return fullPath;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
throw new Error(`Could not find entry point in ${packageDir}`);
|
|
24
|
-
}
|
|
25
|
-
function createInRepoResolverPlugin(inRepoDeps) {
|
|
26
|
-
const packageMap = new Map();
|
|
27
|
-
for (const dep of inRepoDeps) {
|
|
28
|
-
const entryPoint = findEntryPoint(dep.path, dep.packageJson);
|
|
29
|
-
packageMap.set(dep.name, entryPoint);
|
|
30
|
-
}
|
|
31
|
-
return {
|
|
32
|
-
name: 'in-repo-resolver',
|
|
33
|
-
setup(build) {
|
|
34
|
-
build.onResolve({ filter: /.*/ }, (args) => {
|
|
35
|
-
const resolved = packageMap.get(args.path);
|
|
36
|
-
if (resolved) {
|
|
37
|
-
return { path: resolved };
|
|
38
|
-
}
|
|
39
|
-
return null;
|
|
40
|
-
});
|
|
41
|
-
},
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
export async function bundle(graph, outputDir) {
|
|
45
|
-
const entryPoint = findEntryPoint(graph.root.path, graph.root.packageJson);
|
|
46
|
-
const externalDeps = getExternalDependencies(graph);
|
|
47
|
-
const resolverPlugin = createInRepoResolverPlugin(graph.inRepoDeps);
|
|
48
|
-
await fs.mkdir(outputDir, { recursive: true });
|
|
49
|
-
await esbuild.build({
|
|
50
|
-
entryPoints: [entryPoint],
|
|
51
|
-
bundle: true,
|
|
52
|
-
platform: 'node',
|
|
53
|
-
target: 'node20',
|
|
54
|
-
format: 'esm',
|
|
55
|
-
outfile: path.join(outputDir, 'index.js'),
|
|
56
|
-
external: [...externalDeps, ...NODE_BUILTIN_MODULES],
|
|
57
|
-
plugins: [resolverPlugin],
|
|
58
|
-
sourcemap: false,
|
|
59
|
-
minify: false,
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=bundler.js.map
|
package/dist/bundler.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bundler.js","sourceRoot":"","sources":["../src/bundler.ts"],"names":[],"mappings":"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"}
|
package/dist/copy-bundler.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"copy-bundler.d.ts","sourceRoot":"","sources":["../src/copy-bundler.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD,wBAAsB,UAAU,CAAC,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO/G"}
|
package/dist/copy-bundler.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import * as fsPromises from 'node:fs/promises';
|
|
2
|
-
import { buildPackageMap } from './build-package-map.js';
|
|
3
|
-
import { DistCopier } from './dist-copier.js';
|
|
4
|
-
import { ImportRewriter } from './import-rewriter.js';
|
|
5
|
-
export async function copyBundle(graph, monorepoRoot, outputDir) {
|
|
6
|
-
const packageMap = buildPackageMap(graph, monorepoRoot);
|
|
7
|
-
await fsPromises.mkdir(outputDir, { recursive: true });
|
|
8
|
-
const copiedFiles = await new DistCopier(packageMap, outputDir).copy();
|
|
9
|
-
await new ImportRewriter(packageMap, outputDir).rewriteAll(copiedFiles);
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=copy-bundler.js.map
|
package/dist/copy-bundler.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"copy-bundler.js","sourceRoot":"","sources":["../src/copy-bundler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGrD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAsB,EAAE,YAAoB,EAAE,SAAiB;IAC9F,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;IAEvD,MAAM,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEtD,MAAM,WAAW,GAAG,MAAM,IAAI,UAAU,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,CAAA;IACtE,MAAM,IAAI,cAAc,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;AACzE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dependency-graph.d.ts","sourceRoot":"","sources":["../src/dependency-graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,eAAe,EAAE,MAAM,YAAY,CAAA;AAQlE,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA4C5G"}
|
package/dist/dependency-graph.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { readPackageJson, discoverMonorepoPackages, isInRepoDep } from './monorepo.js';
|
|
2
|
-
function getDependencies(packageJson) {
|
|
3
|
-
return packageJson.dependencies ?? {};
|
|
4
|
-
}
|
|
5
|
-
export async function buildDependencyGraph(sourceDir, monorepoRoot) {
|
|
6
|
-
const monorepoPackages = await discoverMonorepoPackages(monorepoRoot);
|
|
7
|
-
const packageToBundleJson = readPackageJson(sourceDir);
|
|
8
|
-
const packageToBundle = {
|
|
9
|
-
name: packageToBundleJson.name,
|
|
10
|
-
path: sourceDir,
|
|
11
|
-
packageJson: packageToBundleJson,
|
|
12
|
-
};
|
|
13
|
-
const inRepoDeps = [];
|
|
14
|
-
const allThirdPartyDeps = {};
|
|
15
|
-
const visited = new Set();
|
|
16
|
-
function collectDeps(pkg) {
|
|
17
|
-
if (visited.has(pkg.name)) {
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
visited.add(pkg.name);
|
|
21
|
-
const deps = getDependencies(pkg.packageJson);
|
|
22
|
-
for (const [depName, depVersion] of Object.entries(deps)) {
|
|
23
|
-
if (isInRepoDep(depName, monorepoPackages)) {
|
|
24
|
-
const depPackage = monorepoPackages.get(depName);
|
|
25
|
-
if (depPackage && !visited.has(depName)) {
|
|
26
|
-
inRepoDeps.push(depPackage);
|
|
27
|
-
collectDeps(depPackage);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
if (!(depName in allThirdPartyDeps)) {
|
|
32
|
-
allThirdPartyDeps[depName] = depVersion;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
collectDeps(packageToBundle);
|
|
38
|
-
return {
|
|
39
|
-
packageToBundle,
|
|
40
|
-
inRepoDeps,
|
|
41
|
-
allThirdPartyDeps,
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=dependency-graph.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dependency-graph.js","sourceRoot":"","sources":["../src/dependency-graph.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAGtF,SAAS,eAAe,CAAC,WAAwB;IAC/C,OAAO,WAAW,CAAC,YAAY,IAAI,EAAE,CAAA;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,SAAiB,EAAE,YAAoB;IAChF,MAAM,gBAAgB,GAAG,MAAM,wBAAwB,CAAC,YAAY,CAAC,CAAA;IACrE,MAAM,mBAAmB,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;IAEtD,MAAM,eAAe,GAAoB;QACvC,IAAI,EAAE,mBAAmB,CAAC,IAAI;QAC9B,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,mBAAmB;KACjC,CAAA;IAED,MAAM,UAAU,GAAsB,EAAE,CAAA;IACxC,MAAM,iBAAiB,GAA2B,EAAE,CAAA;IACpD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IAEjC,SAAS,WAAW,CAAC,GAAoB;QACvC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAM;QACR,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAErB,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAE7C,KAAK,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACzD,IAAI,WAAW,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,CAAC;gBAC3C,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBAChD,IAAI,UAAU,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACxC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;oBAC3B,WAAW,CAAC,UAAU,CAAC,CAAA;gBACzB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,CAAC,OAAO,IAAI,iBAAiB,CAAC,EAAE,CAAC;oBACpC,iBAAiB,CAAC,OAAO,CAAC,GAAG,UAAU,CAAA;gBACzC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,WAAW,CAAC,eAAe,CAAC,CAAA;IAE5B,OAAO;QACL,eAAe;QACf,UAAU;QACV,iBAAiB;KAClB,CAAA;AACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dist-copier.d.ts","sourceRoot":"","sources":["../src/dist-copier.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAOlD,qBAAa,UAAU;IAEnB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,SAAS;gBADT,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,MAAM;IAGrB,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAS/B,OAAO,CAAC,qBAAqB;YAaf,OAAO;CAgBtB"}
|
package/dist/dist-copier.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import * as fsPromises from 'node:fs/promises';
|
|
2
|
-
import * as path from 'node:path';
|
|
3
|
-
export class DistCopier {
|
|
4
|
-
packageMap;
|
|
5
|
-
outputDir;
|
|
6
|
-
constructor(packageMap, outputDir) {
|
|
7
|
-
this.packageMap = packageMap;
|
|
8
|
-
this.outputDir = outputDir;
|
|
9
|
-
}
|
|
10
|
-
async copy() {
|
|
11
|
-
const operations = this.collectCopyOperations();
|
|
12
|
-
const copiedFiles = [];
|
|
13
|
-
for (const op of operations) {
|
|
14
|
-
await this.copyDir(op.source, op.destination, copiedFiles);
|
|
15
|
-
}
|
|
16
|
-
return copiedFiles;
|
|
17
|
-
}
|
|
18
|
-
collectCopyOperations() {
|
|
19
|
-
const operations = [];
|
|
20
|
-
for (const location of this.packageMap.values()) {
|
|
21
|
-
operations.push({
|
|
22
|
-
source: location.sourceDistDir,
|
|
23
|
-
destination: path.join(this.outputDir, location.outputDistDir),
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
return operations;
|
|
27
|
-
}
|
|
28
|
-
async copyDir(src, dest, copiedFiles) {
|
|
29
|
-
await fsPromises.mkdir(dest, { recursive: true });
|
|
30
|
-
const entries = await fsPromises.readdir(src, { withFileTypes: true });
|
|
31
|
-
for (const entry of entries) {
|
|
32
|
-
const srcPath = path.join(src, entry.name);
|
|
33
|
-
const destPath = path.join(dest, entry.name);
|
|
34
|
-
if (entry.isDirectory()) {
|
|
35
|
-
await this.copyDir(srcPath, destPath, copiedFiles);
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
await fsPromises.copyFile(srcPath, destPath);
|
|
39
|
-
copiedFiles.push(destPath);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=dist-copier.js.map
|
package/dist/dist-copier.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dist-copier.js","sourceRoot":"","sources":["../src/dist-copier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAQjC,MAAM,OAAO,UAAU;IAEX;IACA;IAFV,YACU,UAAsB,EACtB,SAAiB;QADjB,eAAU,GAAV,UAAU,CAAY;QACtB,cAAS,GAAT,SAAS,CAAQ;IACxB,CAAC;IAEJ,KAAK,CAAC,IAAI;QACR,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAA;QAC/C,MAAM,WAAW,GAAa,EAAE,CAAA;QAChC,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;QAC5D,CAAC;QACD,OAAO,WAAW,CAAA;IACpB,CAAC;IAEO,qBAAqB;QAC3B,MAAM,UAAU,GAAoB,EAAE,CAAA;QAEtC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YAChD,UAAU,CAAC,IAAI,CAAC;gBACd,MAAM,EAAE,QAAQ,CAAC,aAAa;gBAC9B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC;aAC/D,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,UAAU,CAAA;IACnB,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,IAAY,EAAE,WAAqB;QACpE,MAAM,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACjD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;QAEtE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;YAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;YAE5C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;YACpD,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;gBAC5C,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
|
package/dist/index.test.d.ts
DELETED
package/dist/index.test.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":""}
|