rman 1.3.0 → 2.0.0-beta.3
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 +65 -31
- package/builtins/platforms/node/augmentation/rmanrc.augmentation.d.ts +83 -0
- package/builtins/platforms/node/augmentation/system-info.augmentation.d.ts +26 -0
- package/builtins/platforms/node/augmentation/system-info.augmentation.js +79 -0
- package/builtins/platforms/node/commands/ci.command.d.ts +133 -0
- package/builtins/platforms/node/commands/ci.command.js +60 -0
- package/builtins/platforms/node/commands/clean.command.d.ts +185 -0
- package/builtins/platforms/node/commands/clean.command.js +74 -0
- package/builtins/platforms/node/index.d.ts +8 -0
- package/builtins/platforms/node/index.js +8 -0
- package/builtins/platforms/node/node-config.interface.d.ts +76 -0
- package/builtins/platforms/node/node-config.interface.js +7 -0
- package/builtins/platforms/node/node-manifest.provider.d.ts +68 -0
- package/builtins/platforms/node/node-manifest.provider.js +125 -0
- package/builtins/platforms/node/node.platform.d.ts +53 -0
- package/builtins/platforms/node/node.platform.js +134 -0
- package/builtins/platforms/node/services/ci.service.d.ts +47 -0
- package/builtins/platforms/node/services/ci.service.js +213 -0
- package/builtins/platforms/node/services/clean.service.d.ts +53 -0
- package/builtins/platforms/node/services/clean.service.js +237 -0
- package/builtins/platforms/node/services/publish.service.d.ts +114 -0
- package/builtins/platforms/node/services/publish.service.js +371 -0
- package/builtins/platforms/node/services/version-plan.service.d.ts +44 -0
- package/builtins/platforms/node/services/version-plan.service.js +58 -0
- package/builtins/platforms/node/utils/workspace-range.d.ts +26 -0
- package/builtins/platforms/node/utils/workspace-range.js +28 -0
- package/builtins/presets/index.d.ts +15 -0
- package/builtins/presets/index.js +57 -0
- package/builtins/presets/node.d.ts +16 -0
- package/builtins/presets/node.js +57 -0
- package/{services → builtins/publish-targets/docker}/docker-publish.service.d.ts +52 -31
- package/{services → builtins/publish-targets/docker}/docker-publish.service.js +49 -26
- package/builtins/publish-targets/docker/docker.target.d.ts +54 -0
- package/builtins/publish-targets/docker/docker.target.js +40 -0
- package/builtins/publish-targets/docker/index.d.ts +2 -0
- package/builtins/publish-targets/docker/index.js +2 -0
- package/builtins/publish-targets/npm/index.d.ts +2 -0
- package/builtins/publish-targets/npm/index.js +2 -0
- package/builtins/publish-targets/npm/npm-publish-target.d.ts +73 -0
- package/builtins/publish-targets/npm/npm-publish-target.js +95 -0
- package/builtins/publish-targets/npm/npm-view.d.ts +48 -0
- package/builtins/publish-targets/npm/npm-view.js +71 -0
- package/cli.d.ts +8 -0
- package/cli.js +228 -93
- package/commands/build.command.d.ts +177 -3
- package/commands/build.command.js +20 -10
- package/commands/changelog.command.d.ts +296 -3
- package/commands/changelog.command.js +127 -43
- package/commands/config.command.d.ts +44 -3
- package/commands/config.command.js +53 -24
- package/commands/diff.command.d.ts +37 -3
- package/commands/diff.command.js +25 -16
- package/commands/exec.command.d.ts +193 -3
- package/commands/exec.command.js +60 -58
- package/commands/github-release.command.d.ts +154 -3
- package/commands/github-release.command.js +67 -37
- package/commands/import.command.d.ts +36 -3
- package/commands/import.command.js +28 -20
- package/commands/info.command.d.ts +35 -7
- package/commands/info.command.js +36 -30
- package/commands/lint.command.d.ts +176 -0
- package/commands/lint.command.js +34 -0
- package/commands/list.command.d.ts +163 -3
- package/commands/list.command.js +109 -71
- package/commands/publish.command.d.ts +231 -0
- package/commands/publish.command.js +304 -0
- package/commands/run.command.d.ts +186 -6
- package/commands/run.command.js +26 -72
- package/commands/test.command.d.ts +173 -3
- package/commands/test.command.js +16 -10
- package/commands/version.command.d.ts +330 -3
- package/commands/version.command.js +292 -78
- package/commands.d.ts +32 -0
- package/commands.js +28 -0
- package/constants.js +1 -1
- package/core/application.d.ts +116 -0
- package/core/application.js +160 -0
- package/core/classes/package.d.ts +219 -0
- package/core/classes/package.js +214 -0
- package/core/classes/registry.d.ts +30 -0
- package/core/classes/registry.js +47 -0
- package/core/{repository.d.ts → classes/repository.d.ts} +69 -20
- package/core/{repository.js → classes/repository.js} +195 -75
- package/core/classes/service.d.ts +49 -0
- package/core/classes/service.js +40 -0
- package/core/{version-scheme.d.ts → classes/version-scheme.d.ts} +23 -1
- package/core/{version-scheme.js → classes/version-scheme.js} +29 -1
- package/core/classes/workspace.d.ts +275 -0
- package/core/classes/workspace.js +537 -0
- package/core/command-builder.d.ts +14 -0
- package/core/command-builder.js +94 -0
- package/core/config/config-file-scope.d.ts +107 -0
- package/core/config/config-file-scope.js +226 -0
- package/core/config/config-interpolator.d.ts +164 -0
- package/core/config/config-interpolator.js +577 -0
- package/core/config/config-paths.d.ts +65 -0
- package/core/config/config-paths.js +78 -0
- package/core/config/config-reader.d.ts +192 -0
- package/core/config/config-reader.js +727 -0
- package/core/{merge-config.d.ts → config/merge-config.d.ts} +33 -34
- package/core/config/merge-config.js +260 -0
- package/core/{resolve-target.d.ts → config/resolve-config-target.d.ts} +1 -1
- package/core/{resolve-target.js → config/resolve-config-target.js} +1 -1
- package/core/{custom-command.d.ts → interfaces/custom-command.d.ts} +46 -10
- package/core/{custom-command.js → interfaces/custom-command.js} +44 -17
- package/core/{manifest.d.ts → interfaces/manifest.d.ts} +49 -27
- package/core/interfaces/manifest.js +132 -0
- package/core/interfaces/plugin.d.ts +174 -0
- package/core/interfaces/plugin.js +124 -0
- package/core/interfaces/publish-target.d.ts +136 -0
- package/core/interfaces/publish-target.js +43 -0
- package/core/{run-step.d.ts → interfaces/run-step.d.ts} +4 -4
- package/core/interfaces/run-step.js +1 -0
- package/core/plugin-loader.d.ts +25 -0
- package/core/plugin-loader.js +53 -0
- package/index.d.ts +122 -24
- package/index.js +66 -16
- package/interfaces/config-scope.interface.d.ts +223 -0
- package/interfaces/config-scope.interface.js +1 -0
- package/interfaces/rman-config.interface.d.ts +821 -203
- package/interfaces/rman-config.interface.js +78 -1
- package/package.json +3 -1
- package/services/change-hash.service.d.ts +42 -8
- package/services/change-hash.service.js +92 -13
- package/services/changelog.service.d.ts +91 -52
- package/services/changelog.service.js +460 -74
- package/services/config-service.d.ts +8 -0
- package/services/config-service.js +3 -0
- package/services/exec.service.d.ts +23 -12
- package/services/exec.service.js +14 -9
- package/services/github-release.service.d.ts +45 -34
- package/services/github-release.service.js +15 -12
- package/services/import.service.d.ts +25 -14
- package/services/import.service.js +9 -5
- package/services/list.service.d.ts +67 -13
- package/services/list.service.js +62 -15
- package/services/run.service.d.ts +35 -22
- package/services/run.service.js +316 -233
- package/services/system-info.d.ts +1 -1
- package/services/version-plan.service.d.ts +35 -8
- package/services/version-plan.service.js +96 -36
- package/services/version.service.d.ts +34 -14
- package/services/version.service.js +35 -16
- package/services.d.ts +1 -1
- package/services.js +1 -1
- package/utils/bin-path.d.ts +6 -7
- package/utils/bin-path.js +7 -18
- package/utils/branch-guard.d.ts +30 -1
- package/utils/branch-guard.js +31 -0
- package/utils/color-yaml.d.ts +8 -0
- package/utils/color-yaml.js +86 -0
- package/utils/exec.d.ts +10 -0
- package/utils/exec.js +1 -1
- package/utils/git.d.ts +26 -0
- package/utils/git.js +65 -0
- package/utils/logger.d.ts +2 -2
- package/utils/logger.js +1 -1
- package/utils/package-filter.d.ts +135 -8
- package/utils/package-filter.js +204 -16
- package/utils/printable-config.d.ts +9 -1
- package/utils/printable-config.js +46 -1
- package/utils/progress-panel.d.ts +9 -0
- package/utils/progress-panel.js +23 -1
- package/utils/release-version.d.ts +1 -1
- package/utils/run-bin.d.ts +10 -0
- package/utils/run-bin.js +1 -1
- package/utils/run-options.d.ts +97 -0
- package/utils/run-options.js +81 -0
- package/utils/version-group.d.ts +31 -0
- package/utils/version-group.js +43 -0
- package/utils/version-stamp.d.ts +1 -1
- package/utils/version-stamp.js +1 -1
- package/commands/changed.command.d.ts +0 -3
- package/commands/changed.command.js +0 -29
- package/core/config.d.ts +0 -409
- package/core/config.js +0 -939
- package/core/extends-config.d.ts +0 -27
- package/core/extends-config.js +0 -89
- package/core/manifest.js +0 -150
- package/core/merge-config.js +0 -219
- package/core/package.d.ts +0 -83
- package/core/package.js +0 -106
- package/core/plugin.d.ts +0 -112
- package/core/plugin.js +0 -189
- package/core/workspace.d.ts +0 -68
- package/core/workspace.js +0 -83
- /package/{core/run-step.js → builtins/platforms/node/augmentation/rmanrc.augmentation.js} +0 -0
|
@@ -1,8 +1,23 @@
|
|
|
1
|
-
import type { Package } from '../core/package.js';
|
|
2
|
-
import type { Repository } from '../core/repository.js';
|
|
3
|
-
import
|
|
1
|
+
import type { Package } from '../core/classes/package.js';
|
|
2
|
+
import type { Repository } from '../core/classes/repository.js';
|
|
3
|
+
import { Service } from '../core/classes/service.js';
|
|
4
|
+
import type { RunStepContext, RunStepFn, RunStepValue } from '../core/interfaces/run-step.js';
|
|
4
5
|
import { type LogLevel } from '../utils/logger.js';
|
|
5
6
|
import { type PackageFilterOptions } from '../utils/package-filter.js';
|
|
7
|
+
/**
|
|
8
|
+
* A service class - see `ListService` for the shape and `Service` for the three measured
|
|
9
|
+
* consequences a namespace had.
|
|
10
|
+
*
|
|
11
|
+
* **Only `runScript` became a method**, because only it takes a repository. `getConfig`,
|
|
12
|
+
* `parseIfExpr`, `normalizeScriptValue` and the rest take a `Package` or a raw value and stay
|
|
13
|
+
* functions on the namespace below - the same rule that leaves `ChangeHashService` a namespace
|
|
14
|
+
* entirely. Declared before the namespace, which TypeScript requires for the merge.
|
|
15
|
+
*/
|
|
16
|
+
export declare class RunService extends Service {
|
|
17
|
+
runScript(script: string, options?: RunService.Options & {
|
|
18
|
+
commandName?: string;
|
|
19
|
+
}): Promise<void>;
|
|
20
|
+
}
|
|
6
21
|
export declare namespace RunService {
|
|
7
22
|
export interface Options extends PackageFilterOptions {
|
|
8
23
|
/** Max packages built at once: `true`/omitted = CPU count, a number = that many, `false` = serial (1). */
|
|
@@ -24,7 +39,7 @@ export declare namespace RunService {
|
|
|
24
39
|
* (which otherwise scopes the run to just that package, and skips the root's own pre/post
|
|
25
40
|
* bookend - see `Repository.currentPackage`). Has no effect when already at the repository
|
|
26
41
|
* root, or outside any known package. */
|
|
27
|
-
|
|
42
|
+
fromRoot?: boolean;
|
|
28
43
|
}
|
|
29
44
|
/**
|
|
30
45
|
* A package's `.rmanrc` (cascaded) can configure `run.<script>.*` - e.g.
|
|
@@ -89,21 +104,13 @@ export declare namespace RunService {
|
|
|
89
104
|
*
|
|
90
105
|
* The core knows one source: the config. **`package.json#scripts` is not a source the core has**,
|
|
91
106
|
* because "a script lives in package.json" is true of a Node repository and of nothing else -
|
|
92
|
-
* `
|
|
107
|
+
* the `node` built-in contributes that one (with npm's `pre<script>`/`post<script>` convention and its
|
|
93
108
|
* `&&` splitting), and a plugin for another ecosystem would contribute its own.
|
|
94
109
|
*
|
|
95
110
|
* Returns `undefined` for "this package declares nothing", not empty slots - the difference
|
|
96
111
|
* decides whether the config's value applies.
|
|
97
112
|
*/
|
|
98
113
|
export type StepSource = (pkg: Package, script: string) => ScriptSlots | undefined;
|
|
99
|
-
/**
|
|
100
|
-
* Registers a source. Called by `loadPlugins` for each plugin's `runSteps`, in `plugins`
|
|
101
|
-
* declaration order - never as an import side effect, so what is registered is exactly what the
|
|
102
|
-
* repository's `.rmanrc` asked for.
|
|
103
|
-
*/
|
|
104
|
-
export function addStepSource(source: StepSource): void;
|
|
105
|
-
/** For tests, which would otherwise leak a source into every later case in the process. */
|
|
106
|
-
export function clearStepSources(): void;
|
|
107
114
|
/**
|
|
108
115
|
* What the *package itself* declares for the lifecycle `script`, from the contributed sources
|
|
109
116
|
* alone - no `.rmanrc` involved. `undefined` when it declares nothing.
|
|
@@ -120,11 +127,15 @@ export declare namespace RunService {
|
|
|
120
127
|
* Runs one slot of a lifecycle belonging to some operation other than `run` itself - `version`'s
|
|
121
128
|
* hooks around the version write are the only one so far.
|
|
122
129
|
*
|
|
123
|
-
* **Here rather than in `VersionService`, because the rule it applies is this service's**:
|
|
124
|
-
* package's own declaration for `script`
|
|
125
|
-
*
|
|
126
|
-
* the copies would sit in the file that writes versions
|
|
127
|
-
* all.
|
|
130
|
+
* **Here rather than in `VersionService`, because the rule it applies is this service's**: how a
|
|
131
|
+
* package's own declaration for `script` and the caller's `fallback` combine, slot by slot -
|
|
132
|
+
* `slotValues`, the same function `getScriptSteps` decides it with. Kept in two places that rule
|
|
133
|
+
* would drift, and one of the copies would sit in the file that writes versions, which now runs
|
|
134
|
+
* no command of its own at all.
|
|
135
|
+
*
|
|
136
|
+
* So npm's `preversion` does **not** replace a repository's `.rmanrc version.before` any more;
|
|
137
|
+
* both run, the config's first. Only `version.exec` is a single answer, and there the package's
|
|
138
|
+
* own still wins.
|
|
128
139
|
*
|
|
129
140
|
* `fallback` is the caller's own configured step(s), **already evaluated**: `version`'s three
|
|
130
141
|
* paths are in `DEFERRED_PATHS` precisely because only the caller can bind
|
|
@@ -165,7 +176,7 @@ export declare namespace RunService {
|
|
|
165
176
|
*
|
|
166
177
|
* run:
|
|
167
178
|
* build:
|
|
168
|
-
* if: changed #
|
|
179
|
+
* if: changed # touched but not pushed
|
|
169
180
|
* test:
|
|
170
181
|
* if: changed = a1b2c3d # changed since a specific commit
|
|
171
182
|
* if: changed = {CHANGE_HASH} # {NAME} -> process.env.NAME first
|
|
@@ -193,9 +204,6 @@ export declare namespace RunService {
|
|
|
193
204
|
/** Evaluates a parsed `if` expression for one package. `statusCache` avoids repeat `git` calls
|
|
194
205
|
* for the same reference hash across packages/scripts in a single run. */
|
|
195
206
|
export function evaluateIf(repository: Repository, pkg: Package, node: IfNode, statusCache: Map<string, Record<string, Repository.PackageStatus>>): Promise<boolean>;
|
|
196
|
-
export function runScript(repository: Repository, script: string, options?: Options & {
|
|
197
|
-
commandName?: string;
|
|
198
|
-
}): Promise<void>;
|
|
199
207
|
export {};
|
|
200
208
|
}
|
|
201
209
|
/** Resolution order: explicit CLI flag > the package's resolved `.rmanrc` > `fallback`. */
|
|
@@ -208,3 +216,8 @@ export declare function resolveBool(cliValue: boolean | undefined, pkg: Package,
|
|
|
208
216
|
export declare function resolveBail(cliValue: boolean | undefined, pkg: Package, script: string, fallback: boolean): boolean;
|
|
209
217
|
export declare function resolveNumber(cliValue: number | undefined, pkg: Package, script: string, key: string, fallback: number): number;
|
|
210
218
|
export declare function resolveLogLevel(cliValue: LogLevel | undefined, pkg: Package, script: string, fallback: LogLevel): LogLevel;
|
|
219
|
+
declare module '../core/classes/service.js' {
|
|
220
|
+
interface ServiceMap {
|
|
221
|
+
run: RunService;
|
|
222
|
+
}
|
|
223
|
+
}
|