monocrate 0.13.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +57 -81
- package/dist/src/collect-package-locations.d.ts +1 -3
- package/dist/src/collect-package-locations.d.ts.map +1 -1
- package/dist/src/collect-package-locations.js +2 -4
- package/dist/src/collect-package-locations.js.map +1 -1
- package/dist/src/compute-package-closure.d.ts.map +1 -1
- package/dist/src/compute-package-closure.js +17 -4
- package/dist/src/compute-package-closure.js.map +1 -1
- package/dist/src/monocrate-options.d.ts +8 -0
- package/dist/src/monocrate-options.d.ts.map +1 -1
- package/dist/src/monocrate.d.ts.map +1 -1
- package/dist/src/monocrate.js +6 -2
- package/dist/src/monocrate.js.map +1 -1
- package/dist/src/npm-client.d.ts.map +1 -1
- package/dist/src/npm-client.js +1 -1
- package/dist/src/npm-client.js.map +1 -1
- package/dist/src/package-assembler.d.ts +2 -1
- package/dist/src/package-assembler.d.ts.map +1 -1
- package/dist/src/package-assembler.js +5 -3
- package/dist/src/package-assembler.js.map +1 -1
- package/dist/src/rewrite-package-json.d.ts +1 -1
- package/dist/src/rewrite-package-json.d.ts.map +1 -1
- package/dist/src/rewrite-package-json.js +3 -4
- package/dist/src/rewrite-package-json.js.map +1 -1
- package/package.json +12 -8
package/README.md
CHANGED
|
@@ -18,34 +18,36 @@ Now you want to publish it.
|
|
|
18
18
|
|
|
19
19
|
## The Solution
|
|
20
20
|
|
|
21
|
-
[monocrate](https://www.npmjs.com/package/monocrate) is a publishing CLI that gets
|
|
22
|
-
publishable directory containing everything needed from your package and its in-repo dependencies.
|
|
23
|
-
produces a standard npm package that looks like you hand-crafted it for publication.
|
|
21
|
+
[monocrate](https://www.npmjs.com/package/monocrate) is a publishing CLI that gets monorepos. It produces a single
|
|
22
|
+
publishable directory containing everything needed from your package and its in-repo dependencies.
|
|
24
23
|
|
|
25
|
-
- 📦 Consumers get
|
|
24
|
+
- 📦 Consumers get a single package with exactly what they need
|
|
26
25
|
- 🔒 Internal packages remain unpublished
|
|
27
26
|
- ✅ Tree-shaking, sourcemaps, and types all work
|
|
28
27
|
|
|
28
|
+
The result: a standard npm package that looks like you had hand-crafted it for publishing.
|
|
29
|
+
|
|
29
30
|
### Quickstart
|
|
30
31
|
|
|
32
|
+
> **⚠️ ESM only** — monocrate only supports ES modules. If your monorepo uses CommonJS, you need to
|
|
33
|
+
[migrate to ESM](https://nodejs.org/api/esm.html) first.
|
|
34
|
+
|
|
31
35
|
```bash
|
|
32
36
|
# Install
|
|
33
37
|
pnpm add --save-dev monocrate
|
|
34
|
-
#
|
|
35
|
-
#
|
|
38
|
+
# Or: yarn add --dev monocrate
|
|
39
|
+
# Or: npm install --save-dev monocrate
|
|
36
40
|
|
|
37
|
-
# Build (monocrate publishes
|
|
41
|
+
# Build first (monocrate publishes; it doesn't build)
|
|
38
42
|
npm run build
|
|
39
43
|
|
|
40
44
|
# Publish
|
|
41
45
|
npx monocrate packages/my-awesome-package --bump patch
|
|
42
46
|
|
|
43
|
-
# Or use --dry-run to do everything short of publishing
|
|
47
|
+
# Or: use --dry-run to do everything short of publishing
|
|
44
48
|
npx monocrate packages/my-awesome-package --dry-run --output-dir /tmp/inspect --bump patch
|
|
45
49
|
```
|
|
46
50
|
|
|
47
|
-
> **⚠️ ESM only** — monocrate requires ES modules and rejects CommonJS packages. If your monorepo uses CommonJS, consider [migrating to ESM](https://nodejs.org/api/esm.html) so that you can use monocrate.
|
|
48
|
-
|
|
49
51
|
### What Gets Published
|
|
50
52
|
|
|
51
53
|
Given this monorepo structure:
|
|
@@ -66,53 +68,62 @@ Running `npx monocrate packages/my-awesome-package` produces:
|
|
|
66
68
|
```
|
|
67
69
|
/tmp/monocrate-xxxxxx/
|
|
68
70
|
└── packages/
|
|
69
|
-
└── my-awesome-package/ # preserves the package's path
|
|
71
|
+
└── my-awesome-package/ # preserves the package's original path
|
|
70
72
|
├── package.json # name: "@acme/my-awesome-package", version: "1.3.0" (the new resolved version)
|
|
71
73
|
├── dist/
|
|
72
74
|
│ └── index.js # rewritten:
|
|
73
75
|
│ # import ... from '../deps/__acme__internal-utils/dist/index.js'
|
|
74
76
|
└── deps/
|
|
75
|
-
└── __acme__internal-utils/ # mangled package name, exact notation may vary.
|
|
77
|
+
└── __acme__internal-utils/ # mangled package name, the exact notation may vary.
|
|
76
78
|
└── dist/
|
|
77
79
|
└── index.js
|
|
78
80
|
```
|
|
79
81
|
|
|
80
|
-
The `deps/` directory is where
|
|
81
|
-
|
|
82
|
+
The `deps/` directory is where in-repo dependencies are embedded. Each dependency is placed under a mangled form of
|
|
83
|
+
its package name, avoiding collisions regardless of where packages live in the monorepo.
|
|
82
84
|
|
|
83
|
-
|
|
85
|
+
> **Note:** The actual directory name includes a randomized suffix (e.g., `deps-a1b2c3d4/`) to prevent conflicts with
|
|
86
|
+
existing directories in your package.
|
|
84
87
|
|
|
85
|
-
|
|
86
|
-
according to your `--bump` flag (`patch`, `minor`, `major`). Your source `package.json` is never modified.
|
|
88
|
+
For details on how `monocrate` assembles packages, see [The Assembly Process](docs/assembly-process.md).
|
|
87
89
|
|
|
88
|
-
|
|
89
|
-
truth, and `monocrate` computes the next version at publish time. Of course, if an exact version is specified
|
|
90
|
-
(`--bump 1.7.9`) it is used as-is.
|
|
90
|
+
### Supported Scope
|
|
91
91
|
|
|
92
|
-
|
|
93
|
-
|
|
92
|
+
⚠️ Important:
|
|
93
|
+
- **ESM only** — CommonJS `require()` calls are not rewritten, which will cause runtime failures for consumers. Only use monocrate on ESM-compliant monorepos.
|
|
94
|
+
- **peerDependencies and optionalDependencies** — preserved in the output `package.json`, not embedded. It's your responsibility to ensure these are published and available to consumers.
|
|
94
95
|
|
|
95
|
-
|
|
96
|
-
|
|
96
|
+
`monocrate` validates (and rejects with a clear error):
|
|
97
|
+
- **Dynamic imports must use string literals** — `await import('@pkg/lib')` works; `await import(variable)` does not.
|
|
98
|
+
- **Consistent third-party versions** — two in-repo packages cannot require different versions of the same dependency.
|
|
99
|
+
- **Symlinks must stay within the monorepo** — packages symlinked from outside the monorepo root are not supported.
|
|
97
100
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
101
|
+
### Version Resolution
|
|
102
|
+
|
|
103
|
+
The `--bump` flag determines the published version. There are three approaches:
|
|
104
|
+
|
|
105
|
+
| `--bump` value | Source of truth | Example result |
|
|
106
|
+
|----------------|-----------------|----------------|
|
|
107
|
+
| `patch`/`minor`/`major` | npm registry | 1.2.3 → 1.2.4 |
|
|
108
|
+
| `1.8.9` | CLI argument | 1.8.9 |
|
|
109
|
+
| `package` | package.json | (whatever's in the file) |
|
|
110
|
+
|
|
111
|
+
When publishing multiple packages, see [Multiple Packages](#multiple-packages) for unified versioning with `--max`.
|
|
102
112
|
|
|
103
|
-
|
|
113
|
+
In all cases, your source `package.json` is never modified—the resolved version only appears in the assembled output.
|
|
104
114
|
|
|
105
115
|
```bash
|
|
106
|
-
#
|
|
107
|
-
npx monocrate packages/my-awesome-package
|
|
108
|
-
npx monocrate packages/my-awesome-package
|
|
116
|
+
# Registry-based: query npm, bump from latest (default is minor)
|
|
117
|
+
npx monocrate packages/my-awesome-package # bumps minor
|
|
118
|
+
npx monocrate packages/my-awesome-package --bump patch
|
|
109
119
|
|
|
110
|
-
# Explicit version
|
|
120
|
+
# Explicit: use exact version
|
|
111
121
|
npx monocrate packages/my-awesome-package --bump 2.3.0
|
|
112
122
|
|
|
113
|
-
# Package
|
|
114
|
-
cd /
|
|
115
|
-
|
|
123
|
+
# Package-based: read from package.json
|
|
124
|
+
cd packages/my-awesome-package
|
|
125
|
+
npm version minor --no-git-tag-version
|
|
126
|
+
npx monocrate . --bump package
|
|
116
127
|
```
|
|
117
128
|
|
|
118
129
|
## Programmatic API
|
|
@@ -173,7 +184,7 @@ If you have several public packages in your monorepo, publish them in one go by
|
|
|
173
184
|
npx monocrate packages/lib-a packages/lib-b --bump patch
|
|
174
185
|
```
|
|
175
186
|
|
|
176
|
-
By default, each package will be published
|
|
187
|
+
By default, each package will be published with its own version (individual versioning). If `lib-a` is at `1.0.0` and `lib-b`
|
|
177
188
|
is at `2.0.0`, a patch bump publishes them at `1.0.1` and `2.0.1` respectively.
|
|
178
189
|
|
|
179
190
|
You can also publish all specified packages at the same version (unified versioning, à la AWS SDK v3), by using the
|
|
@@ -184,43 +195,23 @@ You can also publish all specified packages at the same version (unified version
|
|
|
184
195
|
npx monocrate packages/lib-a packages/lib-b --bump patch --max
|
|
185
196
|
```
|
|
186
197
|
|
|
187
|
-
This is purely a stylistic choice;
|
|
188
|
-
|
|
189
|
-
## Scope
|
|
190
|
-
|
|
191
|
-
monocrate makes a few deliberate choices:
|
|
192
|
-
|
|
193
|
-
- **Runtime dependencies only** — Only `dependencies` are traversed and embedded. `devDependencies` are ignored since
|
|
194
|
-
consumers don't need your build tools.
|
|
195
|
-
- **Version conflicts fail early** — If two in-repo packages require different versions of the same third-party
|
|
196
|
-
dependency, monocrate stops with a clear error rather than silently picking one.
|
|
197
|
-
- **File selection via `npm pack`** — Your `files` field in package.json is the source of truth for what gets published.
|
|
198
|
-
monocrate doesn't introduce its own file configuration.
|
|
199
|
-
- **Validates before heavy work** — npm login and other prerequisites are checked upfront, before any file copying
|
|
200
|
-
begins.
|
|
201
|
-
|
|
202
|
-
A few constraints to be aware of:
|
|
198
|
+
This is purely a stylistic choice; it doesn't affect correctness since in-repo dependencies are always embedded.
|
|
203
199
|
|
|
204
|
-
|
|
205
|
-
- **Prerelease versions require explicit `--bump`** — `--bump package` expects strict semver (`X.Y.Z`). For prereleases, pass the version explicitly: `--bump 1.0.0-beta.1`.
|
|
206
|
-
- **peerDependencies are preserved, not embedded** — As with any package publishing tool, you're responsible for ensuring peer dependencies (in-repo or not) are published and available to consumers.
|
|
207
|
-
- **optionalDependencies are preserved, not embedded** — If you list an in-repo package as optional, you're responsible for publishing it separately.
|
|
208
|
-
- **Symlinks must stay within monorepo** — Packages symlinked from outside the monorepo root are rejected.
|
|
209
|
-
- **Undeclared in-repo imports fail** — If your code imports an in-repo package not listed in `dependencies`, monocrate catches this and fails with a clear error.
|
|
200
|
+
## Reference
|
|
210
201
|
|
|
211
|
-
|
|
202
|
+
### CLI
|
|
212
203
|
|
|
213
204
|
```
|
|
214
205
|
monocrate <packages...> [options]
|
|
215
206
|
```
|
|
216
207
|
|
|
217
|
-
|
|
208
|
+
**Arguments**
|
|
218
209
|
|
|
219
210
|
| Argument | Description |
|
|
220
211
|
|----------|-------------|
|
|
221
212
|
| `packages` | One or more package directories to publish (required) |
|
|
222
213
|
|
|
223
|
-
|
|
214
|
+
**Options**
|
|
224
215
|
|
|
225
216
|
| Option | Alias | Type | Default | Description |
|
|
226
217
|
|--------|-------|------|---------|-------------|
|
|
@@ -235,13 +226,13 @@ monocrate <packages...> [options]
|
|
|
235
226
|
| `--version` | | | | Show version number |
|
|
236
227
|
|
|
237
228
|
|
|
238
|
-
|
|
229
|
+
### API
|
|
239
230
|
|
|
240
|
-
|
|
231
|
+
**`monocrate(options): Promise<MonocrateResult>`**
|
|
241
232
|
|
|
242
233
|
Assembles one or more monorepo packages and their in-repo dependencies, and optionally publishes to npm.
|
|
243
234
|
|
|
244
|
-
|
|
235
|
+
**`MonocrateOptions`**
|
|
245
236
|
|
|
246
237
|
| Property | Type | Required | Default | Description |
|
|
247
238
|
|----------|------|----------|---------|-------------|
|
|
@@ -255,25 +246,10 @@ Assembles one or more monorepo packages and their in-repo dependencies, and opti
|
|
|
255
246
|
| `mirrorTo` | `string` | No | — | Mirror source files to this directory. |
|
|
256
247
|
| `npmrcPath` | `string` | No | — | Path to `.npmrc` file for npm authentication. |
|
|
257
248
|
|
|
258
|
-
|
|
249
|
+
**`MonocrateResult`**
|
|
259
250
|
|
|
260
251
|
| Property | Type | Description |
|
|
261
252
|
|----------|------|-------------|
|
|
262
253
|
| `outputDir` | `string` | Directory where the first package was assembled. |
|
|
263
254
|
| `resolvedVersion` | `string \| undefined` | The unified resolved version (only set when `max: true`). |
|
|
264
255
|
| `summaries` | `Array<{ packageName: string; outputDir: string; version: string }>` | Details for each assembled package, including its version. |
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
## The Assembly Process
|
|
268
|
-
|
|
269
|
-
Here's a conceptual breakdown of the steps that happen at a typical `monocrate` run:
|
|
270
|
-
|
|
271
|
-
0. **Setup**: Creates a dedicated output directory
|
|
272
|
-
1. **Version Resolution**: Computes the new version (see [above](#version-resolution))
|
|
273
|
-
2. **Dependency Discovery**: Traverses the dependency graph to find all in-repo packages the package depends on, transitively
|
|
274
|
-
3. **File Embedding**: Copies the publishable files (per `npm pack`) of each in-repo dependency into the output directory
|
|
275
|
-
4. **Entry Point Resolution**: Examines each package's entry points (respecting `exports` and `main` fields) to compute
|
|
276
|
-
the exact file locations that import statements will resolve to
|
|
277
|
-
5. **Import Rewriting**: Scans the `.js` and `.d.ts` files, converting imports of workspace packages to relative path
|
|
278
|
-
imports (`@acme/internal-utils` becomes `../deps/__acme__internal-utils/dist/index.js`)
|
|
279
|
-
6. **Package.json Rewrite**: Sets the resolved version, removes in-repo deps, and adds any third-party deps they brought in
|
|
@@ -3,12 +3,10 @@ import type { PackageClosure } from './package-closure.js';
|
|
|
3
3
|
import { AbsolutePath } from './paths.js';
|
|
4
4
|
import type { PackageJson } from './package-json.js';
|
|
5
5
|
import type { NpmClient } from './npm-client.js';
|
|
6
|
-
/** Directory name where in-repo dependencies are placed in the output. */
|
|
7
|
-
export declare const DEPS_DIR = "deps";
|
|
8
6
|
/**
|
|
9
7
|
* Resolves an import specifier to a package-relative path using Node.js resolution semantics.
|
|
10
8
|
* Handles both bare imports (subpath='') and subpath imports (subpath='utils/helper').
|
|
11
9
|
*/
|
|
12
10
|
export declare function resolveImport(packageJson: PackageJson, subpath: string): string;
|
|
13
|
-
export declare function collectPackageLocations(npmClient: NpmClient, closure: PackageClosure, outputDir: AbsolutePath): Promise<PackageLocation[]>;
|
|
11
|
+
export declare function collectPackageLocations(npmClient: NpmClient, closure: PackageClosure, outputDir: AbsolutePath, depsDir: string): Promise<PackageLocation[]>;
|
|
14
12
|
//# sourceMappingURL=collect-package-locations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collect-package-locations.d.ts","sourceRoot":"","sources":["../../src/collect-package-locations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAG1D,OAAO,EAAE,YAAY,EAAgB,MAAM,YAAY,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAGhD
|
|
1
|
+
{"version":3,"file":"collect-package-locations.d.ts","sourceRoot":"","sources":["../../src/collect-package-locations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAG1D,OAAO,EAAE,YAAY,EAAgB,MAAM,YAAY,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAGhD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAwB/E;AAwBD,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,EAAE,CAAC,CAa5B"}
|
|
@@ -3,8 +3,6 @@ import * as ResolveExports from 'resolve.exports';
|
|
|
3
3
|
import { getFilesToPack } from './get-files-to-pack.js';
|
|
4
4
|
import { AbsolutePath, RelativePath } from './paths.js';
|
|
5
5
|
import { manglePackageName } from './name-mangler.js';
|
|
6
|
-
/** Directory name where in-repo dependencies are placed in the output. */
|
|
7
|
-
export const DEPS_DIR = 'deps';
|
|
8
6
|
/**
|
|
9
7
|
* Resolves an import specifier to a package-relative path using Node.js resolution semantics.
|
|
10
8
|
* Handles both bare imports (subpath='') and subpath imports (subpath='utils/helper').
|
|
@@ -47,10 +45,10 @@ async function createPackageLocation(npmClient, pkg, directoryInOutput) {
|
|
|
47
45
|
packageJson: pkg.packageJson,
|
|
48
46
|
};
|
|
49
47
|
}
|
|
50
|
-
export async function collectPackageLocations(npmClient, closure, outputDir) {
|
|
48
|
+
export async function collectPackageLocations(npmClient, closure, outputDir, depsDir) {
|
|
51
49
|
// TODO(imaman): use promises()
|
|
52
50
|
return Promise.all(closure.runtimeMembers.map((dep) => createPackageLocation(npmClient, dep, dep.name === closure.subjectPackageName
|
|
53
51
|
? outputDir
|
|
54
|
-
: AbsolutePath.join(outputDir, RelativePath(
|
|
52
|
+
: AbsolutePath.join(outputDir, RelativePath(depsDir), RelativePath(manglePackageName(dep.name))))));
|
|
55
53
|
}
|
|
56
54
|
//# sourceMappingURL=collect-package-locations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collect-package-locations.js","sourceRoot":"","sources":["../../src/collect-package-locations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,KAAK,cAAc,MAAM,iBAAiB,CAAA;AAIjD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAGvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErD
|
|
1
|
+
{"version":3,"file":"collect-package-locations.js","sourceRoot":"","sources":["../../src/collect-package-locations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,KAAK,cAAc,MAAM,iBAAiB,CAAA;AAIjD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAGvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErD;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,WAAwB,EAAE,OAAe;IACrE,MAAM,KAAK,GAAG,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAA;IAEnD,0FAA0F;IAC1F,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;IAC3D,IAAI,QAAQ,EAAE,CAAC;QACb,gGAAgG;QAChG,kGAAkG;QAClG,qEAAqE;QACrE,iEAAiE;QACjE,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;QACrE,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,mDAAmD;YACnD,OAAO,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAA;QAC7E,CAAC;IACH,CAAC;IAED,uDAAuD;IACvD,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QACnB,oGAAoG;QACpG,OAAO,WAAW,CAAC,IAAI,IAAI,UAAU,CAAA;IACvC,CAAC;IACD,qGAAqG;IACrG,OAAO,GAAG,OAAO,KAAK,CAAA;AACxB,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,SAAoB,EACpB,GAAoB,EACpB,iBAA+B;IAE/B,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IAEhE,iFAAiF;IACjF,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAA;IACxE,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC5B,CAAC;IAED,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,KAAK,EAAE,iBAAiB;QACxB,WAAW;QACX,WAAW,EAAE,GAAG,CAAC,WAAW;KAC7B,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,SAAoB,EACpB,OAAuB,EACvB,SAAuB,EACvB,OAAe;IAEf,+BAA+B;IAC/B,OAAO,OAAO,CAAC,GAAG,CAChB,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACjC,qBAAqB,CACnB,SAAS,EACT,GAAG,EACH,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,kBAAkB;QACrC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CACnG,CACF,CACF,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compute-package-closure.d.ts","sourceRoot":"","sources":["../../src/compute-package-closure.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"compute-package-closure.d.ts","sourceRoot":"","sources":["../../src/compute-package-closure.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAwC1D,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,cAAc,CA2EjG"}
|
|
@@ -17,18 +17,30 @@ function formatConflictError(conflicts) {
|
|
|
17
17
|
}
|
|
18
18
|
return lines.join('\n');
|
|
19
19
|
}
|
|
20
|
+
function formatCycleError(path, cycleTo) {
|
|
21
|
+
const pathArray = [...path];
|
|
22
|
+
const cycleStartIndex = pathArray.indexOf(cycleTo);
|
|
23
|
+
const cycleOnly = pathArray.slice(cycleStartIndex);
|
|
24
|
+
const cyclePath = [...cycleOnly, cycleTo].join(' → ');
|
|
25
|
+
return `Circular dependency detected:\n ${cyclePath}\n\nMonocrate cannot assemble packages with circular dependencies.`;
|
|
26
|
+
}
|
|
20
27
|
export function computePackageClosure(pkgName, repoExplorer) {
|
|
21
28
|
const subjectPackage = repoExplorer.getPackage(pkgName);
|
|
22
|
-
function traverse(root, includeDevDeps, thirdPartyVersions) {
|
|
29
|
+
function traverse(root, includeDevDeps, detectCycles, thirdPartyVersions) {
|
|
23
30
|
const visited = new Map();
|
|
31
|
+
const path = new Set();
|
|
24
32
|
function visit(pkg) {
|
|
33
|
+
if (detectCycles && path.has(pkg.name)) {
|
|
34
|
+
throw new Error(formatCycleError(path, pkg.name));
|
|
35
|
+
}
|
|
25
36
|
if (visited.has(pkg.name)) {
|
|
26
37
|
return;
|
|
27
38
|
}
|
|
39
|
+
path.add(pkg.name);
|
|
28
40
|
visited.set(pkg.name, pkg);
|
|
29
41
|
const deps = includeDevDeps
|
|
30
42
|
? { ...pkg.packageJson.dependencies, ...pkg.packageJson.devDependencies }
|
|
31
|
-
: pkg.packageJson.dependencies ?? {};
|
|
43
|
+
: (pkg.packageJson.dependencies ?? {});
|
|
32
44
|
for (const [depName, depVersion] of Object.entries(deps)) {
|
|
33
45
|
const depPackage = repoExplorer.lookupPackage(depName);
|
|
34
46
|
if (depPackage) {
|
|
@@ -43,12 +55,13 @@ export function computePackageClosure(pkgName, repoExplorer) {
|
|
|
43
55
|
thirdPartyVersions.set(depName, existing);
|
|
44
56
|
}
|
|
45
57
|
}
|
|
58
|
+
path.delete(pkg.name);
|
|
46
59
|
}
|
|
47
60
|
visit(root);
|
|
48
61
|
return visited;
|
|
49
62
|
}
|
|
50
63
|
const thirdPartyVersions = new Map();
|
|
51
|
-
const runtimeVisited = traverse(subjectPackage, false, thirdPartyVersions);
|
|
64
|
+
const runtimeVisited = traverse(subjectPackage, false, true, thirdPartyVersions);
|
|
52
65
|
const conflicts = detectVersionConflicts(thirdPartyVersions);
|
|
53
66
|
if (Object.keys(conflicts).length > 0) {
|
|
54
67
|
throw new Error(formatConflictError(conflicts));
|
|
@@ -61,7 +74,7 @@ export function computePackageClosure(pkgName, repoExplorer) {
|
|
|
61
74
|
}
|
|
62
75
|
allThirdPartyDeps[depName] = first.version;
|
|
63
76
|
}
|
|
64
|
-
const compiletimeVisited = traverse(subjectPackage, true);
|
|
77
|
+
const compiletimeVisited = traverse(subjectPackage, true, false);
|
|
65
78
|
return {
|
|
66
79
|
subjectPackageName: subjectPackage.name,
|
|
67
80
|
runtimeMembers: [...runtimeVisited.values()],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compute-package-closure.js","sourceRoot":"","sources":["../../src/compute-package-closure.ts"],"names":[],"mappings":"AASA,SAAS,sBAAsB,CAAC,aAAyC;IACvE,MAAM,SAAS,GAAsC,EAAE,CAAA;IAEvD,KAAK,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9D,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QACvE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,SAAS,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,UAAU,GAAG,CAAC,CAAA;QACnF,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,mBAAmB,CAAC,SAA4C;IACvE,MAAM,KAAK,GAAG,CAAC,oDAAoD,CAAC,CAAA;IAEpE,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5D,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACtD,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAe,EAAE,YAA0B;IAC/E,MAAM,cAAc,GAAG,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IAEvD,SAAS,QAAQ,CACf,IAAqB,EACrB,cAAuB,EACvB,kBAA+C;QAE/C,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"compute-package-closure.js","sourceRoot":"","sources":["../../src/compute-package-closure.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,5 +68,13 @@ export interface MonocrateOptions {
|
|
|
68
68
|
* and you want to preserve meaningful versioning per package.
|
|
69
69
|
*/
|
|
70
70
|
max?: boolean;
|
|
71
|
+
/**
|
|
72
|
+
* **WARNING: This option exists ONLY for testing purposes.** In production use, always
|
|
73
|
+
* leave this undefined to get a unique directory name. Setting this to a predictable
|
|
74
|
+
* value in production could cause name collisions with existing directories in your package.
|
|
75
|
+
*
|
|
76
|
+
* Suffix appended to the deps directory name to ensure uniqueness.
|
|
77
|
+
*/
|
|
78
|
+
uniquenessSuffix?: string;
|
|
71
79
|
}
|
|
72
80
|
//# sourceMappingURL=monocrate-options.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monocrate-options.d.ts","sourceRoot":"","sources":["../../src/monocrate-options.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,qBAAqB,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IACxC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;OAIG;IACH,OAAO,EAAE,OAAO,CAAA;IAChB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IAEX;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;;;;;;;OASG;IACH,GAAG,CAAC,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"monocrate-options.d.ts","sourceRoot":"","sources":["../../src/monocrate-options.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,qBAAqB,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IACxC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;OAIG;IACH,OAAO,EAAE,OAAO,CAAA;IAChB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IAEX;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;;;;;;;OASG;IACH,GAAG,CAAC,EAAE,OAAO,CAAA;IAEb;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monocrate.d.ts","sourceRoot":"","sources":["../../src/monocrate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"monocrate.d.ts","sourceRoot":"","sources":["../../src/monocrate.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAE9D,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAE5D;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAqGnF"}
|
package/dist/src/monocrate.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as crypto from 'node:crypto';
|
|
1
2
|
import * as fs from 'node:fs/promises';
|
|
2
3
|
import * as os from 'node:os';
|
|
3
4
|
import * as path from 'node:path';
|
|
@@ -47,10 +48,13 @@ export async function monocrate(options) {
|
|
|
47
48
|
if (options.publish) {
|
|
48
49
|
await npmClient.whoami(cwd);
|
|
49
50
|
}
|
|
50
|
-
|
|
51
|
+
// Compute deps directory name with uniqueness suffix to avoid collisions
|
|
52
|
+
const uniquenessSuffix = options.uniquenessSuffix ?? `-${crypto.randomUUID()}`;
|
|
53
|
+
const depsDir = `deps${uniquenessSuffix}`;
|
|
54
|
+
const assemblers = sourceDirs.map((at) => new PackageAssembler(npmClient, explorer, at, outputRoot, depsDir));
|
|
51
55
|
const a0 = assemblers.at(0);
|
|
52
56
|
if (!a0) {
|
|
53
|
-
throw new Error(`
|
|
57
|
+
throw new Error(`Inconsistency - could not find an assembler for the first package`);
|
|
54
58
|
}
|
|
55
59
|
const pairs = await Promise.all(assemblers.map(async (a) => ({ assembler: a, version: await a.computeNewVersion(versionSpecifier) })));
|
|
56
60
|
let max = pairs.at(0)?.version;
|
|
@@ -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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npm-client.d.ts","sourceRoot":"","sources":["../../src/npm-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,KAAK,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"npm-client.d.ts","sourceRoot":"","sources":["../../src/npm-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAWlD,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAAX,UAAU,CAAC,EAAE,cAAc,YAAA;IAExD;;;;;OAKG;IACG,MAAM,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAe1C,OAAO,CAAC,GAAG,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvD,UAAU,CAAC,oBAAoB,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7F;;;;OAIG;IACG,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IA4BhF,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE;;;;;;;;;;;;;CA2C7D"}
|
package/dist/src/npm-client.js
CHANGED
|
@@ -79,7 +79,7 @@ export class NpmClient {
|
|
|
79
79
|
}
|
|
80
80
|
const code = parsed.data.error.code ?? 'UNKNOWN';
|
|
81
81
|
const detail = parsed.data.error.detail ?? parsed.data.error.summary ?? '<No Further Details>';
|
|
82
|
-
throw new Error(`The 'npm
|
|
82
|
+
throw new Error(`The 'npm pack' command failed (code: ${code}): ${detail}`);
|
|
83
83
|
}
|
|
84
84
|
const parsed = z
|
|
85
85
|
.array(z.object({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npm-client.js","sourceRoot":"","sources":["../../src/npm-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,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,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC9B,CAAC;CACH,CAAC,CAAA;AAEF,MAAM,OAAO,SAAS;IACS;IAA7B,YAA6B,UAA2B;QAA3B,eAAU,GAAV,UAAU,CAAiB;IAAG,CAAC;IAE5D;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,GAAiB;QAC5B,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE;YACrD,GAAG,IAAI,CAAC,UAAU;YAClB,KAAK,EAAE,MAAM;YACb,qBAAqB,EAAE,QAAQ;SAChC,CAAC,CAAA;QAEF,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,mBAAmB,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;YACpG,MAAM,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"npm-client.js","sourceRoot":"","sources":["../../src/npm-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,10 +7,11 @@ export declare class PackageAssembler {
|
|
|
7
7
|
private readonly explorer;
|
|
8
8
|
private readonly fromDir;
|
|
9
9
|
private readonly outputRoot;
|
|
10
|
+
private readonly depsDir;
|
|
10
11
|
readonly pkgName: string;
|
|
11
12
|
readonly publishAs: string;
|
|
12
13
|
private readonly pathInRepo;
|
|
13
|
-
constructor(npmClient: NpmClient, explorer: RepoExplorer, fromDir: AbsolutePath, outputRoot: AbsolutePath);
|
|
14
|
+
constructor(npmClient: NpmClient, explorer: RepoExplorer, fromDir: AbsolutePath, outputRoot: AbsolutePath, depsDir: string);
|
|
14
15
|
getOutputDir(): AbsolutePath;
|
|
15
16
|
computeNewVersion(versionSpecifier: VersionSpecifier): Promise<string>;
|
|
16
17
|
assemble(newVersion: string | undefined): Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-assembler.d.ts","sourceRoot":"","sources":["../../src/package-assembler.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAGhD,qBAAa,gBAAgB;
|
|
1
|
+
{"version":3,"file":"package-assembler.d.ts","sourceRoot":"","sources":["../../src/package-assembler.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAGhD,qBAAa,gBAAgB;IAMzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAT1B,QAAQ,CAAC,OAAO,SAAA;IAChB,QAAQ,CAAC,SAAS,SAAA;IAClB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAA;gBAGR,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,YAAY,EACxB,OAAO,EAAE,MAAM;IAWlC,YAAY;IAIN,iBAAiB,CAAC,gBAAgB,EAAE,gBAAgB;IAKpD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;QAAE,kBAAkB,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC;CAiCnG"}
|
|
@@ -13,14 +13,16 @@ export class PackageAssembler {
|
|
|
13
13
|
explorer;
|
|
14
14
|
fromDir;
|
|
15
15
|
outputRoot;
|
|
16
|
+
depsDir;
|
|
16
17
|
pkgName;
|
|
17
18
|
publishAs;
|
|
18
19
|
pathInRepo;
|
|
19
|
-
constructor(npmClient, explorer, fromDir, outputRoot) {
|
|
20
|
+
constructor(npmClient, explorer, fromDir, outputRoot, depsDir) {
|
|
20
21
|
this.npmClient = npmClient;
|
|
21
22
|
this.explorer = explorer;
|
|
22
23
|
this.fromDir = fromDir;
|
|
23
24
|
this.outputRoot = outputRoot;
|
|
25
|
+
this.depsDir = depsDir;
|
|
24
26
|
const found = this.explorer.listPackages().find((at) => at.fromDir === fromDir);
|
|
25
27
|
if (!found) {
|
|
26
28
|
throw new Error(`Unrecognized package source dir: "${this.fromDir}"`);
|
|
@@ -39,7 +41,7 @@ export class PackageAssembler {
|
|
|
39
41
|
async assemble(newVersion) {
|
|
40
42
|
const closure = computePackageClosure(this.pkgName, this.explorer);
|
|
41
43
|
const outputDir = this.getOutputDir();
|
|
42
|
-
const locations = await collectPackageLocations(this.npmClient, closure, outputDir);
|
|
44
|
+
const locations = await collectPackageLocations(this.npmClient, closure, outputDir, this.depsDir);
|
|
43
45
|
validateEsmOnly(locations, this.explorer.repoRootDir);
|
|
44
46
|
const packageMap = new Map(locations.map((at) => [at.name, at]));
|
|
45
47
|
const subject = packageMap.get(closure.subjectPackageName);
|
|
@@ -61,7 +63,7 @@ export class PackageAssembler {
|
|
|
61
63
|
};
|
|
62
64
|
await new ImportRewriter(packageMap, isInRepoPackage, toRepoPath).rewriteAll(copiedFiles);
|
|
63
65
|
// This must happen after file copying completes (otherwise the rewritten package.json could be overwritten)
|
|
64
|
-
rewritePackageJson(closure, newVersion, outputDir);
|
|
66
|
+
rewritePackageJson(closure, newVersion, outputDir, this.depsDir);
|
|
65
67
|
return { compiletimeMembers: closure.compiletimeMembers };
|
|
66
68
|
}
|
|
67
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-assembler.js","sourceRoot":"","sources":["../../src/package-assembler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,MAAM,OAAO,gBAAgB;
|
|
1
|
+
{"version":3,"file":"package-assembler.js","sourceRoot":"","sources":["../../src/package-assembler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { PackageClosure } from './package-closure.js';
|
|
2
2
|
import type { AbsolutePath } from './paths.js';
|
|
3
|
-
export declare function rewritePackageJson(closure: PackageClosure, version: string | undefined, outputDir: AbsolutePath): void;
|
|
3
|
+
export declare function rewritePackageJson(closure: PackageClosure, version: string | undefined, outputDir: AbsolutePath, depsDir: string): void;
|
|
4
4
|
//# sourceMappingURL=rewrite-package-json.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rewrite-package-json.d.ts","sourceRoot":"","sources":["../../src/rewrite-package-json.ts"],"names":[],"mappings":"
|
|
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;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,MAAM,QA+BhB"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import * as fs from 'node:fs';
|
|
2
2
|
import * as path from 'node:path';
|
|
3
|
-
|
|
4
|
-
export function rewritePackageJson(closure, version, outputDir) {
|
|
3
|
+
export function rewritePackageJson(closure, version, outputDir, depsDir) {
|
|
5
4
|
const subject = closure.runtimeMembers.find((at) => at.name === closure.subjectPackageName);
|
|
6
5
|
if (!subject) {
|
|
7
|
-
throw new Error(`
|
|
6
|
+
throw new Error(`Inconsistency in subject package name: "${closure.subjectPackageName}"`);
|
|
8
7
|
}
|
|
9
8
|
const { dependencies: _1, devDependencies: _2, monocrate: _3, ...rest } = subject.packageJson;
|
|
10
9
|
const rewritten = {
|
|
@@ -22,7 +21,7 @@ export function rewritePackageJson(closure, version, outputDir) {
|
|
|
22
21
|
// Otherwise npm pack will exclude the deps/ directory from the tarball
|
|
23
22
|
const hasInRepoDeps = closure.runtimeMembers.length > 1;
|
|
24
23
|
if (rewritten.files && hasInRepoDeps) {
|
|
25
|
-
rewritten.files = [...rewritten.files,
|
|
24
|
+
rewritten.files = [...rewritten.files, depsDir];
|
|
26
25
|
}
|
|
27
26
|
fs.writeFileSync(path.join(outputDir, 'package.json'), JSON.stringify(rewritten, null, 2) + '\n');
|
|
28
27
|
}
|
|
@@ -1 +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;
|
|
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;AAKjC,MAAM,UAAU,kBAAkB,CAChC,OAAuB,EACvB,OAA2B,EAC3B,SAAuB,EACvB,OAAe;IAEf,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAC3F,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,2CAA2C,OAAO,CAAC,kBAAkB,GAAG,CAAC,CAAA;IAC3F,CAAC;IAED,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC,WAAW,CAAA;IAE7F,MAAM,SAAS,GAAgB;QAC7B,GAAG,IAAI;QACP,IAAI,EAAE,OAAO,CAAC,SAAS;KACxB,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,oFAAoF;IACpF,uEAAuE;IACvE,MAAM,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAA;IACvD,IAAI,SAAS,CAAC,KAAK,IAAI,aAAa,EAAE,CAAC;QACrC,SAAS,CAAC,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IACjD,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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "monocrate",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"description": "From monorepo to npm in one command",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/src/index.js",
|
|
@@ -22,10 +22,8 @@
|
|
|
22
22
|
"test": "vitest run",
|
|
23
23
|
"test:watch": "vitest",
|
|
24
24
|
"test:coverage": "vitest run --coverage",
|
|
25
|
-
"lint": "eslint src tests",
|
|
26
|
-
"lint:fix": "eslint src tests --fix",
|
|
27
|
-
"format": "prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"",
|
|
28
|
-
"format:check": "prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"",
|
|
25
|
+
"lint": "prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" && eslint src tests",
|
|
26
|
+
"lint:fix": "prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" && eslint src tests --fix",
|
|
29
27
|
"typecheck": "tsc --noEmit",
|
|
30
28
|
"publish-to-npm": "./scripts/publish-to-npm.sh"
|
|
31
29
|
},
|
|
@@ -50,7 +48,7 @@
|
|
|
50
48
|
"@eslint/js": "^9.0.0",
|
|
51
49
|
"@types/node": "^20.19.29",
|
|
52
50
|
"@types/yargs": "^17.0.35",
|
|
53
|
-
"@vitest/coverage-v8": "^
|
|
51
|
+
"@vitest/coverage-v8": "^4.0.18",
|
|
54
52
|
"eslint": "^9.0.0",
|
|
55
53
|
"eslint-plugin-unused-imports": "^4.3.0",
|
|
56
54
|
"get-port": "^7.1.0",
|
|
@@ -60,7 +58,7 @@
|
|
|
60
58
|
"typescript": "^5.3.0",
|
|
61
59
|
"typescript-eslint": "^8.0.0",
|
|
62
60
|
"verdaccio": "^6.2.4",
|
|
63
|
-
"vitest": "^
|
|
61
|
+
"vitest": "^4.0.18"
|
|
64
62
|
},
|
|
65
63
|
"engines": {
|
|
66
64
|
"node": ">=20.0.0"
|
|
@@ -72,7 +70,7 @@
|
|
|
72
70
|
]
|
|
73
71
|
},
|
|
74
72
|
"dependencies": {
|
|
75
|
-
"esbuild": "^0.
|
|
73
|
+
"esbuild": "^0.27.2",
|
|
76
74
|
"resolve.exports": "^2.0.3",
|
|
77
75
|
"tinyexec": "^1.0.2",
|
|
78
76
|
"tinyglobby": "^0.2.15",
|
|
@@ -80,5 +78,11 @@
|
|
|
80
78
|
"yaml": "^2.8.2",
|
|
81
79
|
"yargs": "^18.0.0",
|
|
82
80
|
"zod": "^4.3.5"
|
|
81
|
+
},
|
|
82
|
+
"packageManager": "pnpm@10.28.1",
|
|
83
|
+
"pnpm": {
|
|
84
|
+
"onlyBuiltDependencies": [
|
|
85
|
+
"esbuild"
|
|
86
|
+
]
|
|
83
87
|
}
|
|
84
88
|
}
|