monocrate 0.2.0 → 0.3.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 (50) hide show
  1. package/dist/assemble.d.ts +3 -0
  2. package/dist/assemble.d.ts.map +1 -0
  3. package/dist/{bundle.js → assemble.js} +2 -2
  4. package/dist/assemble.js.map +1 -0
  5. package/dist/build-dependency-graph.d.ts +1 -1
  6. package/dist/build-dependency-graph.d.ts.map +1 -1
  7. package/dist/build-dependency-graph.js +5 -5
  8. package/dist/build-dependency-graph.js.map +1 -1
  9. package/dist/build-package-map.js +1 -1
  10. package/dist/build-package-map.js.map +1 -1
  11. package/dist/monocrate-cli.js +2 -2
  12. package/dist/monocrate-cli.js.map +1 -1
  13. package/dist/monocrate.d.ts +9 -9
  14. package/dist/monocrate.d.ts.map +1 -1
  15. package/dist/monocrate.js +8 -8
  16. package/dist/monocrate.js.map +1 -1
  17. package/dist/transform-package-json.js +1 -1
  18. package/dist/transform-package-json.js.map +1 -1
  19. package/package.json +9 -4
  20. package/dist/bundle.d.ts +0 -3
  21. package/dist/bundle.d.ts.map +0 -1
  22. package/dist/bundle.js.map +0 -1
  23. package/dist/bundler.d.ts +0 -3
  24. package/dist/bundler.d.ts.map +0 -1
  25. package/dist/bundler.js +0 -62
  26. package/dist/bundler.js.map +0 -1
  27. package/dist/copy-bundler.d.ts +0 -3
  28. package/dist/copy-bundler.d.ts.map +0 -1
  29. package/dist/copy-bundler.js +0 -11
  30. package/dist/copy-bundler.js.map +0 -1
  31. package/dist/dependency-graph.d.ts +0 -3
  32. package/dist/dependency-graph.d.ts.map +0 -1
  33. package/dist/dependency-graph.js +0 -44
  34. package/dist/dependency-graph.js.map +0 -1
  35. package/dist/index.test.d.ts +0 -2
  36. package/dist/index.test.d.ts.map +0 -1
  37. package/dist/index.test.js +0 -110
  38. package/dist/index.test.js.map +0 -1
  39. package/dist/monocrate.test.d.ts +0 -2
  40. package/dist/monocrate.test.d.ts.map +0 -1
  41. package/dist/monocrate.test.js +0 -1044
  42. package/dist/monocrate.test.js.map +0 -1
  43. package/dist/package-transformer.d.ts +0 -5
  44. package/dist/package-transformer.d.ts.map +0 -1
  45. package/dist/package-transformer.js +0 -20
  46. package/dist/package-transformer.js.map +0 -1
  47. package/dist/types.d.ts +0 -2
  48. package/dist/types.d.ts.map +0 -1
  49. package/dist/types.js +0 -2
  50. package/dist/types.js.map +0 -1
@@ -0,0 +1,3 @@
1
+ import type { DependencyGraph } from './build-dependency-graph.js';
2
+ export declare function assemble(graph: DependencyGraph, monorepoRoot: string, outputDir: string): Promise<void>;
3
+ //# sourceMappingURL=assemble.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assemble.d.ts","sourceRoot":"","sources":["../src/assemble.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAElE,wBAAsB,QAAQ,CAAC,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO7G"}
@@ -2,10 +2,10 @@ import * as fsPromises from 'node:fs/promises';
2
2
  import { buildPackageMap } from './build-package-map.js';
3
3
  import { DistCopier } from './dist-copier.js';
4
4
  import { ImportRewriter } from './import-rewriter.js';
