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.
Files changed (102) hide show
  1. package/dist/assemble.d.ts +4 -0
  2. package/dist/assemble.d.ts.map +1 -0
  3. package/dist/assemble.js +21 -0
  4. package/dist/assemble.js.map +1 -0
  5. package/dist/collect-package-locations.d.ts +48 -0
  6. package/dist/collect-package-locations.d.ts.map +1 -0
  7. package/dist/collect-package-locations.js +49 -0
  8. package/dist/collect-package-locations.js.map +1 -0
  9. package/dist/compute-package-closure.d.ts +3 -0
  10. package/dist/compute-package-closure.d.ts.map +1 -0
  11. package/dist/{build-dependency-graph.js → compute-package-closure.js} +8 -7
  12. package/dist/compute-package-closure.js.map +1 -0
  13. package/dist/{dist-copier.d.ts → file-copier.d.ts} +2 -3
  14. package/dist/file-copier.d.ts.map +1 -0
  15. package/dist/file-copier.js +38 -0
  16. package/dist/file-copier.js.map +1 -0
  17. package/dist/get-files-to-pack.d.ts +10 -0
  18. package/dist/get-files-to-pack.d.ts.map +1 -0
  19. package/dist/get-files-to-pack.js +46 -0
  20. package/dist/get-files-to-pack.js.map +1 -0
  21. package/dist/import-rewriter.d.ts.map +1 -1
  22. package/dist/import-rewriter.js +2 -3
  23. package/dist/import-rewriter.js.map +1 -1
  24. package/dist/monocrate-cli.js +2 -2
  25. package/dist/monocrate-cli.js.map +1 -1
  26. package/dist/monocrate.d.ts +9 -9
  27. package/dist/monocrate.d.ts.map +1 -1
  28. package/dist/monocrate.js +14 -64
  29. package/dist/monocrate.js.map +1 -1
  30. package/dist/package-closure.d.ts +14 -0
  31. package/dist/package-closure.d.ts.map +1 -0
  32. package/dist/package-closure.js +2 -0
  33. package/dist/package-closure.js.map +1 -0
  34. package/dist/package-json.d.ts +1 -0
  35. package/dist/package-json.d.ts.map +1 -1
  36. package/dist/package-json.js +1 -0
  37. package/dist/package-json.js.map +1 -1
  38. package/dist/package-map.d.ts +30 -6
  39. package/dist/package-map.d.ts.map +1 -1
  40. package/dist/publish.d.ts +2 -0
  41. package/dist/publish.d.ts.map +1 -0
  42. package/dist/publish.js +8 -0
  43. package/dist/publish.js.map +1 -0
  44. package/dist/resolve-version.d.ts +3 -0
  45. package/dist/resolve-version.d.ts.map +1 -0
  46. package/dist/resolve-version.js +40 -0
  47. package/dist/resolve-version.js.map +1 -0
  48. package/dist/rewrite-package-json.d.ts +3 -0
  49. package/dist/rewrite-package-json.d.ts.map +1 -0
  50. package/dist/rewrite-package-json.js +21 -0
  51. package/dist/rewrite-package-json.js.map +1 -0
  52. package/dist/version-specifier.d.ts +8 -0
  53. package/dist/version-specifier.d.ts.map +1 -0
  54. package/dist/version-specifier.js +17 -0
  55. package/dist/version-specifier.js.map +1 -0
  56. package/package.json +10 -4
  57. package/dist/build-dependency-graph.d.ts +0 -8
  58. package/dist/build-dependency-graph.d.ts.map +0 -1
  59. package/dist/build-dependency-graph.js.map +0 -1
  60. package/dist/build-package-map.d.ts +0 -4
  61. package/dist/build-package-map.d.ts.map +0 -1
  62. package/dist/build-package-map.js +0 -43
  63. package/dist/build-package-map.js.map +0 -1
  64. package/dist/bundle.d.ts +0 -3
  65. package/dist/bundle.d.ts.map +0 -1
  66. package/dist/bundle.js +0 -11
  67. package/dist/bundle.js.map +0 -1
  68. package/dist/bundler.d.ts +0 -3
  69. package/dist/bundler.d.ts.map +0 -1
  70. package/dist/bundler.js +0 -62
  71. package/dist/bundler.js.map +0 -1
  72. package/dist/copy-bundler.d.ts +0 -3
  73. package/dist/copy-bundler.d.ts.map +0 -1
  74. package/dist/copy-bundler.js +0 -11
  75. package/dist/copy-bundler.js.map +0 -1
  76. package/dist/dependency-graph.d.ts +0 -3
  77. package/dist/dependency-graph.d.ts.map +0 -1
  78. package/dist/dependency-graph.js +0 -44
  79. package/dist/dependency-graph.js.map +0 -1
  80. package/dist/dist-copier.d.ts.map +0 -1
  81. package/dist/dist-copier.js +0 -44
  82. package/dist/dist-copier.js.map +0 -1
  83. package/dist/index.test.d.ts +0 -2
  84. package/dist/index.test.d.ts.map +0 -1
  85. package/dist/index.test.js +0 -110
  86. package/dist/index.test.js.map +0 -1
  87. package/dist/monocrate.test.d.ts +0 -2
  88. package/dist/monocrate.test.d.ts.map +0 -1
  89. package/dist/monocrate.test.js +0 -1044
  90. package/dist/monocrate.test.js.map +0 -1
  91. package/dist/package-transformer.d.ts +0 -5
  92. package/dist/package-transformer.d.ts.map +0 -1
  93. package/dist/package-transformer.js +0 -20
  94. package/dist/package-transformer.js.map +0 -1
  95. package/dist/transform-package-json.d.ts +0 -5
  96. package/dist/transform-package-json.d.ts.map +0 -1
  97. package/dist/transform-package-json.js +0 -19
  98. package/dist/transform-package-json.js.map +0 -1
  99. package/dist/types.d.ts +0 -2
  100. package/dist/types.d.ts.map +0 -1
  101. package/dist/types.js +0 -2
  102. package/dist/types.js.map +0 -1
