monocrate 0.8.0 → 0.10.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 (38) hide show
  1. package/README.md +150 -71
  2. package/dist/import-rewriter.d.ts.map +1 -1
  3. package/dist/import-rewriter.js +6 -0
  4. package/dist/import-rewriter.js.map +1 -1
  5. package/dist/monocrate-cli.d.ts.map +1 -1
  6. package/dist/monocrate-cli.js +58 -59
  7. package/dist/monocrate-cli.js.map +1 -1
  8. package/dist/monocrate.d.ts.map +1 -1
  9. package/dist/monocrate.js +12 -1
  10. package/dist/monocrate.js.map +1 -1
  11. package/dist/npm-client.d.ts +9 -1
  12. package/dist/npm-client.d.ts.map +1 -1
  13. package/dist/npm-client.js +24 -2
  14. package/dist/npm-client.js.map +1 -1
  15. package/dist/package-assembler.d.ts +1 -0
  16. package/dist/package-assembler.d.ts.map +1 -1
  17. package/dist/package-assembler.js +2 -0
  18. package/dist/package-assembler.js.map +1 -1
  19. package/dist/package-json.d.ts +6 -0
  20. package/dist/package-json.d.ts.map +1 -1
  21. package/dist/package-json.js +6 -0
  22. package/dist/package-json.js.map +1 -1
  23. package/dist/publish.d.ts +1 -1
  24. package/dist/publish.d.ts.map +1 -1
  25. package/dist/publish.js +2 -2
  26. package/dist/publish.js.map +1 -1
  27. package/dist/repo-explorer.d.ts +1 -0
  28. package/dist/repo-explorer.d.ts.map +1 -1
  29. package/dist/repo-explorer.js +3 -0
  30. package/dist/repo-explorer.js.map +1 -1
  31. package/dist/rewrite-package-json.d.ts.map +1 -1
  32. package/dist/rewrite-package-json.js +2 -1
  33. package/dist/rewrite-package-json.js.map +1 -1
  34. package/dist/validate-publish-names.d.ts +3 -0
  35. package/dist/validate-publish-names.d.ts.map +1 -0
  36. package/dist/validate-publish-names.js +11 -0
  37. package/dist/validate-publish-names.js.map +1 -0
  38. package/package.json +1 -1