5
- export async function bundle(graph, monorepoRoot, outputDir) {
5
+ export async function assemble(graph, monorepoRoot, outputDir) {
6
6
  const packageMap = buildPackageMap(graph, monorepoRoot);
7
7
  await fsPromises.mkdir(outputDir, { recursive: true });
8
8
  const copiedFiles = await new DistCopier(packageMap, outputDir).copy();
9
9
  await new ImportRewriter(packageMap, outputDir).rewriteAll(copiedFiles);
10
10
  }
11
- //# sourceMappingURL=bundle.js.map
11
+ //# sourceMappingURL=assemble.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assemble.js","sourceRoot":"","sources":["../src/assemble.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,QAAQ,CAAC,KAAsB,EAAE,YAAoB,EAAE,SAAiB;IAC5F,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,6 +1,6 @@
1
1
  import type { MonorepoPackage } from './monorepo.js';
2
2
  export interface DependencyGraph {
3
- packageToBundle: MonorepoPackage;
3
+ subjectPackage: MonorepoPackage;
4
4
  inRepoDeps: MonorepoPackage[];
5
5
  allThirdPartyDeps: Partial<Record<string, string>>;
6
6
  }
@@ -1 +1 @@
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
+ {"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,cAAc,EAAE,eAAe,CAAA;IAC/B,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,8 +1,8 @@
1
1
  import { discoverMonorepoPackages } from './monorepo.js';
2
2
  export async function buildDependencyGraph(sourceDir, monorepoRoot) {
3
3
  const allRepoPackages = await discoverMonorepoPackages(monorepoRoot);
4
- const packageToBundle = [...allRepoPackages.values()].find((at) => at.path === sourceDir);
5
- if (!packageToBundle) {
4
+ const subjectPackage = [...allRepoPackages.values()].find((at) => at.path === sourceDir);
5
+ if (!subjectPackage) {
6
6
  throw new Error(`Could not find a monorepo package at ${sourceDir}`);
7
7
  }
8
8
  const allThirdPartyDeps = {};
@@ -28,10 +28,10 @@ export async function buildDependencyGraph(sourceDir, monorepoRoot) {
28
28
  }
29
29
  }
30
30
  }
31
- collectDeps(packageToBundle);
31
+ collectDeps(subjectPackage);
32
32
  return {
33
- packageToBundle,
34
- inRepoDeps: [...visited.values()].filter((at) => at !== packageToBundle),
33
+ subjectPackage,
34
+ inRepoDeps: [...visited.values()].filter((at) => at !== subjectPackage),
35
35
  allThirdPartyDeps,
36
36
  };
37
37
  }
@@ -1 +1 @@
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
+ {"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,cAAc,GAAG,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;IACxF,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,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,cAAc,CAAC,CAAA;IAE3B,OAAO;QACL,cAAc;QACd,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,cAAc,CAAC;QACvE,iBAAiB;KAClB,CAAA;AACH,CAAC"}
@@ -34,7 +34,7 @@ function computeDepOutputPrefix(dep, monorepoRoot) {
34
34
  }
35
35
  export function buildPackageMap(graph, monorepoRoot) {
36
36
  const packageMap = new Map();
37
- registerPackageLocation(packageMap, graph.packageToBundle, '');
37
+ registerPackageLocation(packageMap, graph.subjectPackage, '');
38
38
  for (const dep of graph.inRepoDeps) {
39
39
  registerPackageLocation(packageMap, dep, computeDepOutputPrefix(dep, monorepoRoot));
40
40
  }
@@ -1 +1 @@
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"}
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,cAAc,EAAE,EAAE,CAAC,CAAA;IAE7D,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"}
@@ -3,7 +3,7 @@ import { monocrate } from './monocrate.js';
3
3
  const command = defineCommand({
4
4
  meta: {
5
5
  name: 'monocrate',
6
- description: 'Bundle a monorepo package for npm publishing',
6
+ description: 'Assemble and optionally publish a monorepo package to npm',
7
7
  },
8
8
  args: {
9
9
  source: {
@@ -30,7 +30,7 @@ const command = defineCommand({
30
30
  async run({ args }) {
31
31
  const outputDir = args.output || undefined;
32
32
  const actualOutputDir = await monocrate({
33
- pathToPackageToBundle: args.source,
33
+ pathToSubjectPackage: args.source,
34
34
  ...(outputDir ? { outputDir } : {}),
35
35
  monorepoRoot: args.root,
36
36
  publishToVersion: args.publish,
@@ -1 +1 @@
1
- {"version":3,"file":"monocrate-cli.js","sourceRoot":"","sources":["../src/monocrate-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,OAAO,GAAG,aAAa,CAAC;IAC5B,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,8CAA8C;KAC5D;IACD,IAAI,EAAE;QACJ,MAAM,EAAE;YACN,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,0BAA0B;YACvC,QAAQ,EAAE,IAAI;SACf;QACD,MAAM,EAAE;YACN,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,wEAAwE;YACrF,QAAQ,EAAE,KAAK;SAChB;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,0DAA0D;YACvE,KAAK,EAAE,GAAG;SACX;QACD,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,gFAAgF;YAC7F,KAAK,EAAE,GAAG;SACX;KACF;IACD,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QAChB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,IAAI,SAAS,CAAA;QAC1C,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC;YACtC,qBAAqB,EAAE,IAAI,CAAC,MAAM;YAClC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,YAAY,EAAE,IAAI,CAAC,IAAI;YACvB,gBAAgB,EAAE,IAAI,CAAC,OAAO;YAC9B,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;SACnB,CAAC,CAAA;QAEF,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IAC9B,CAAC;CACF,CAAC,CAAA;AAEF,MAAM,UAAU,YAAY;IAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACxC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"monocrate-cli.js","sourceRoot":"","sources":["../src/monocrate-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,OAAO,GAAG,aAAa,CAAC;IAC5B,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,2DAA2D;KACzE;IACD,IAAI,EAAE;QACJ,MAAM,EAAE;YACN,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,0BAA0B;YACvC,QAAQ,EAAE,IAAI;SACf;QACD,MAAM,EAAE;YACN,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,wEAAwE;YACrF,QAAQ,EAAE,KAAK;SAChB;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,0DAA0D;YACvE,KAAK,EAAE,GAAG;SACX;QACD,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,gFAAgF;YAC7F,KAAK,EAAE,GAAG;SACX;KACF;IACD,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QAChB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,IAAI,SAAS,CAAA;QAC1C,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC;YACtC,oBAAoB,EAAE,IAAI,CAAC,MAAM;YACjC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,YAAY,EAAE,IAAI,CAAC,IAAI;YACvB,gBAAgB,EAAE,IAAI,CAAC,OAAO;YAC9B,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;SACnB,CAAC,CAAA;QAEF,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IAC9B,CAAC;CACF,CAAC,CAAA;AAEF,MAAM,UAAU,YAAY;IAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACxC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -1,11 +1,11 @@
1
1
  export interface MonocrateOptions {
2
2
  /**
3
- * Path to the package directory to bundle.
3
+ * Path to the package directory to assemble.
4
4
  * Can be absolute or relative. Relative paths are resolved from the cwd option.
5
5
  */
6
- pathToPackageToBundle: string;
6
+ pathToSubjectPackage: string;
7
7
  /**
8
- * Path to the output directory where the bundle will be written.
8
+ * Path to the output directory where the assembly will be written.
9
9
  * Can be absolute or relative. Relative paths are resolved from the cwd option.
10
10
  * If not specified, a dedicated temp directory is created under the system temp directory.
11
11
  */
@@ -17,9 +17,9 @@ export interface MonocrateOptions {
17
17
  */
18
18
  monorepoRoot?: string;
19
19
  /**
20
- * Publish the bundle to npm after building.
20
+ * Publish the assembly to npm after building.
21
21
  * Accepts either an explicit semver version (e.g., "1.2.3") or an increment keyword ("patch", "minor", "major").
22
- * When specified, the bundle is published to npm with the resolved version.
22
+ * When specified, the assembly is published to npm with the resolved version.
23
23
  * If not specified, no publishing occurs.
24
24
  */
25
25
  publishToVersion?: string;
@@ -29,10 +29,10 @@ export interface MonocrateOptions {
29
29
  cwd: string;
30
30
  }
31
31
  /**
32
- * Bundles a monorepo package and its in-repo dependencies for npm publishing.
33
- * @param options - Configuration options for the bundling process
34
- * @returns The output directory path where the bundle was created
35
- * @throws Error if bundling or publishing fails
32
+ * Assembles a monorepo package and its in-repo dependencies for npm publishing.
33
+ * @param options - Configuration options for the assembly process
34
+ * @returns The output directory path where the assembly was created
35
+ * @throws Error if assembly or publishing fails
36
36
  */
37
37
  export declare function monocrate(options: MonocrateOptions): Promise<string>;
38
38
  //# sourceMappingURL=monocrate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"monocrate.d.ts","sourceRoot":"","sources":["../src/monocrate.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,qBAAqB,EAAE,MAAM,CAAA;IAC7B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;CACZ;AA2BD;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAkE1E"}
1
+ {"version":3,"file":"monocrate.d.ts","sourceRoot":"","sources":["../src/monocrate.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,oBAAoB,EAAE,MAAM,CAAA;IAC5B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;CACZ;AA2BD;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAkE1E"}
package/dist/monocrate.js CHANGED
@@ -5,7 +5,7 @@ import * as path from 'node:path';
5
5
  import { z } from 'zod';
6
6
  import { findMonorepoRoot } from './monorepo.js';
7
7
  import { buildDependencyGraph } from './build-dependency-graph.js';
8
- import { bundle } from './bundle.js';
8
+ import { assemble } from './assemble.js';
9
9
  import { transformPackageJson, writePackageJson } from './transform-package-json.js';
10
10
  const explicitVersionRegex = /^\d+\.\d+\.\d+$/;
11
11
  const VersionSpecifier = z.union([
@@ -27,10 +27,10 @@ function getCurrentPublishedVersion(packageName) {
27
27
  return result.stdout.trim();
28
28
  }
29
29
  /**
30
- * Bundles a monorepo package and its in-repo dependencies for npm publishing.
31
- * @param options - Configuration options for the bundling process
32
- * @returns The output directory path where the bundle was created
33
- * @throws Error if bundling or publishing fails
30
+ * Assembles a monorepo package and its in-repo dependencies for npm publishing.
31
+ * @param options - Configuration options for the assembly process
32
+ * @returns The output directory path where the assembly was created
33
+ * @throws Error if assembly or publishing fails
34
34
  */
35
35
  export async function monocrate(options) {
36
36
  // Resolve and validate cwd first, then use it to resolve all other paths
@@ -42,7 +42,7 @@ export async function monocrate(options) {
42
42
  if (!cwdExists) {
43
43
  throw new Error(`cwd does not exist: ${cwd}`);
44
44
  }
45
- const sourceDir = path.resolve(cwd, options.pathToPackageToBundle);
45
+ const sourceDir = path.resolve(cwd, options.pathToSubjectPackage);
46
46
  const monorepoRoot = options.monorepoRoot ? path.resolve(cwd, options.monorepoRoot) : findMonorepoRoot(sourceDir);
47
47
  // Validate publish argument before any side effects
48
48
  let versionSpecifier;
@@ -57,14 +57,14 @@ export async function monocrate(options) {
57
57
  ? path.resolve(cwd, options.outputDir)
58
58
  : await fs.mkdtemp(path.join(os.tmpdir(), 'monocrate-'));
59
59
  const graph = await buildDependencyGraph(sourceDir, monorepoRoot);
60
- await bundle(graph, monorepoRoot, outputDir);
60
+ await assemble(graph, monorepoRoot, outputDir);
61
61
  const packageJson = transformPackageJson(graph);
62
62
  if (!versionSpecifier) {
63
63
  await writePackageJson(packageJson, outputDir);
64
64
  return outputDir;
65
65
  }
66
66
  // Publishing flow
67
- const packageName = graph.packageToBundle.packageJson.name;
67
+ const packageName = graph.subjectPackage.packageJson.name;
68
68
  if (isExplicitVersion(versionSpecifier)) {
69
69
  await writePackageJson({ ...packageJson, version: versionSpecifier }, outputDir);
70
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"monocrate.js","sourceRoot":"","sources":["../src/monocrate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"monocrate.js","sourceRoot":"","sources":["../src/monocrate.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import * as fs from 'node:fs/promises';
2
2
  import * as path from 'node:path';
3
3
  export function transformPackageJson(graph) {
4
- const source = graph.packageToBundle.packageJson;
4
+ const source = graph.subjectPackage.packageJson;
5
5
  const { dependencies: _1, devDependencies: _2, ...rest } = source;
6
6
  const transformed = {
7
7
  ...rest,
@@ -1 +1 @@
1
- {"version":3,"file":"transform-package-json.js","sourceRoot":"","sources":["../src/transform-package-json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAIjC,MAAM,UAAU,oBAAoB,CAAC,KAAsB;IACzD,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC,WAAW,CAAA;IAEhD,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;IAEjE,MAAM,WAAW,GAAgB;QAC/B,GAAG,IAAI;KACR,CAAA;IAED,2EAA2E;IAC3E,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC,iBAAiB,CAAA;IACpD,CAAC;IAED,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,WAAwB,EAAE,SAAiB;IAChF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;IACvD,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;AAC7E,CAAC"}
1
+ {"version":3,"file":"transform-package-json.js","sourceRoot":"","sources":["../src/transform-package-json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAIjC,MAAM,UAAU,oBAAoB,CAAC,KAAsB;IACzD,MAAM,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAA;IAE/C,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;IAEjE,MAAM,WAAW,GAAgB;QAC/B,GAAG,IAAI;KACR,CAAA;IAED,2EAA2E;IAC3E,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC,iBAAiB,CAAA;IACpD,CAAC;IAED,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,WAAwB,EAAE,SAAiB;IAChF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;IACvD,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;AAC7E,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "monocrate",
3
- "version": "0.2.0",
3
+ "version": "0.3.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",
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"}
@@ -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":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,MAAM,MAAM,SAAS,CAAA;AACjC,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAElC,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAE/D,MAAM,oBAAoB,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;AAEnF,SAAS,cAAc,CAAC,UAAkB,EAAE,WAAoC;IAC9E,MAAM,eAAe,GAAG;QACtB,WAAW,CAAC,MAAM;QAClB,WAAW,CAAC,IAAI;QAChB,cAAc;QACd,cAAc;QACd,UAAU;QACV,UAAU;KACX,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAA;IAEnD,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QAChD,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,OAAO,QAAQ,CAAA;QACjB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,iCAAiC,UAAU,EAAE,CAAC,CAAA;AAChE,CAAC;AAED,SAAS,0BAA0B,CAAC,UAA6B;IAC/D,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC5C,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,CAAA;QAC5D,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IACtC,CAAC;IAED,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,KAAK,CAAC,KAAK;YACT,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzC,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC1C,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;gBAC3B,CAAC;gBACD,OAAO,IAAI,CAAA;YACb,CAAC,CAAC,CAAA;QACJ,CAAC;KACF,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,KAAsB,EAAE,SAAiB;IACpE,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC1E,MAAM,YAAY,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAA;IACnD,MAAM,cAAc,GAAG,0BAA0B,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IAEnE,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAE9C,MAAM,OAAO,CAAC,KAAK,CAAC;QAClB,WAAW,EAAE,CAAC,UAAU,CAAC;QACzB,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;QACzC,QAAQ,EAAE,CAAC,GAAG,YAAY,EAAE,GAAG,oBAAoB,CAAC;QACpD,OAAO,EAAE,CAAC,cAAc,CAAC;QACzB,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,KAAK;KACd,CAAC,CAAA;AACJ,CAAC"}
@@ -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,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":""}
@@ -1,110 +0,0 @@
1
- import * as fs from 'node:fs';
2
- import * as os from 'node:os';
3
- import * as path from 'node:path';
4
- import { describe, it, expect } from 'vitest';
5
- import { monocrate } from './index.js';
6
- function folderify(recipe) {
7
- const ret = fs.mkdtempSync(path.join(os.tmpdir(), 'monocrate-test-'));
8
- const keys = Object.keys(recipe).map((p) => path.normalize(p));
9
- const set = new Set(keys);
10
- for (const key of keys) {
11
- if (key === '.') {
12
- throw new Error(`bad input - the recipe contains a file name which is either empty ('') or a dot ('.')`);
13
- }
14
- for (let curr = path.dirname(key); curr !== '.'; curr = path.dirname(curr)) {
15
- if (set.has(curr)) {
16
- throw new Error(`bad input - a file (${key}) is nested under another file (${curr})`);
17
- }
18
- }
19
- }
20
- for (const [relativePath, content] of Object.entries(recipe)) {
21
- const file = path.join(ret, relativePath);
22
- const dir = path.dirname(file);
23
- fs.mkdirSync(dir, { recursive: true });
24
- if (typeof content === 'string') {
25
- fs.writeFileSync(file, content);
26
- }
27
- else {
28
- fs.writeFileSync(file, JSON.stringify(content, null, 2));
29
- }
30
- }
31
- return ret;
32
- }
33
- function unfolderify(dir) {
34
- const result = {};
35
- function walk(currentDir, prefix) {
36
- const entries = fs.readdirSync(currentDir, { withFileTypes: true });
37
- for (const entry of entries) {
38
- const relativePath = prefix ? `${prefix}/${entry.name}` : entry.name;
39
- const fullPath = path.join(currentDir, entry.name);
40
- if (entry.isDirectory()) {
41
- walk(fullPath, relativePath);
42
- }
43
- else {
44
- const content = fs.readFileSync(fullPath, 'utf-8');
45
- try {
46
- result[relativePath] = JSON.parse(content);
47
- }
48
- catch {
49
- result[relativePath] = content;
50
- }
51
- }
52
- }
53
- }
54
- walk(dir, '');
55
- return result;
56
- }
57
- describe('monocrate e2e', () => {
58
- it('bundles a simple package with an in-repo dependency', async () => {
59
- const monorepoRoot = folderify({
60
- 'package.json': { workspaces: ['packages/*'] },
61
- 'packages/app/package.json': {
62
- name: '@test/app',
63
- version: '1.0.0',
64
- dependencies: {
65
- '@test/lib': 'workspace:*',
66
- chalk: '^5.0.0',
67
- },
68
- },
69
- 'packages/app/src/index.ts': `
70
- import { greet } from '@test/lib';
71
- export function main() {
72
- return greet('World');
73
- }
74
- `,
75
- 'packages/lib/package.json': {
76
- name: '@test/lib',
77
- version: '1.0.0',
78
- dependencies: {
79
- lodash: '^4.17.21',
80
- },
81
- },
82
- 'packages/lib/src/index.ts': `
83
- export function greet(name: string): string {
84
- return 'Hello, ' + name + '!';
85
- }
86
- `,
87
- });
88
- const outputDir = fs.mkdtempSync(path.join(os.tmpdir(), 'monocrate-output-'));
89
- const result = await monocrate({
90
- sourceDir: path.join(monorepoRoot, 'packages/app'),
91
- outputDir,
92
- monorepoRoot,
93
- });
94
- expect(result.success).toBe(true);
95
- const output = unfolderify(outputDir);
96
- expect(output['package.json']).toEqual({
97
- name: '@test/app',
98
- version: '1.0.0',
99
- main: 'index.js',
100
- dependencies: {
101
- chalk: '^5.0.0',
102
- lodash: '^4.17.21',
103
- },
104
- });
105
- expect(output['index.js']).toContain('Hello,');
106
- expect(output['index.js']).toContain('greet');
107
- expect(output['index.js']).not.toContain('@test/lib');
108
- });
109
- });
110
- //# sourceMappingURL=index.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=monocrate.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"monocrate.test.d.ts","sourceRoot":"","sources":["../src/monocrate.test.ts"],"names":[],"mappings":""}