@@ -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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"}
@@ -1,8 +1,32 @@
1
- export type PackageMap = Map<string, {
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
- sourceDistDir: string;
4
- outputDistDir: string;
5
- outputEntryPoint: string;
6
- resolveSubpath(subpath: string): string;
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,MAAM,MAAM,UAAU,GAAG,GAAG,CAC1B,MAAM,EACN;IACE,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,gBAAgB,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;CACxC,CACF,CAAA"}
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,2 @@
1
+ export declare function publish(outputDir: string): void;
2
+ //# sourceMappingURL=publish.d.ts.map
@@ -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"}
@@ -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,3 @@
1
+ import type { VersionSpecifier } from './version-specifier.js';
2
+ export declare function resolveVersion(packageName: string, versionSpecifier: VersionSpecifier): Promise<string>;
3
+ //# sourceMappingURL=resolve-version.d.ts.map
@@ -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,3 @@
1
+ import type { PackageClosure } from './package-closure.js';
2
+ export declare function rewritePackageJson(closure: PackageClosure, version: string | undefined, outputDir: string): void;
3
+ //# sourceMappingURL=rewrite-package-json.d.ts.map
@@ -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.2.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
- "prepare": "husky"
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": "ISC",
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,4 +0,0 @@
1
- import type { PackageMap } from './package-map.js';
2
- import type { DependencyGraph } from './build-dependency-graph.js';
3
- export declare function buildPackageMap(graph: DependencyGraph, monorepoRoot: string): PackageMap;
4
- //# sourceMappingURL=build-package-map.d.ts.map
@@ -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
@@ -1,3 +0,0 @@
1
- import type { DependencyGraph } from './build-dependency-graph.js';
2
- export declare function bundle(graph: DependencyGraph, monorepoRoot: string, outputDir: string): Promise<void>;
3
- //# sourceMappingURL=bundle.d.ts.map
@@ -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
@@ -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
@@ -1,3 +0,0 @@
1
- import type { DependencyGraph } from './types.js';
2
- export declare function bundle(graph: DependencyGraph, outputDir: string): Promise<void>;
3
- //# sourceMappingURL=bundler.d.ts.map
@@ -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
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundler.js","sourceRoot":"","sources":["../src/bundler.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { DependencyGraph } from './types.js';
2
- export declare function copyBundle(graph: DependencyGraph, monorepoRoot: string, outputDir: string): Promise<void>;
3
- //# sourceMappingURL=copy-bundler.d.ts.map
@@ -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"}
@@ -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
@@ -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,3 +0,0 @@
1
- import type { DependencyGraph } from './types.js';
2
- export declare function buildDependencyGraph(sourceDir: string, monorepoRoot: string): Promise<DependencyGraph>;
3
- //# sourceMappingURL=dependency-graph.d.ts.map
@@ -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"}
@@ -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"}
@@ -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
@@ -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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":""}