package/README.md CHANGED
@@ -1,121 +1,200 @@
1
- # Monocrate
1
+ # monocrate
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/monocrate.svg)](https://www.npmjs.com/package/monocrate)
4
4
  [![CI](https://github.com/imaman/monocrate/actions/workflows/ci.yml/badge.svg)](https://github.com/imaman/monocrate/actions/workflows/ci.yml)
5
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
6
 
7
- From monorepo to npm in one command.
7
+ Because publishing from a monorepo should take seconds, not days.
8
8
 
9
- ## Why
9
+ ## The Problem
10
10
 
11
- Publishing from a monorepo breaks when your package depends on internal packages. npm doesn't understand workspace references like `@myorg/utils`. You're forced to either publish every internal package separately, manually copy and merge files, or bundle everything into a single file (losing module structure and type declarations).
11
+ You have a monorepo, you are really proud of `@acme/my-awesome-package` and you want to make it open source. Its main file, `packages/my-awesome-package/src/index.ts`, probably looks something like this:
12
12
 
13
- Monocrate gives you:
14
13
 
15
- - **One command** — point at your package, done
16
- - **Self-contained output** internal dependencies are included, nothing else to publish
17
- - **Preserved module structure** no flattening into a single file, tree-shaking works
18
- - **Type declarations included** — `.d.ts` files just work
19
- - **Open-source mirroring** `--mirror-to` copies sources to a public repo alongside publishing
14
+ ```typescript
15
+ // Reusing validation logic from elsewhere in the monorepo
16
+ import { validateUserInput } from '@acme/internal-utils'
17
+
18
+ export function processData(data: unknown) {
19
+ const validated = validateUserInput(data)
20
+ // ...
21
+ }
22
+ ```
20
23
 
21
- ## Install
24
+ When you publish, things look great:
22
25
 
23
26
  ```bash
24
- npm install -g monocrate
27
+ $ cd packages/my-awesome-package
28
+ $ npm publish
29
+ npm notice
30
+ npm notice 📦 @acme/my-awesome-package@1.0.0
31
+ npm notice Tarball Contents
32
+ npm notice 4.4kB README.md
33
+ npm notice 9.1kB dist/index.js
34
+ ...
35
+ npm notice
36
+ npm notice Publishing to https://registry.npmjs.org/ with tag latest and public access
37
+
38
+ + @acme/my-awesome-package@1.0.0
25
39
  ```
26
40
 
41
+ But then when you try to install it:
42
+
43
+ ```bash
44
+ $ npm install @acme/my-awesome-package
45
+ npm error code E404
46
+ npm error 404 Not Found - GET https://registry.npmjs.org/@acme%2finternal-utils - Not found
47
+ npm error 404
48
+ npm error 404 '@acme/internal-utils@1.0.0' is not in this registry.
49
+ ```
50
+
51
+ This is your 🚨🚨🚨 moment.
52
+
53
+ In theory, you could ...
54
+ - ...bundle with esbuild, rollup, and similar tools but tree-shaking breaks for consumers, source maps need a lot of attention to get right, and good luck getting these typescript types (.d.ts files) bundled.
55
+ - ...manually create the right directory structure, replacing all the imports with relative paths. You will manage to pull it off once, but that's definitely not sustainable.
56
+ - ...use a tool such as `lerna` which publishes every internal dependency separately as a standalone public package, but now `@acme/internal-utils` becomes permanent published API. This locks you into supporting that interface indefinitely, and internal refactoring freedom is lost.
57
+
58
+
59
+ ## The Solution
60
+
61
+ Enter monocrate. It collects your package and its transitive internal dependencies into a single publishable unit. It handles subpath imports, dynamic imports, and TypeScript's module resolution rules correctly. Your internal packages stay private. Consumers install one package. Tree-shaking works. Sourcemaps work. Types work.
62
+
63
+
27
64
  ## Usage
28
65
 
66
+ > **Note:** Monocrate is a publishing tool, not a build tool. If you have a build script, run it first:
67
+ > ```bash
68
+ > npm run build
69
+ > ```
70
+
71
+ Once the package is built, you can run monocrate:
72
+
29
73
  ```bash
30
- # Prepare for inspection without publishing
31
- monocrate prepare packages/my-app
74
+ # Publish a package, patch bumping its version
75
+ npx monocrate packages/my-awesome-package --bump patch
76
+
77
+ # Use --dry-run to run in "prepare" mode: do everything but stop short of publishing to the registry
78
+ npx monocrate packages/my-awesome-package --output-dir /tmp/inspect --bump patch --dry-run
79
+
80
+ # --bump defaults to "minor", so these two are identical:
81
+ npx monocrate packages/my-awesome-package --bump minor
82
+ npx monocrate packages/my-awesome-package
32
83
 
33
- # Publish directly to npm
34
- monocrate publish packages/my-app --bump patch
84
+ # Explicit version
85
+ npx monocrate packages/my-awesome-package --bump 2.3.0
35
86
  ```
36
87
 
37
- ### Commands
88
+ > **Note:** Monocrate does not modify your source code. Bump strategies are applied to the package's most recent version on the registry, not the version in your local `package.json`.
38
89
 
39
- **`prepare <packages...>`** Assemble packages but don't publish. Useful for inspecting output or manual publishing.
90
+ ### Custom Publish Name
40
91
 
41
- **`publish <packages...>`** Assemble and publish to npm.
92
+ Publish `@acme/my-awesome-package` as `best-package-ever` without doing a repo-wide renaming:
42
93
 
43
- ### Options
94
+ ```json
95
+ {
96
+ "name": "@acme/my-awesome-package",
97
+ ...
98
+ "monocrate": {
99
+ "publishName": "best-package-ever"
100
+ }
101
+ }
102
+ ```
44
103
 
45
- | Flag | Description |
46
- |------|-------------|
47
- | `-b, --bump` | Version bump: `patch`, `minor`, `major`, or explicit version like `1.2.3`. Defaults to `minor`. |
48
- | `-o, --output-dir` | Output directory. Defaults to a temp directory. |
49
- | `-r, --root` | Monorepo root. Auto-detected if omitted. |
50
- | `-m, --mirror-to` | Mirror source files to another directory (for open-source mirrors). |
51
- | `--report` | Write the resolved version to a file instead of stdout. |
104
+ ### Mirroring to a Public Repo
52
105
 
53
- ### Examples
106
+ Want to open-source your package while keeping your monorepo private? Use `--mirror-to` to copy the package and its internal dependencies to a separate public repository:
54
107
 
55
108
  ```bash
56
- # Bump patch version and publish
57
- monocrate publish packages/cli --bump patch
109
+ npx monocrate packages/my-awesome-package --mirror-to ../public-repo
110
+ ```
58
111
 
59
- # Publish multiple packages with synchronized versions
60
- monocrate publish packages/core packages/cli
112
+ This way, your public repo is self-contained—no dangling references to internal packages. Contributors can clone and work on your package.
61
113
 
62
- # Prepare to a specific directory for inspection
63
- monocrate prepare packages/app --output-dir ./publish-staging
114
+ Only committed files (from `git HEAD`) are mirrored; fails if untracked files exist.
64
115
 
65
- # Mirror sources to a public repo after publishing
66
- monocrate publish packages/sdk --mirror-to ../public-repo/packages
67
- ```
116
+ ### Multiple Packages
68
117
 
69
- ## How It Works
118
+ Publish several packages together with the same version:
70
119
 
71
- 1. Discovers all packages in the monorepo via workspace configuration
72
- 2. Builds a dependency graph starting from your target package
73
- 3. Copies each package's publishable files (determined by `npm pack`) to the output
74
- 4. Rewrites import statements from package names to relative paths (using `exports` or `main` fields)
75
- 5. Generates a `package.json` with merged third-party dependencies
120
+ ```bash
121
+ npx monocrate packages/lib-a packages/lib-b --bump 2.4.0
122
+ ```
76
123
 
77
- ### Output Structure
124
+ ### CLI Reference
78
125
 
79
126
  ```
80
- monorepo/
81
- packages/
82
- app/ ← you want to publish this
83
- utils/ ← app depends on this
84
- core/ ← utils depends on this
85
-
86
- output/
87
- package.json ← merged deps, in-repo refs removed
88
- <app files> ← app's publishable files
89
- deps/
90
- packages/
91
- utils/ ← utils' publishable files (imports rewritten)
92
- core/ ← core's publishable files (imports rewritten)
127
+ monocrate <packages...> [options]
93
128
  ```
94
129
 
95
- Entry points (`main`, `types`, `exports`) work unchanged because each package's file structure stays in the same relative position.
130
+ #### Arguments
96
131
 
97
- ## Requirements
132
+ | Argument | Description |
133
+ |----------|-------------|
134
+ | `packages` | One or more package directories to publish (required) |
98
135
 
99
- - Node.js 20+
100
- - Packages must have valid entry points (`exports` or `main` field in package.json)
101
- - Monorepo must use npm, yarn, or pnpm workspaces
136
+ #### Options
137
+
138
+ | Option | Alias | Type | Default | Description |
139
+ |--------|-------|------|---------|-------------|
140
+ | `--bump` | `-b` | `string` | `minor` | Version bump strategy: `patch`, `minor`, `major`, or explicit semver (e.g., `2.3.0`) |
141
+ | `--dry-run` | `-d` | `boolean` | `false` | Prepare the package without publishing to npm |
142
+ | `--output-dir` | `-o` | `string` | (temp dir) | Directory where assembled package is written |
143
+ | `--root` | `-r` | `string` | (auto) | Monorepo root directory (auto-detected if omitted) |
144
+ | `--mirror-to` | `-m` | `string` | — | Mirror source files to a directory (for public repos) |
145
+ | `--report` | | `string` | — | Write resolved version to a file instead of stdout |
146
+ | `--help` | | | | Show help |
147
+ | `--version` | | | | Show version number |
102
148
 
103
149
  ## Programmatic API
104
150
 
151
+ Use monocrate as a library for custom workflows or build scripts:
152
+
105
153
  ```typescript
106
- import { monocrate } from 'monocrate';
154
+ import { monocrate } from 'monocrate'
107
155
 
108
156
  const result = await monocrate({
109
- pathToSubjectPackages: ['packages/my-app'],
110
- cwd: process.cwd(),
111
- publish: false,
157
+ pathToSubjectPackages: ['packages/my-awesome-package'],
158
+ publish: true,
112
159
  bump: 'minor',
113
- });
160
+ cwd: process.cwd()
161
+ })
114
162
 
115
- console.log(result.resolvedVersion); // "1.3.0"
116
- console.log(result.outputDir); // "/tmp/monocrate-xyz/my-app"
163
+ console.log(result.resolvedVersion) // '1.3.0'
117
164
  ```
118
165
 
119
- ## License
166
+ The above snippet is the programmatic equivalent of `npx monocrate packages/my-awesome-package --bump minor`.
167
+
168
+ ### API Reference
169
+
170
+ #### `monocrate(options): Promise<MonocrateResult>`
120
171
 
121
- MIT
172
+ Assembles one or more monorepo packages and their in-repo dependencies, and optionally publishes to npm.
173
+
174
+ #### `MonocrateOptions`
175
+
176
+ | Property | Type | Required | Default | Description |
177
+ |----------|------|----------|---------|-------------|
178
+ | `pathToSubjectPackages` | `string \| string[]` | Yes | — | Package directories to assemble. Relative paths resolved from `cwd`. |
179
+ | `publish` | `boolean` | Yes | — | Whether to publish to npm after assembly. |
180
+ | `cwd` | `string` | Yes | — | Base directory for resolving relative paths. |
181
+ | `bump` | `string` | No | `"minor"` | Version specifier: `"patch"`, `"minor"`, `"major"`, or explicit semver. |
182
+ | `outputRoot` | `string` | No | (temp dir) | Output directory for the assembled package. |
183
+ | `monorepoRoot` | `string` | No | (auto) | Monorepo root directory; auto-detected if omitted. |
184
+ | `report` | `string` | No | — | Write resolved version to this file instead of stdout. |
185
+ | `mirrorTo` | `string` | No | — | Mirror source files to this directory. |
186
+ | `npmrcPath` | `string` | No | — | Path to `.npmrc` file for npm authentication. |
187
+
188
+ #### `MonocrateResult`
189
+
190
+ | Property | Type | Description |
191
+ |----------|------|-------------|
192
+ | `outputDir` | `string` | Directory where the first package was assembled. |
193
+ | `resolvedVersion` | `string` | The resolved version that was applied. |
194
+ | `summaries` | `Array<{ packageName: string; outputDir: string }>` | Details for each assembled package. |
195
+
196
+ ## Installation
197
+
198
+ ```bash
199
+ npm install --save-dev monocrate
200
+ ```
@@ -1 +1 @@
1
- {"version":3,"file":"import-rewriter.d.ts","sourceRoot":"","sources":["../src/import-rewriter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAEvD,OAAO,EAAE,YAAY,EAAgB,MAAM,YAAY,CAAA;AAEvD,qBAAa,cAAc;IACb,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,UAAU;IAEpC,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAOxC,WAAW;IAqDzB,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,mBAAmB;CAO5B"}
1
+ {"version":3,"file":"import-rewriter.d.ts","sourceRoot":"","sources":["../src/import-rewriter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAEvD,OAAO,EAAE,YAAY,EAAgB,MAAM,YAAY,CAAA;AAEvD,qBAAa,cAAc;IACb,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,UAAU;IAEpC,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAOxC,WAAW;IA4DzB,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,mBAAmB;CAO5B"}
@@ -54,6 +54,12 @@ export class ImportRewriter {
54
54
  modified = true;
55
55
  }
56
56
  }
57
+ else if (firstArg) {
58
+ const line = String(firstArg.getStartLineNumber());
59
+ const computedExpr = firstArg.getText();
60
+ throw new Error(`Computed import not supported: import(${computedExpr}) at ${pathToImporter}:${line}. ` +
61
+ `Dynamic imports must use string literals so monocrate can analyze and rewrite them.`);
62
+ }
57
63
  }
58
64
  }
59
65
  if (modified) {
@@ -1 +1 @@
1
- {"version":3,"file":"import-rewriter.js","sourceRoot":"","sources":["../src/import-rewriter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import-rewriter.js","sourceRoot":"","sources":["../src/import-rewriter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"monocrate-cli.d.ts","sourceRoot":"","sources":["../src/monocrate-cli.ts"],"names":[],"mappings":"AAgEA,wBAAgB,YAAY,IAAI,IAAI,CAgDnC"}
1
+ {"version":3,"file":"monocrate-cli.d.ts","sourceRoot":"","sources":["../src/monocrate-cli.ts"],"names":[],"mappings":"AAmBA,wBAAgB,YAAY,IAAI,IAAI,CA+EnC"}
@@ -4,80 +4,79 @@ import { hideBin } from 'yargs/helpers';
4
4
  import { monocrate } from './monocrate.js';
5
5
  const require = createRequire(import.meta.url);
6
6
  const pkg = require('../package.json');
7
- const sharedOptions = {
8
- bump: {
9
- alias: 'b',
10
- type: 'string',
11
- description: 'Version or increment (patch/minor/major)',
12
- },
13
- 'output-dir': {
14
- alias: 'o',
15
- type: 'string',
16
- description: 'Output directory',
17
- },
18
- root: {
19
- alias: 'r',
20
- type: 'string',
21
- description: 'Monorepo root (auto-detected if omitted)',
22
- },
23
- report: {
24
- type: 'string',
25
- description: 'Write report to file',
26
- },
27
- 'mirror-to': {
28
- alias: 'm',
29
- type: 'string',
30
- description: 'Mirror source files to directory',
31
- },
32
- };
33
- async function runCommand(argv, publish) {
34
- const packages = argv.packages ?? [];
35
- if (packages.length === 0) {
36
- throw new Error('At least one package directory must be specified');
37
- }
38
- const options = {
39
- pathToSubjectPackages: packages,
40
- // CLI uses --output-dir for clearer user-facing terminology
41
- outputRoot: argv['output-dir'],
42
- monorepoRoot: argv.root,
43
- bump: argv.bump,
44
- publish,
45
- report: argv.report,
46
- cwd: process.cwd(),
47
- mirrorTo: argv['mirror-to'],
48
- };
49
- await monocrate(options);
50
- }
51
7
  export function monocrateCli() {
52
8
  const parser = yargs(hideBin(process.argv))
53
9
  .scriptName('monocrate')
54
10
  .version(pkg.version)
55
11
  .usage(`From monorepo to npm in one command.
56
12
 
57
- Point at your packages. That's it.`)
58
- .example('$0 publish pkg/foo --bump patch', 'Bump to next patch and publish')
59
- .example('$0 publish libs/a libs/b', 'Multi-package (defaults to minor bump)')
60
- .command('publish <packages...>', 'Publish to npm', (yargs) => yargs.options(sharedOptions).positional('packages', {
13
+ Point at your packages. That's it.
14
+
15
+ Usage: $0 <packages...> [options]`)
16
+ .example('$0 pkg/foo --bump patch', 'Bump to next patch and publish')
17
+ .example('$0 libs/a libs/b', 'Multi-package (defaults to minor bump)')
18
+ .example('$0 pkg/foo --dry-run', 'Prepare without publishing')
19
+ .positional('packages', {
61
20
  describe: 'Package directories to publish',
62
21
  type: 'string',
63
22
  array: true,
64
- }), async (argv) => {
65
- await runCommand(argv, true);
66
23
  })
67
- .command('prepare <packages...>', 'Same as publish, but stop short of publishing', (yargs) => yargs.options(sharedOptions).positional('packages', {
68
- describe: 'Package directories to prepare',
69
- type: 'string',
70
- array: true,
71
- }), async (argv) => {
72
- await runCommand(argv, false);
24
+ .options({
25
+ bump: {
26
+ alias: 'b',
27
+ type: 'string',
28
+ description: 'Version or increment (patch/minor/major)',
29
+ },
30
+ 'output-dir': {
31
+ alias: 'o',
32
+ type: 'string',
33
+ description: 'Output directory',
34
+ },
35
+ root: {
36
+ alias: 'r',
37
+ type: 'string',
38
+ description: 'Monorepo root (auto-detected if omitted)',
39
+ },
40
+ report: {
41
+ type: 'string',
42
+ description: 'Write report to file',
43
+ },
44
+ 'mirror-to': {
45
+ alias: 'm',
46
+ type: 'string',
47
+ description: 'Mirror source files to directory',
48
+ },
49
+ 'dry-run': {
50
+ alias: 'd',
51
+ type: 'boolean',
52
+ description: 'Prepare without publishing',
53
+ default: false,
54
+ },
73
55
  })
74
- .demandCommand(1, 'Try: monocrate publish <package-dir>')
75
56
  .strict()
76
57
  .help()
77
- .version(pkg.version)
78
58
  .option('help', { hidden: true })
79
59
  .option('version', { hidden: true });
80
- void Promise.resolve(parser.parse()).catch((error) => {
60
+ void Promise.resolve(parser.parse())
61
+ .then(async (argv) => {
62
+ const args = argv;
63
+ const packages = args._;
64
+ if (packages.length === 0) {
65
+ throw new Error('At least one package directory must be specified. Try: monocrate <package-dir>');
66
+ }
67
+ const options = {
68
+ pathToSubjectPackages: packages,
69
+ outputRoot: args['output-dir'],
70
+ monorepoRoot: args.root,
71
+ bump: args.bump,
72
+ publish: !args['dry-run'],
73
+ report: args.report,
74
+ cwd: process.cwd(),
75
+ mirrorTo: args['mirror-to'],
76
+ };
77
+ await monocrate(options);
78
+ })
79
+ .catch((error) => {
81
80
  console.error('Fatal error:', error instanceof Error ? error.stack : error);
82
81
  process.exit(1);
83
82
  });
@@ -1 +1 @@
1
- {"version":3,"file":"monocrate-cli.js","sourceRoot":"","sources":["../src/monocrate-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"monocrate-cli.js","sourceRoot":"","sources":["../src/monocrate-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAA;AAY7D,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACxC,UAAU,CAAC,WAAW,CAAC;SACvB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;SACpB,KAAK,CACJ;;;;kCAI4B,CAC7B;SACA,OAAO,CAAC,yBAAyB,EAAE,gCAAgC,CAAC;SACpE,OAAO,CAAC,kBAAkB,EAAE,wCAAwC,CAAC;SACrE,OAAO,CAAC,sBAAsB,EAAE,4BAA4B,CAAC;SAC7D,UAAU,CAAC,UAAU,EAAE;QACtB,QAAQ,EAAE,gCAAgC;QAC1C,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,IAAI;KACZ,CAAC;SACD,OAAO,CAAC;QACP,IAAI,EAAE;YACJ,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAiB;YACvB,WAAW,EAAE,0CAA0C;SACxD;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAiB;YACvB,WAAW,EAAE,kBAAkB;SAChC;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAiB;YACvB,WAAW,EAAE,0CAA0C;SACxD;QACD,MAAM,EAAE;YACN,IAAI,EAAE,QAAiB;YACvB,WAAW,EAAE,sBAAsB;SACpC;QACD,WAAW,EAAE;YACX,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAiB;YACvB,WAAW,EAAE,kCAAkC;SAChD;QACD,SAAS,EAAE;YACT,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,SAAkB;YACxB,WAAW,EAAE,4BAA4B;YACzC,OAAO,EAAE,KAAK;SACf;KACF,CAAC;SACD,MAAM,EAAE;SACR,IAAI,EAAE;SACN,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SAChC,MAAM,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;IAEtC,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;SACjC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACnB,MAAM,IAAI,GAAG,IAAiB,CAAA;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAA;QACvB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAA;QACnG,CAAC;QACD,MAAM,OAAO,GAAqB;YAChC,qBAAqB,EAAE,QAAQ;YAC/B,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;YAC9B,YAAY,EAAE,IAAI,CAAC,IAAI;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC;SAC5B,CAAA;QACD,MAAM,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACxB,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;AACN,CAAC"}
@@ -1 +1 @@
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,CAgFnF"}
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,CA+FnF"}
package/dist/monocrate.js CHANGED
@@ -42,6 +42,10 @@ export async function monocrate(options) {
42
42
  : RepoExplorer.findMonorepoRoot(sourceDir0);
43
43
  const explorer = await RepoExplorer.create(monorepoRoot);
44
44
  const npmClient = new NpmClient({ userconfig: options.npmrcPath });
45
+ // Check npm login status early before any heavy operations
46
+ if (options.publish) {
47
+ await npmClient.whoami(cwd);
48
+ }
45
49
  const assemblers = sourceDirs.map((at) => new PackageAssembler(npmClient, explorer, at, outputRoot));
46
50
  const a0 = assemblers.at(0);
47
51
  if (!a0) {
@@ -55,13 +59,20 @@ export async function monocrate(options) {
55
59
  }
56
60
  const resolvedVersion = versions.reduce((soFar, curr) => maxVersion(soFar, curr), v);
57
61
  const allPackagesForMirror = new Map();
62
+ // Phase 1: Assemble all packages and publish with --tag pending
58
63
  for (const assembler of assemblers) {
59
64
  const { compiletimeMembers } = await assembler.assemble(resolvedVersion);
60
65
  for (const pkg of compiletimeMembers) {
61
66
  allPackagesForMirror.set(pkg.name, pkg);
62
67
  }
63
68
  if (options.publish) {
64
- await publish(npmClient, assembler.getOutputDir());
69
+ await publish(npmClient, assembler.getOutputDir(), 'pending');
70
+ }
71
+ }
72
+ // Phase 2: Move 'latest' tag to all published packages (only if all publishes succeeded)
73
+ if (options.publish) {
74
+ for (const assembler of assemblers) {
75
+ await npmClient.distTagAdd(`${assembler.publishAs}@${resolvedVersion}`, 'latest', assembler.getOutputDir());
65
76
  }
66
77
  }
67
78
  // Mirror source files if mirrorTo is specified
@@ -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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"}
@@ -3,7 +3,15 @@ import type { NpmOptionsBase } from './run-npm.js';
3
3
  export declare class NpmClient {
4
4
  private readonly npmOptions?;
5
5
  constructor(npmOptions?: NpmOptionsBase | undefined);
6
- publish(dir: AbsolutePath): Promise<void>;
6
+ /**
7
+ * Checks if the user is logged in to npm.
8
+ * @param cwd - The working directory for the npm command
9
+ * @returns The username if logged in
10
+ * @throws Error with actionable message if not logged in
11
+ */
12
+ whoami(cwd: AbsolutePath): Promise<string>;
13
+ publish(dir: AbsolutePath, tag?: string): Promise<void>;
14
+ distTagAdd(packageNameAtVersion: string, tag: string, cwd: AbsolutePath): Promise<void>;
7
15
  /**
8
16
  * @param packageName
9
17
  * @param cwd
@@ -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,EAAC,MAAM,cAAc,CAAC;AAWlD,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAAX,UAAU,CAAC,EAAE,cAAc,YAAA;IAElD,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C;;;;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"}
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,EAAC,MAAM,cAAc,CAAC;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;IAiB1C,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"}
@@ -12,8 +12,30 @@ export class NpmClient {
12
12
  constructor(npmOptions) {
13
13
  this.npmOptions = npmOptions;
14
14
  }
15
- async publish(dir) {
16
- await runNpm('publish', [], dir, { ...this.npmOptions, stdio: 'inherit' });
15
+ /**
16
+ * Checks if the user is logged in to npm.
17
+ * @param cwd - The working directory for the npm command
18
+ * @returns The username if logged in
19
+ * @throws Error with actionable message if not logged in
20
+ */
21
+ async whoami(cwd) {
22
+ const { ok, stdout } = await runNpm('whoami', [], cwd, {
23
+ ...this.npmOptions,
24
+ stdio: 'pipe',
25
+ nonZeroExitCodePolicy: 'return',
26
+ });
27
+ if (!ok) {
28
+ const registry = this.npmOptions?.userconfig ? ` (using config: ${this.npmOptions.userconfig})` : '';
29
+ throw new Error(`Not logged in to npm${registry}. Run 'npm login' to authenticate before publishing.`);
30
+ }
31
+ return stdout.trim();
32
+ }
33
+ async publish(dir, tag) {
34
+ const args = tag ? ['--tag', tag] : [];
35
+ await runNpm('publish', args, dir, { ...this.npmOptions, stdio: 'inherit' });
36
+ }
37
+ async distTagAdd(packageNameAtVersion, tag, cwd) {
38
+ await runNpm('dist-tag', ['add', packageNameAtVersion, tag], cwd, { ...this.npmOptions, stdio: 'inherit' });
17
39
  }
18
40
  /**
19
41
  * @param packageName
@@ -1 +1 @@
1
- {"version":3,"file":"npm-client.js","sourceRoot":"","sources":["../src/npm-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"npm-client.js","sourceRoot":"","sources":["../src/npm-client.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export declare class PackageAssembler {
8
8
  private readonly fromDir;
9
9
  private readonly outputRoot;
10
10
  readonly pkgName: string;
11
+ readonly publishAs: string;
11
12
  constructor(npmClient: NpmClient, explorer: RepoExplorer, fromDir: AbsolutePath, outputRoot: AbsolutePath);
12
13
  getOutputDir(): AbsolutePath;
13
14
  computeNewVersion(versionSpecifier: VersionSpecifier | undefined): Promise<string | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"package-assembler.d.ts","sourceRoot":"","sources":["../src/package-assembler.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAgB,MAAM,YAAY,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEhD,qBAAa,gBAAgB;IAGzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAL7B,QAAQ,CAAC,OAAO,SAAA;gBAEG,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,YAAY;IAS3C,YAAY;IAIN,iBAAiB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,SAAS;IAMhE,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;QAAE,kBAAkB,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC;CAoBnG"}
1
+ {"version":3,"file":"package-assembler.d.ts","sourceRoot":"","sources":["../src/package-assembler.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAgB,MAAM,YAAY,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEhD,qBAAa,gBAAgB;IAIzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAN7B,QAAQ,CAAC,OAAO,SAAA;IAChB,QAAQ,CAAC,SAAS,SAAA;gBAEC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,YAAY;IAU3C,YAAY;IAIN,iBAAiB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,SAAS;IAMhE,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;QAAE,kBAAkB,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC;CAoBnG"}
@@ -13,6 +13,7 @@ export class PackageAssembler {
13
13
  fromDir;
14
14
  outputRoot;
15
15
  pkgName;
16
+ publishAs;
16
17
  constructor(npmClient, explorer, fromDir, outputRoot) {
17
18
  this.npmClient = npmClient;
18
19
  this.explorer = explorer;
@@ -23,6 +24,7 @@ export class PackageAssembler {
23
24
  throw new Error(`Unrecognized package source dir: "${this.fromDir}"`);
24
25
  }
25
26
  this.pkgName = found.name;
27
+ this.publishAs = found.publishAs;
26
28
  }
27
29
  getOutputDir() {
28
30
  return AbsolutePath.join(this.outputRoot, RelativePath(manglePackageName(this.pkgName)));
@@ -1 +1 @@
1
- {"version":3,"file":"package-assembler.js","sourceRoot":"","sources":["../src/package-assembler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package-assembler.js","sourceRoot":"","sources":["../src/package-assembler.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
1
  import { z } from 'zod';
2
+ export declare const MonocrateConfig: z.ZodOptional<z.ZodObject<{
3
+ publishName: z.ZodOptional<z.ZodString>;
4
+ }, z.core.$strip>>;
2
5
  export declare const PackageJson: z.ZodObject<{
3
6
  name: z.ZodString;
4
7
  version: z.ZodOptional<z.ZodString>;
@@ -34,6 +37,9 @@ export declare const PackageJson: z.ZodObject<{
34
37
  packages: z.ZodArray<z.ZodString>;
35
38
  }, z.core.$strip>]>>;
36
39
  files: z.ZodOptional<z.ZodArray<z.ZodString>>;
40
+ monocrate: z.ZodOptional<z.ZodObject<{
41
+ publishName: z.ZodOptional<z.ZodString>;
42
+ }, z.core.$strip>>;
37
43
  }, z.core.$loose>;
38
44
  export type PackageJson = z.infer<typeof PackageJson>;
39
45
  //# sourceMappingURL=package-json.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"package-json.d.ts","sourceRoot":"","sources":["../src/package-json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuBd,CAAA;AAEV,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAA"}
1
+ {"version":3,"file":"package-json.d.ts","sourceRoot":"","sources":["../src/package-json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,eAAe;;kBAIf,CAAA;AAEb,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAwBd,CAAA;AAEV,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAA"}
@@ -1,4 +1,9 @@
1
1
  import { z } from 'zod';
2
+ export const MonocrateConfig = z
3
+ .object({
4
+ publishName: z.string().optional(),
5
+ })
6
+ .optional();
2
7
  export const PackageJson = z
3
8
  .object({
4
9
  name: z.string(),
@@ -21,6 +26,7 @@ export const PackageJson = z
21
26
  type: z.enum(['module', 'commonjs']).optional(),
22
27
  workspaces: z.union([z.array(z.string()), z.object({ packages: z.array(z.string()) })]).optional(),
23
28
  files: z.array(z.string()).optional(),
29
+ monocrate: MonocrateConfig,
24
30
  })
25
31
  .loose();
26
32
  //# sourceMappingURL=package-json.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"package-json.js","sourceRoot":"","sources":["../src/package-json.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package-json.js","sourceRoot":"","sources":["../src/package-json.ts"],"names":[],"mappings":"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"}
package/dist/publish.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  import type { AbsolutePath } from './paths.js';
2
2
  import type { NpmClient } from './npm-client.js';
3
- export declare function publish(npmClient: NpmClient, outputDir: AbsolutePath): Promise<void>;
3
+ export declare function publish(npmClient: NpmClient, outputDir: AbsolutePath, tag: string): Promise<void>;
4
4
  //# sourceMappingURL=publish.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEhD,wBAAsB,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,iBAE1E"}
1
+ {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEhD,wBAAsB,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,iBAEvF"}
package/dist/publish.js CHANGED
@@ -1,4 +1,4 @@
1
- export async function publish(npmClient, outputDir) {
2
- await npmClient.publish(outputDir);
1
+ export async function publish(npmClient, outputDir, tag) {
2
+ await npmClient.publish(outputDir, tag);
3
3
  }
4
4
  //# sourceMappingURL=publish.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,SAAoB,EAAE,SAAuB;IACzE,MAAM,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;AACpC,CAAC"}
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,SAAoB,EAAE,SAAuB,EAAE,GAAW;IACtF,MAAM,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;AACzC,CAAC"}
@@ -2,6 +2,7 @@ import { PackageJson } from './package-json.js';
2
2
  import { AbsolutePath, RelativePath } from './paths.js';
3
3
  export interface MonorepoPackage {
4
4
  name: string;
5
+ publishAs: string;
5
6
  fromDir: AbsolutePath;
6
7
  pathInRepo: RelativePath;
7
8
  packageJson: PackageJson;
@@ -1 +1 @@
1
- {"version":3,"file":"repo-explorer.d.ts","sourceRoot":"","sources":["../src/repo-explorer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEvD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,YAAY,CAAA;IACrB,UAAU,EAAE,YAAY,CAAA;IACxB,WAAW,EAAE,WAAW,CAAA;CACzB;AAED,qBAAa,YAAY;IAErB,QAAQ,CAAC,WAAW,EAAE,YAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG;gBADX,WAAW,EAAE,YAAY,EACjB,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC;WAGvC,MAAM,CAAC,YAAY,EAAE,YAAY;IAkB9C,SAAS;IAGT,YAAY;IAIZ,UAAU,CAAC,OAAO,EAAE,MAAM;IAQ1B,aAAa,CAAC,OAAO,EAAE,MAAM;IAI7B,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,YAAY;IAuB7D,OAAO,CAAC,MAAM,CAAC,eAAe;IAa9B,OAAO,CAAC,MAAM,CAAC,sBAAsB;WA8BxB,QAAQ,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAyBzF"}
1
+ {"version":3,"file":"repo-explorer.d.ts","sourceRoot":"","sources":["../src/repo-explorer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAGvD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,YAAY,CAAA;IACrB,UAAU,EAAE,YAAY,CAAA;IACxB,WAAW,EAAE,WAAW,CAAA;CACzB;AAED,qBAAa,YAAY;IAErB,QAAQ,CAAC,WAAW,EAAE,YAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG;gBADX,WAAW,EAAE,YAAY,EACjB,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC;WAKvC,MAAM,CAAC,YAAY,EAAE,YAAY;IAkB9C,SAAS;IAGT,YAAY;IAIZ,UAAU,CAAC,OAAO,EAAE,MAAM;IAQ1B,aAAa,CAAC,OAAO,EAAE,MAAM;IAI7B,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,YAAY;IAuB7D,OAAO,CAAC,MAAM,CAAC,eAAe;IAa9B,OAAO,CAAC,MAAM,CAAC,sBAAsB;WA8BxB,QAAQ,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CA0BzF"}
@@ -3,12 +3,14 @@ import * as path from 'node:path';
3
3
  import { glob } from 'glob';
4
4
  import { PackageJson } from './package-json.js';
5
5
  import { AbsolutePath, RelativePath } from './paths.js';
6
+ import { validatePublishNames } from './validate-publish-names.js';
6
7
  export class RepoExplorer {
7
8
  repoRootDir;
8
9
  map;
9
10
  constructor(repoRootDir, map) {
10
11
  this.repoRootDir = repoRootDir;
11
12
  this.map = map;
13
+ validatePublishNames(map);
12
14
  }
13
15
  static async create(monorepoRoot) {
14
16
  const map = await this.discover(monorepoRoot);
@@ -108,6 +110,7 @@ export class RepoExplorer {
108
110
  if (packageJson.name) {
109
111
  packages.set(packageJson.name, {
110
112
  name: packageJson.name,
113
+ publishAs: packageJson.monocrate?.publishName ?? packageJson.name,
111
114
  fromDir: packageDir,
112
115
  pathInRepo: RelativePath(path.relative(monorepoRoot, packageDir)),
113
116
  packageJson,
@@ -1 +1 @@
1
- {"version":3,"file":"repo-explorer.js","sourceRoot":"","sources":["../src/repo-explorer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repo-explorer.js","sourceRoot":"","sources":["../src/repo-explorer.ts"],"names":[],"mappings":"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"}
@@ -1 +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;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,YAAY,QAsB/G"}
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,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,YAAY,QAuB/G"}
@@ -5,9 +5,10 @@ export function rewritePackageJson(closure, version, outputDir) {
5
5
  if (!subject) {
6
6
  throw new Error(`Incosistency in subject package name: "${closure.subjectPackageName}"`);
7
7
  }
8
- const { dependencies: _1, devDependencies: _2, ...rest } = subject.packageJson;
8
+ const { dependencies: _1, devDependencies: _2, monocrate: _3, ...rest } = subject.packageJson;
9
9
  const rewritten = {
10
10
  ...rest,
11
+ name: subject.publishAs,
11
12
  };
12
13
  if (version) {
13
14
  rewritten.version = version;
@@ -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;AAKjC,MAAM,UAAU,kBAAkB,CAAC,OAAuB,EAAE,OAA2B,EAAE,SAAuB;IAC9G,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,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"}
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,CAAC,OAAuB,EAAE,OAA2B,EAAE,SAAuB;IAC9G,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,0CAA0C,OAAO,CAAC,kBAAkB,GAAG,CAAC,CAAA;IAC1F,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,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,3 @@
1
+ import type { MonorepoPackage } from './repo-explorer.js';
2
+ export declare function validatePublishNames(packages: Map<string, MonorepoPackage>): void;
3
+ //# sourceMappingURL=validate-publish-names.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-publish-names.d.ts","sourceRoot":"","sources":["../src/validate-publish-names.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEzD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,IAAI,CAYjF"}
@@ -0,0 +1,11 @@
1
+ export function validatePublishNames(packages) {
2
+ const names = new Map();
3
+ for (const pkg of packages.values()) {
4
+ const other = names.get(pkg.publishAs);
5
+ if (other) {
6
+ throw new Error(`Publish name collision: both "${pkg.name}" and "${other}" would both be published as "${pkg.publishAs}"`);
7
+ }
8
+ names.set(pkg.publishAs, pkg.name);
9
+ }
10
+ }
11
+ //# sourceMappingURL=validate-publish-names.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-publish-names.js","sourceRoot":"","sources":["../src/validate-publish-names.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,oBAAoB,CAAC,QAAsC;IACzE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAA;IAEvC,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACtC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CACb,iCAAiC,GAAG,CAAC,IAAI,UAAU,KAAK,iCAAiC,GAAG,CAAC,SAAS,GAAG,CAC1G,CAAA;QACH,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;IACpC,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "monocrate",
3
- "version": "0.8.0",
3
+ "version": "0.10.0",
4
4
  "description": "From monorepo to npm in one command",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",