opkg 0.6.0 → 0.6.1
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 +35 -15
- package/dist/commands/duplicate.js +5 -2
- package/dist/commands/duplicate.js.map +1 -1
- package/dist/commands/init.js +4 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/install.js +8 -7
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/list.js +9 -3
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/login.js +58 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logout.js +28 -0
- package/dist/commands/logout.js.map +1 -0
- package/dist/commands/pull.js +5 -299
- package/dist/commands/pull.js.map +1 -1
- package/dist/commands/push.js +5 -245
- package/dist/commands/push.js.map +1 -1
- package/dist/commands/save.js +20 -4
- package/dist/commands/save.js.map +1 -1
- package/dist/commands/show.js +18 -5
- package/dist/commands/show.js.map +1 -1
- package/dist/commands/status.js +19 -6
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/tui.js +61 -0
- package/dist/commands/tui.js.map +1 -0
- package/dist/constants/index.js +1 -0
- package/dist/constants/index.js.map +1 -1
- package/dist/core/add/package-index-updater.js +4 -3
- package/dist/core/add/package-index-updater.js.map +1 -1
- package/dist/core/api-keys.js +6 -2
- package/dist/core/api-keys.js.map +1 -1
- package/dist/core/auth.js +25 -40
- package/dist/core/auth.js.map +1 -1
- package/dist/core/config.js +11 -3
- package/dist/core/config.js.map +1 -1
- package/dist/core/dependency-resolver.js +21 -10
- package/dist/core/dependency-resolver.js.map +1 -1
- package/dist/core/device-auth.js +81 -0
- package/dist/core/device-auth.js.map +1 -0
- package/dist/core/directory.js +14 -8
- package/dist/core/directory.js.map +1 -1
- package/dist/core/install/bulk-install-pipeline.js +2 -1
- package/dist/core/install/bulk-install-pipeline.js.map +1 -1
- package/dist/core/install/canonical-plan.js +11 -5
- package/dist/core/install/canonical-plan.js.map +1 -1
- package/dist/core/install/download-keys.js +2 -2
- package/dist/core/install/download-keys.js.map +1 -1
- package/dist/core/install/install-flow.js +6 -4
- package/dist/core/install/install-flow.js.map +1 -1
- package/dist/core/install/install-pipeline.js +74 -6
- package/dist/core/install/install-pipeline.js.map +1 -1
- package/dist/core/install/remote-flow.js +17 -6
- package/dist/core/install/remote-flow.js.map +1 -1
- package/dist/core/install/version-selection.js +25 -8
- package/dist/core/install/version-selection.js.map +1 -1
- package/dist/core/openpackage.js +6 -6
- package/dist/core/openpackage.js.map +1 -1
- package/dist/core/package.js +71 -8
- package/dist/core/package.js.map +1 -1
- package/dist/core/profiles.js +60 -3
- package/dist/core/profiles.js.map +1 -1
- package/dist/core/pull/pull-errors.js +62 -0
- package/dist/core/pull/pull-errors.js.map +1 -0
- package/dist/core/pull/pull-options.js +2 -0
- package/dist/core/pull/pull-options.js.map +1 -0
- package/dist/core/pull/pull-output.js +50 -0
- package/dist/core/pull/pull-output.js.map +1 -0
- package/dist/core/pull/pull-pipeline.js +141 -0
- package/dist/core/pull/pull-pipeline.js.map +1 -0
- package/dist/core/pull/pull-strategies.js +103 -0
- package/dist/core/pull/pull-strategies.js.map +1 -0
- package/dist/core/pull/pull-types.js +2 -0
- package/dist/core/pull/pull-types.js.map +1 -0
- package/dist/core/push/push-context.js +95 -0
- package/dist/core/push/push-context.js.map +1 -0
- package/dist/core/push/push-errors.js +133 -0
- package/dist/core/push/push-errors.js.map +1 -0
- package/dist/core/push/push-output.js +44 -0
- package/dist/core/push/push-output.js.map +1 -0
- package/dist/core/push/push-pipeline.js +74 -0
- package/dist/core/push/push-pipeline.js.map +1 -0
- package/dist/core/push/push-single-file.js +56 -0
- package/dist/core/push/push-single-file.js.map +1 -0
- package/dist/core/push/push-types.js +2 -0
- package/dist/core/push/push-types.js.map +1 -0
- package/dist/core/push/push-upload.js +68 -0
- package/dist/core/push/push-upload.js.map +1 -0
- package/dist/core/registry.js +4 -2
- package/dist/core/registry.js.map +1 -1
- package/dist/core/remote-pull.js +163 -35
- package/dist/core/remote-pull.js.map +1 -1
- package/dist/core/save/package-saver.js +37 -1
- package/dist/core/save/package-saver.js.map +1 -1
- package/dist/core/save/package-yml-generator.js +5 -4
- package/dist/core/save/package-yml-generator.js.map +1 -1
- package/dist/core/save/save-pipeline.js +17 -6
- package/dist/core/save/save-pipeline.js.map +1 -1
- package/dist/core/save/save-single-file.js +124 -0
- package/dist/core/save/save-single-file.js.map +1 -0
- package/dist/core/scoping/package-scoping.js +1 -1
- package/dist/core/scoping/package-scoping.js.map +1 -1
- package/dist/core/token-store.js +73 -0
- package/dist/core/token-store.js.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/tui/app.js +95 -0
- package/dist/tui/app.js.map +1 -0
- package/dist/tui/components/package-list.js +73 -0
- package/dist/tui/components/package-list.js.map +1 -0
- package/dist/tui/controller.js +365 -0
- package/dist/tui/controller.js.map +1 -0
- package/dist/tui/index.js +12 -0
- package/dist/tui/index.js.map +1 -0
- package/dist/tui/services/file-index.js +64 -0
- package/dist/tui/services/file-index.js.map +1 -0
- package/dist/tui/services/packages.js +18 -0
- package/dist/tui/services/packages.js.map +1 -0
- package/dist/tui/services/save.js +21 -0
- package/dist/tui/services/save.js.map +1 -0
- package/dist/tui/state/app-state.js +15 -0
- package/dist/tui/state/app-state.js.map +1 -0
- package/dist/tui/state.js +17 -0
- package/dist/tui/state.js.map +1 -0
- package/dist/tui/types.js +2 -0
- package/dist/tui/types.js.map +1 -0
- package/dist/tui/views/add-file-modal.js +129 -0
- package/dist/tui/views/add-file-modal.js.map +1 -0
- package/dist/tui/views/file-preview.js +44 -0
- package/dist/tui/views/file-preview.js.map +1 -0
- package/dist/tui/views/list-packages.js +73 -0
- package/dist/tui/views/list-packages.js.map +1 -0
- package/dist/tui/views/main-menu.js +29 -0
- package/dist/tui/views/main-menu.js.map +1 -0
- package/dist/tui/views/manage-view.js +81 -0
- package/dist/tui/views/manage-view.js.map +1 -0
- package/dist/tui/views/package-hub.js +120 -0
- package/dist/tui/views/package-hub.js.map +1 -0
- package/dist/tui/views/placeholder.js +24 -0
- package/dist/tui/views/placeholder.js.map +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/utils/bun-bootstrap.js +72 -0
- package/dist/utils/bun-bootstrap.js.map +1 -0
- package/dist/utils/formatters.js +3 -1
- package/dist/utils/formatters.js.map +1 -1
- package/dist/utils/http-client.js +27 -5
- package/dist/utils/http-client.js.map +1 -1
- package/dist/utils/index-based-installer.js +25 -2
- package/dist/utils/index-based-installer.js.map +1 -1
- package/dist/utils/install-file-discovery.js +17 -23
- package/dist/utils/install-file-discovery.js.map +1 -1
- package/dist/utils/manifest-paths.js +27 -0
- package/dist/utils/manifest-paths.js.map +1 -0
- package/dist/utils/package-management.js +139 -45
- package/dist/utils/package-management.js.map +1 -1
- package/dist/utils/package-merge.js +48 -0
- package/dist/utils/package-merge.js.map +1 -0
- package/dist/utils/package-name.js +29 -0
- package/dist/utils/package-name.js.map +1 -1
- package/dist/utils/package-versioning.js +16 -4
- package/dist/utils/package-versioning.js.map +1 -1
- package/dist/utils/package-yml.js +17 -12
- package/dist/utils/package-yml.js.map +1 -1
- package/dist/utils/prompts.js +0 -31
- package/dist/utils/prompts.js.map +1 -1
- package/dist/utils/registry-entry-filter.js +2 -2
- package/dist/utils/registry-entry-filter.js.map +1 -1
- package/dist/utils/registry-paths.js +38 -0
- package/dist/utils/registry-paths.js.map +1 -1
- package/dist/utils/tarball.js +6 -2
- package/dist/utils/tarball.js.map +1 -1
- package/dist/utils/version-ranges.js +11 -8
- package/dist/utils/version-ranges.js.map +1 -1
- package/package.json +2 -2
- package/specs/auth/auth-device-flow.md +70 -0
- package/specs/install/install-behavior.md +30 -0
- package/specs/install/package-yml-canonical.md +21 -1
- package/specs/install/version-resolution.md +9 -7
- package/specs/login/login-device-flow.md +70 -0
- package/specs/push/push-behavior.md +38 -10
- package/specs/push/push-errors-and-hints.md +19 -6
- package/specs/push/push-remote-upload.md +3 -0
- package/specs/push/push-scoping.md +14 -22
- package/specs/push/push-version-selection.md +18 -16
- package/specs/save/save-modes-inputs.md +3 -1
- package/specs/save-pack.md +1 -0
|
@@ -4,14 +4,16 @@ import { parsePackageYml, writePackageYml } from './package-yml.js';
|
|
|
4
4
|
import { exists, ensureDir } from './fs.js';
|
|
5
5
|
import { logger } from './logger.js';
|
|
6
6
|
import { getLocalOpenPackageDir, getLocalPackageYmlPath, getLocalPackagesDir, getLocalPackageDir } from './paths.js';
|
|
7
|
-
import { DEPENDENCY_ARRAYS } from '../constants/index.js';
|
|
7
|
+
import { DEPENDENCY_ARRAYS, PACKAGE_PATHS } from '../constants/index.js';
|
|
8
8
|
import { createCaretRange, hasExplicitPrereleaseIntent, isPrereleaseVersion } from './version-ranges.js';
|
|
9
9
|
import { extractBaseVersion } from './version-generator.js';
|
|
10
|
+
import { isUnversionedVersion } from './package-versioning.js';
|
|
10
11
|
import { normalizePackageName, arePackageNamesEquivalent } from './package-name.js';
|
|
11
12
|
import { packageManager } from '../core/package.js';
|
|
12
13
|
import { promptPackageDetailsForNamed } from './prompts.js';
|
|
13
14
|
import { writePackageFilesToDirectory } from './package-copy.js';
|
|
14
15
|
import { getPackageFilesDir, getPackageYmlPath } from '../core/package-context.js';
|
|
16
|
+
import { buildNormalizedIncludeSet, isManifestPath, normalizePackagePath } from './manifest-paths.js';
|
|
15
17
|
/**
|
|
16
18
|
* Ensure local OpenPackage directory structure exists
|
|
17
19
|
* Shared utility for both install and save commands
|
|
@@ -36,7 +38,6 @@ export async function createWorkspacePackageYml(cwd, force = false) {
|
|
|
36
38
|
const projectName = basename(cwd);
|
|
37
39
|
const basicPackageYml = {
|
|
38
40
|
name: projectName,
|
|
39
|
-
version: '0.1.0',
|
|
40
41
|
packages: [],
|
|
41
42
|
'dev-packages': []
|
|
42
43
|
};
|
|
@@ -71,13 +72,37 @@ export async function ensurePackageWithYml(cwd, packageName, options = {}) {
|
|
|
71
72
|
}
|
|
72
73
|
else {
|
|
73
74
|
isNew = true;
|
|
74
|
-
|
|
75
|
-
|
|
75
|
+
// Try to seed from existing local registry copy to avoid prompts and preserve metadata.
|
|
76
|
+
try {
|
|
77
|
+
const registryExists = await packageManager.packageExists(normalizedName);
|
|
78
|
+
if (registryExists) {
|
|
79
|
+
const existing = await packageManager.loadPackage(normalizedName);
|
|
80
|
+
packageConfig = {
|
|
81
|
+
...existing.metadata,
|
|
82
|
+
name: normalizedName,
|
|
83
|
+
partial: true
|
|
84
|
+
};
|
|
85
|
+
logger.info(`Loaded package.yml for '${normalizedName}' from local registry copy`);
|
|
86
|
+
console.log(`✓ Loaded package.yml from local registry for ${normalizedName}`);
|
|
87
|
+
}
|
|
76
88
|
}
|
|
77
|
-
|
|
89
|
+
catch (error) {
|
|
90
|
+
logger.debug('Unable to seed package.yml from registry; falling back to prompts', { normalizedName, error });
|
|
91
|
+
}
|
|
92
|
+
if (!packageConfig) {
|
|
93
|
+
if (options.interactive) {
|
|
94
|
+
console.log(`Create new package "${normalizedName}"`);
|
|
95
|
+
packageConfig = await promptPackageDetailsForNamed(normalizedName);
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
packageConfig = {
|
|
99
|
+
name: normalizedName,
|
|
100
|
+
...(options.defaultVersion ? { version: options.defaultVersion } : {})
|
|
101
|
+
};
|
|
102
|
+
}
|
|
78
103
|
packageConfig = {
|
|
79
|
-
|
|
80
|
-
|
|
104
|
+
...packageConfig,
|
|
105
|
+
partial: true
|
|
81
106
|
};
|
|
82
107
|
}
|
|
83
108
|
if (!packageConfig.include || packageConfig.include.length === 0) {
|
|
@@ -87,7 +112,7 @@ export async function ensurePackageWithYml(cwd, packageName, options = {}) {
|
|
|
87
112
|
};
|
|
88
113
|
}
|
|
89
114
|
await writePackageYml(packageYmlPath, packageConfig);
|
|
90
|
-
logger.info(`Created new package '${packageConfig.name}
|
|
115
|
+
logger.info(`Created new package '${packageConfig.name}${packageConfig.version ? `@${packageConfig.version}` : ''}' at ${relative(cwd, packageDir)}`);
|
|
91
116
|
}
|
|
92
117
|
if (packageConfig.name !== normalizedName) {
|
|
93
118
|
const updatedConfig = { ...packageConfig, name: normalizedName };
|
|
@@ -107,7 +132,7 @@ export async function ensurePackageWithYml(cwd, packageName, options = {}) {
|
|
|
107
132
|
* Shared utility for both install and save commands
|
|
108
133
|
*/
|
|
109
134
|
export async function addPackageToYml(cwd, packageName, packageVersion, isDev = false, originalVersion, // The original version/range that was requested
|
|
110
|
-
silent = false) {
|
|
135
|
+
silent = false, include) {
|
|
111
136
|
const packageYmlPath = getLocalPackageYmlPath(cwd);
|
|
112
137
|
if (!(await exists(packageYmlPath))) {
|
|
113
138
|
return; // If no package.yml exists, ignore this step
|
|
@@ -118,6 +143,7 @@ silent = false) {
|
|
|
118
143
|
if (!config[DEPENDENCY_ARRAYS.DEV_PACKAGES])
|
|
119
144
|
config[DEPENDENCY_ARRAYS.DEV_PACKAGES] = [];
|
|
120
145
|
const normalizedPackageName = normalizePackageName(packageName);
|
|
146
|
+
const nameWithVersion = packageVersion ? `${packageName}@${packageVersion}` : packageName;
|
|
121
147
|
const packagesArray = config.packages;
|
|
122
148
|
const devPackagesArray = config[DEPENDENCY_ARRAYS.DEV_PACKAGES];
|
|
123
149
|
const findIndex = (arr) => arr.findIndex(dep => arePackageNamesEquivalent(dep.name, normalizedPackageName));
|
|
@@ -138,50 +164,67 @@ silent = false) {
|
|
|
138
164
|
const existingRange = currentLocation && existingIndex >= 0
|
|
139
165
|
? config[currentLocation][existingIndex]?.version
|
|
140
166
|
: undefined;
|
|
141
|
-
const
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
const
|
|
146
|
-
|
|
147
|
-
if (
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
167
|
+
const shouldOmitVersion = isUnversionedVersion(packageVersion) || isUnversionedVersion(originalVersion);
|
|
168
|
+
let versionToWrite = shouldOmitVersion ? undefined : originalVersion;
|
|
169
|
+
if (!shouldOmitVersion && packageVersion) {
|
|
170
|
+
const baseVersion = extractBaseVersion(packageVersion);
|
|
171
|
+
const defaultRange = createCaretRange(baseVersion);
|
|
172
|
+
versionToWrite = originalVersion ?? defaultRange;
|
|
173
|
+
if (!originalVersion && existingRange) {
|
|
174
|
+
const hasPrereleaseIntent = hasExplicitPrereleaseIntent(existingRange);
|
|
175
|
+
const isNewVersionStable = !isPrereleaseVersion(packageVersion);
|
|
176
|
+
if (hasPrereleaseIntent) {
|
|
177
|
+
if (isNewVersionStable) {
|
|
178
|
+
// Constraint has explicit prerelease intent and we're packing a stable
|
|
179
|
+
// version on the same base line: normalize to a stable caret.
|
|
180
|
+
versionToWrite = createCaretRange(baseVersion);
|
|
181
|
+
logger.debug(`Updating range from prerelease-including '${existingRange}' to stable '${versionToWrite}' ` +
|
|
182
|
+
`for ${packageName} (pack transition to ${packageVersion})`);
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
// For prerelease-intent ranges during saves (prerelease versions),
|
|
186
|
+
// always preserve the existing constraint.
|
|
187
|
+
versionToWrite = existingRange;
|
|
188
|
+
}
|
|
154
189
|
}
|
|
155
|
-
else {
|
|
156
|
-
//
|
|
157
|
-
//
|
|
190
|
+
else if (rangeIncludesVersion(existingRange, baseVersion)) {
|
|
191
|
+
// Stable (non-prerelease) constraint that already includes the new base
|
|
192
|
+
// version: keep it unchanged.
|
|
158
193
|
versionToWrite = existingRange;
|
|
159
194
|
}
|
|
195
|
+
else {
|
|
196
|
+
// Stable constraint that does not include the new base version: bump to
|
|
197
|
+
// a new caret on the packed stable.
|
|
198
|
+
versionToWrite = defaultRange;
|
|
199
|
+
}
|
|
160
200
|
}
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
201
|
+
}
|
|
202
|
+
const existingDep = currentLocation && existingIndex >= 0 ? config[currentLocation][existingIndex] : null;
|
|
203
|
+
let includeToWrite;
|
|
204
|
+
if (include === undefined) {
|
|
205
|
+
includeToWrite = existingDep?.include;
|
|
206
|
+
}
|
|
207
|
+
else if (include === null) {
|
|
208
|
+
includeToWrite = undefined;
|
|
209
|
+
}
|
|
210
|
+
else {
|
|
211
|
+
const unique = Array.from(new Set(include));
|
|
212
|
+
includeToWrite = unique.length > 0 ? unique : undefined;
|
|
171
213
|
}
|
|
172
214
|
const dependency = {
|
|
173
215
|
name: normalizedPackageName,
|
|
174
|
-
version: versionToWrite
|
|
216
|
+
...(versionToWrite ? { version: versionToWrite } : {}),
|
|
217
|
+
...(includeToWrite ? { include: includeToWrite } : {})
|
|
175
218
|
};
|
|
176
219
|
// Determine target location (packages vs dev-packages)
|
|
177
220
|
let targetArray;
|
|
178
221
|
if (currentLocation === DEPENDENCY_ARRAYS.DEV_PACKAGES && !isDev) {
|
|
179
222
|
targetArray = DEPENDENCY_ARRAYS.DEV_PACKAGES;
|
|
180
|
-
logger.info(`Keeping package in dev-packages: ${
|
|
223
|
+
logger.info(`Keeping package in dev-packages: ${nameWithVersion}`);
|
|
181
224
|
}
|
|
182
225
|
else if (currentLocation === DEPENDENCY_ARRAYS.PACKAGES && isDev) {
|
|
183
226
|
targetArray = DEPENDENCY_ARRAYS.DEV_PACKAGES;
|
|
184
|
-
logger.info(`Moving package from packages to dev-packages: ${
|
|
227
|
+
logger.info(`Moving package from packages to dev-packages: ${nameWithVersion}`);
|
|
185
228
|
}
|
|
186
229
|
else {
|
|
187
230
|
targetArray = isDev ? DEPENDENCY_ARRAYS.DEV_PACKAGES : DEPENDENCY_ARRAYS.PACKAGES;
|
|
@@ -196,21 +239,22 @@ silent = false) {
|
|
|
196
239
|
const targetArrayRef = config[targetArray];
|
|
197
240
|
const existingTargetIndex = currentLocation === targetArray ? findIndex(targetArrayRef) : -1;
|
|
198
241
|
if (existingTargetIndex >= 0) {
|
|
199
|
-
const
|
|
200
|
-
const versionChanged =
|
|
201
|
-
|
|
242
|
+
const existingDepForTarget = targetArrayRef[existingTargetIndex];
|
|
243
|
+
const versionChanged = existingDepForTarget.version !== dependency.version;
|
|
244
|
+
const includeChanged = JSON.stringify(existingDepForTarget.include ?? []) !== JSON.stringify(includeToWrite ?? []);
|
|
245
|
+
if (versionChanged || includeChanged) {
|
|
202
246
|
targetArrayRef[existingTargetIndex] = dependency;
|
|
203
247
|
if (!silent) {
|
|
204
|
-
logger.info(`Updated existing package dependency: ${
|
|
205
|
-
console.log(`✓ Updated ${
|
|
248
|
+
logger.info(`Updated existing package dependency: ${nameWithVersion}`);
|
|
249
|
+
console.log(`✓ Updated ${nameWithVersion} in main package.yml`);
|
|
206
250
|
}
|
|
207
251
|
}
|
|
208
252
|
}
|
|
209
253
|
else {
|
|
210
254
|
targetArrayRef.push(dependency);
|
|
211
255
|
if (!silent) {
|
|
212
|
-
logger.info(`Added new package dependency: ${
|
|
213
|
-
console.log(`✓ Added ${
|
|
256
|
+
logger.info(`Added new package dependency: ${nameWithVersion}`);
|
|
257
|
+
console.log(`✓ Added ${nameWithVersion} to main package.yml`);
|
|
214
258
|
}
|
|
215
259
|
}
|
|
216
260
|
await writePackageYml(packageYmlPath, config);
|
|
@@ -226,6 +270,56 @@ export async function writeLocalPackageFromRegistry(cwd, packageName, version) {
|
|
|
226
270
|
preserveIndexFile: true
|
|
227
271
|
});
|
|
228
272
|
}
|
|
273
|
+
/**
|
|
274
|
+
* Copy a subset of package files from the local registry into the project cache (.openpackage/packages/<pkg>/),
|
|
275
|
+
* always including package.yml. Used for partial installs.
|
|
276
|
+
*/
|
|
277
|
+
export async function writePartialLocalPackageFromRegistry(cwd, packageName, version, includePaths) {
|
|
278
|
+
const pkg = await packageManager.loadPackage(packageName, version);
|
|
279
|
+
const localPackageDir = getLocalPackageDir(cwd, packageName);
|
|
280
|
+
const normalizedIncludes = buildNormalizedIncludeSet(includePaths);
|
|
281
|
+
const filteredFiles = pkg.files.filter(file => {
|
|
282
|
+
const p = normalizePackagePath(file.path);
|
|
283
|
+
if (isManifestPath(p))
|
|
284
|
+
return true; // always keep manifest
|
|
285
|
+
if (p === PACKAGE_PATHS.INDEX_RELATIVE)
|
|
286
|
+
return false; // never copy index from registry
|
|
287
|
+
if (!normalizedIncludes)
|
|
288
|
+
return true;
|
|
289
|
+
return normalizedIncludes.has(p);
|
|
290
|
+
});
|
|
291
|
+
await writePackageFilesToDirectory(localPackageDir, filteredFiles, {
|
|
292
|
+
preserveIndexFile: true
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Update only the include list for an existing dependency in package.yml.
|
|
297
|
+
* - include: string[] => set/dedupe
|
|
298
|
+
* - include: null => clear include field
|
|
299
|
+
* - include: undefined => no-op
|
|
300
|
+
*/
|
|
301
|
+
export async function updatePackageDependencyInclude(cwd, packageName, target, include) {
|
|
302
|
+
if (include === undefined)
|
|
303
|
+
return;
|
|
304
|
+
const packageYmlPath = getLocalPackageYmlPath(cwd);
|
|
305
|
+
if (!(await exists(packageYmlPath)))
|
|
306
|
+
return;
|
|
307
|
+
const config = await parsePackageYml(packageYmlPath);
|
|
308
|
+
const arr = config[target];
|
|
309
|
+
if (!arr)
|
|
310
|
+
return;
|
|
311
|
+
const idx = arr.findIndex(dep => arePackageNamesEquivalent(dep.name, packageName));
|
|
312
|
+
if (idx === -1)
|
|
313
|
+
return;
|
|
314
|
+
const unique = include === null ? undefined : Array.from(new Set(include));
|
|
315
|
+
if (unique && unique.length > 0) {
|
|
316
|
+
arr[idx].include = unique;
|
|
317
|
+
}
|
|
318
|
+
else {
|
|
319
|
+
delete arr[idx].include;
|
|
320
|
+
}
|
|
321
|
+
await writePackageYml(packageYmlPath, config);
|
|
322
|
+
}
|
|
229
323
|
function rangeIncludesVersion(range, version) {
|
|
230
324
|
if (!range || !version) {
|
|
231
325
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-management.js","sourceRoot":"","sources":["../../src/utils/package-management.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"package-management.js","sourceRoot":"","sources":["../../src/utils/package-management.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import * as yaml from 'js-yaml';
|
|
2
|
+
import { PACKAGE_PATHS } from '../constants/index.js';
|
|
3
|
+
import { normalizePathForProcessing } from './path-normalization.js';
|
|
4
|
+
import { serializePackageYml } from './package-yml.js';
|
|
5
|
+
const PACKAGE_INDEX = normalizePathForProcessing(PACKAGE_PATHS.INDEX_RELATIVE);
|
|
6
|
+
/**
|
|
7
|
+
* Merge two sets of package files:
|
|
8
|
+
* - normalizes paths
|
|
9
|
+
* - skips package index
|
|
10
|
+
* - incoming wins on conflicts
|
|
11
|
+
*/
|
|
12
|
+
export function mergePackageFiles(base, incoming) {
|
|
13
|
+
const byPath = new Map();
|
|
14
|
+
const addAll = (list) => {
|
|
15
|
+
for (const file of list) {
|
|
16
|
+
const normalized = normalizePathForProcessing(file.path) || file.path;
|
|
17
|
+
if (normalized === PACKAGE_INDEX)
|
|
18
|
+
continue; // never merge index
|
|
19
|
+
byPath.set(normalized, { ...file, path: normalized });
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
addAll(base);
|
|
23
|
+
addAll(incoming);
|
|
24
|
+
return Array.from(byPath.values());
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Remove partial: true from manifest content if present, re-serializing with existing helper.
|
|
28
|
+
*/
|
|
29
|
+
export function stripPartialFlag(files, fallbackName) {
|
|
30
|
+
return files.map(file => {
|
|
31
|
+
const normalized = normalizePathForProcessing(file.path) || file.path;
|
|
32
|
+
if (normalized !== PACKAGE_PATHS.MANIFEST_RELATIVE) {
|
|
33
|
+
return file;
|
|
34
|
+
}
|
|
35
|
+
try {
|
|
36
|
+
const parsed = yaml.load(file.content) || { name: fallbackName };
|
|
37
|
+
if (parsed.partial !== undefined) {
|
|
38
|
+
delete parsed.partial;
|
|
39
|
+
return { ...file, content: serializePackageYml(parsed) };
|
|
40
|
+
}
|
|
41
|
+
return file;
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return file;
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=package-merge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-merge.js","sourceRoot":"","sources":["../../src/utils/package-merge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,aAAa,GAAG,0BAA0B,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;AAE/E;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAmB,EAAE,QAAuB;IAC5E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IAE9C,MAAM,MAAM,GAAG,CAAC,IAAmB,EAAE,EAAE;QACrC,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,UAAU,GAAG,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;YACtE,IAAI,UAAU,KAAK,aAAa;gBAAE,SAAS,CAAC,oBAAoB;YAChE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,CAAC;IACb,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEjB,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAoB,EAAE,YAAqB;IAC1E,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACtB,MAAM,UAAU,GAAG,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;QACtE,IAAI,UAAU,KAAK,aAAa,CAAC,iBAAiB,EAAE,CAAC;YACnD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAgB,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;YACjF,IAAK,MAAc,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1C,OAAQ,MAAc,CAAC,OAAO,CAAC;gBAC/B,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3D,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -80,6 +80,35 @@ export function parsePackageInput(packageInput) {
|
|
|
80
80
|
version
|
|
81
81
|
};
|
|
82
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Parse an install spec that may include a registry-relative path:
|
|
85
|
+
* - name/path
|
|
86
|
+
* - name@version/path
|
|
87
|
+
* Returns { name, version?, registryPath? }
|
|
88
|
+
*/
|
|
89
|
+
export function parsePackageInstallSpec(raw) {
|
|
90
|
+
const firstSlash = raw.indexOf('/', raw.startsWith('@') ? raw.indexOf('/', 1) + 1 : 0);
|
|
91
|
+
if (firstSlash === -1) {
|
|
92
|
+
// No path portion; fall back to standard parsing
|
|
93
|
+
return parsePackageInput(raw);
|
|
94
|
+
}
|
|
95
|
+
const packagePortion = raw.slice(0, firstSlash);
|
|
96
|
+
const registryPath = raw.slice(firstSlash + 1);
|
|
97
|
+
if (!registryPath) {
|
|
98
|
+
throw new ValidationError(`Invalid install spec '${raw}'. Provide a registry path after the package name, e.g. package/path/to/file.md.`);
|
|
99
|
+
}
|
|
100
|
+
const { name, version } = parsePackageInput(packagePortion);
|
|
101
|
+
return { name, version, registryPath };
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Parse a push spec that may include a registry-relative path (same format as install):
|
|
105
|
+
* - name/path
|
|
106
|
+
* - name@version/path
|
|
107
|
+
* Returns { name, version?, registryPath? }
|
|
108
|
+
*/
|
|
109
|
+
export function parsePackagePushSpec(raw) {
|
|
110
|
+
return parsePackageInstallSpec(raw);
|
|
111
|
+
}
|
|
83
112
|
/**
|
|
84
113
|
* Normalize a package name to lowercase, handling scoped names properly.
|
|
85
114
|
* Scoped names like @Scope/Name become @scope/name.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-name.js","sourceRoot":"","sources":["../../src/utils/package-name.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"package-name.js","sourceRoot":"","sources":["../../src/utils/package-name.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import yaml from 'js-yaml';
|
|
|
3
3
|
import { extractBaseVersion } from './version-generator.js';
|
|
4
4
|
import { getPackageVersionPath } from '../core/directory.js';
|
|
5
5
|
import { exists } from './fs.js';
|
|
6
|
-
import { FILE_PATTERNS } from '../constants/index.js';
|
|
6
|
+
import { FILE_PATTERNS, UNVERSIONED } from '../constants/index.js';
|
|
7
7
|
import { isScopedName } from '../core/scoping/package-scoping.js';
|
|
8
8
|
/**
|
|
9
9
|
* Compute stable version from a prerelease version
|
|
@@ -82,7 +82,7 @@ export function transformPackageFilesMetadata(files, sourceName, newName, newVer
|
|
|
82
82
|
const updated = {
|
|
83
83
|
...parsed,
|
|
84
84
|
name: newName,
|
|
85
|
-
version: newVersion
|
|
85
|
+
...(newVersion ? { version: newVersion } : { version: undefined })
|
|
86
86
|
};
|
|
87
87
|
const dumped = dumpYamlWithScopedQuoting(updated, { lineWidth: 120 });
|
|
88
88
|
return { ...file, content: dumped };
|
|
@@ -91,7 +91,7 @@ export function transformPackageFilesMetadata(files, sourceName, newName, newVer
|
|
|
91
91
|
// Fallback: minimal rewrite if parsing fails
|
|
92
92
|
const fallback = {
|
|
93
93
|
name: newName,
|
|
94
|
-
version: newVersion
|
|
94
|
+
...(newVersion ? { version: newVersion } : {})
|
|
95
95
|
};
|
|
96
96
|
const dumped = dumpYamlWithScopedQuoting(fallback, { lineWidth: 120 });
|
|
97
97
|
return { ...file, content: dumped };
|
|
@@ -104,9 +104,21 @@ export function transformPackageFilesMetadata(files, sourceName, newName, newVer
|
|
|
104
104
|
* Check if a package version already exists
|
|
105
105
|
*/
|
|
106
106
|
export async function packageVersionExists(packageName, version) {
|
|
107
|
-
const targetPath = getPackageVersionPath(packageName, version);
|
|
107
|
+
const targetPath = getPackageVersionPath(packageName, version ?? UNVERSIONED);
|
|
108
108
|
return await exists(targetPath);
|
|
109
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* Returns true when a version is absent or explicitly marked as unversioned.
|
|
112
|
+
*/
|
|
113
|
+
export function isUnversionedVersion(version) {
|
|
114
|
+
return version === undefined || version === null || version === UNVERSIONED;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Normalizes a version string for display/logging.
|
|
118
|
+
*/
|
|
119
|
+
export function formatVersionLabel(version) {
|
|
120
|
+
return isUnversionedVersion(version) ? UNVERSIONED : version;
|
|
121
|
+
}
|
|
110
122
|
/**
|
|
111
123
|
* Filter a list of versions down to semver-valid stable releases.
|
|
112
124
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-versioning.js","sourceRoot":"","sources":["../../src/utils/package-versioning.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"package-versioning.js","sourceRoot":"","sources":["../../src/utils/package-versioning.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;IAC3D,CAAC;IACD,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAkB,EAAE,UAA4B,EAAE;IAC1F,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;IAEjE,iCAAiC;IACjC,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBACnD,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBACnC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;wBACrD,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,UAAU,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;oBACzE,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;QACH,CAAC;QACD,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qCAAqC,CACnD,KAAoB,EACpB,UAAkB,EAClB,WAAmB;IAEnB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAe,CAAC;gBACrD,MAAM,OAAO,GAAe;oBAC1B,GAAG,MAAM;oBACT,OAAO,EAAE,UAAU;iBACpB,CAAC;gBACF,MAAM,MAAM,GAAG,yBAAyB,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;gBACtE,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YACtC,CAAC;YAAC,MAAM,CAAC;gBACP,6CAA6C;gBAC7C,MAAM,QAAQ,GAAe;oBAC3B,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,UAAU;iBACpB,CAAC;gBACF,MAAM,MAAM,GAAG,yBAAyB,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;gBACvE,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YACtC,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAC3C,KAAoB,EACpB,UAAkB,EAClB,OAAe,EACf,UAA8B;IAE9B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,qBAAqB;QACrB,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAe,CAAC;gBACrD,MAAM,OAAO,GAAe;oBAC1B,GAAG,MAAM;oBACT,IAAI,EAAE,OAAO;oBACb,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;iBACnE,CAAC;gBACF,MAAM,MAAM,GAAG,yBAAyB,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;gBACtE,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YACtC,CAAC;YAAC,MAAM,CAAC;gBACP,6CAA6C;gBAC7C,MAAM,QAAQ,GAAe;oBAC3B,IAAI,EAAE,OAAO;oBACb,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC/C,CAAC;gBACF,MAAM,MAAM,GAAG,yBAAyB,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;gBACvE,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YACtC,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,WAAmB,EAAE,OAAgB;IAC9E,MAAM,UAAU,GAAG,qBAAqB,CAAC,WAAW,EAAE,OAAO,IAAI,WAAW,CAAC,CAAC;IAC9E,OAAO,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAuB;IAC1D,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,WAAW,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAuB;IACxD,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAE,OAAkB,CAAC;AAC3E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAkB;IACrD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAkB;IACvD,MAAM,cAAc,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -18,9 +18,10 @@ export async function parsePackageYml(packageYmlPath) {
|
|
|
18
18
|
try {
|
|
19
19
|
const content = await readTextFile(packageYmlPath);
|
|
20
20
|
const parsed = yaml.load(content);
|
|
21
|
+
const isPartial = parsed.partial === true;
|
|
21
22
|
// Validate required fields
|
|
22
|
-
if (!parsed.name
|
|
23
|
-
throw new Error('package.yml must contain name
|
|
23
|
+
if (!parsed.name) {
|
|
24
|
+
throw new Error('package.yml must contain a name field');
|
|
24
25
|
}
|
|
25
26
|
const includeFilters = normalizeStringArray(parsed.include);
|
|
26
27
|
const excludeFilters = normalizeStringArray(parsed.exclude);
|
|
@@ -36,6 +37,12 @@ export async function parsePackageYml(packageYmlPath) {
|
|
|
36
37
|
else {
|
|
37
38
|
delete parsed.exclude;
|
|
38
39
|
}
|
|
40
|
+
if (isPartial) {
|
|
41
|
+
parsed.partial = true;
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
delete parsed.partial;
|
|
45
|
+
}
|
|
39
46
|
return parsed;
|
|
40
47
|
}
|
|
41
48
|
catch (error) {
|
|
@@ -45,26 +52,23 @@ export async function parsePackageYml(packageYmlPath) {
|
|
|
45
52
|
/**
|
|
46
53
|
* Write package.yml file with consistent formatting
|
|
47
54
|
*/
|
|
48
|
-
export
|
|
55
|
+
export function serializePackageYml(config) {
|
|
49
56
|
// First generate YAML with default block style
|
|
50
57
|
let content = yaml.dump(config, {
|
|
51
58
|
indent: 2,
|
|
52
59
|
noArrayIndent: true,
|
|
53
60
|
sortKeys: false,
|
|
54
|
-
quotingType: '"' // Prefer double quotes for consistency
|
|
61
|
+
quotingType: '"', // Prefer double quotes for consistency
|
|
55
62
|
});
|
|
56
63
|
// Ensure scoped names (starting with @) are quoted
|
|
57
|
-
const
|
|
58
|
-
if (
|
|
59
|
-
// Split into lines and process the name line
|
|
64
|
+
const scoped = isScopedName(config.name);
|
|
65
|
+
if (scoped) {
|
|
60
66
|
const lines = content.split('\n');
|
|
61
67
|
for (let i = 0; i < lines.length; i++) {
|
|
62
68
|
if (lines[i].trim().startsWith('name:')) {
|
|
63
|
-
// Check if the name value is already quoted
|
|
64
69
|
const valueMatch = lines[i].match(/name:\s*(.+)$/);
|
|
65
70
|
if (valueMatch) {
|
|
66
71
|
const value = valueMatch[1].trim();
|
|
67
|
-
// If not quoted, add quotes
|
|
68
72
|
if (!value.startsWith('"') && !value.startsWith("'")) {
|
|
69
73
|
lines[i] = lines[i].replace(/name:\s*(.+)$/, `name: "${config.name}"`);
|
|
70
74
|
}
|
|
@@ -79,17 +83,14 @@ export async function writePackageYml(packageYmlPath, config) {
|
|
|
79
83
|
for (const arrayField of flowStyleArrays) {
|
|
80
84
|
const arrayValue = config[arrayField];
|
|
81
85
|
if (Array.isArray(arrayValue) && arrayValue.length > 0) {
|
|
82
|
-
// Split content into lines for easier processing
|
|
83
86
|
const lines = content.split('\n');
|
|
84
87
|
const result = [];
|
|
85
88
|
let i = 0;
|
|
86
89
|
while (i < lines.length) {
|
|
87
90
|
const line = lines[i];
|
|
88
91
|
if (line.trim() === `${arrayField}:`) {
|
|
89
|
-
// Found array section, create flow style
|
|
90
92
|
const arrayFlow = `${arrayField}: [${arrayValue.join(', ')}]`;
|
|
91
93
|
result.push(arrayFlow);
|
|
92
|
-
// Skip the following dash lines
|
|
93
94
|
i++;
|
|
94
95
|
while (i < lines.length && lines[i].trim().startsWith('-')) {
|
|
95
96
|
i++;
|
|
@@ -102,6 +103,10 @@ export async function writePackageYml(packageYmlPath, config) {
|
|
|
102
103
|
content = result.join('\n');
|
|
103
104
|
}
|
|
104
105
|
}
|
|
106
|
+
return content;
|
|
107
|
+
}
|
|
108
|
+
export async function writePackageYml(packageYmlPath, config) {
|
|
109
|
+
const content = serializePackageYml(config);
|
|
105
110
|
await writeTextFile(packageYmlPath, content);
|
|
106
111
|
}
|
|
107
112
|
//# sourceMappingURL=package-yml.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-yml.js","sourceRoot":"","sources":["../../src/utils/package-yml.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,KAAK;SACjB,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;SAC7D,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,cAAsB;IAC1D,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,cAAc,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"package-yml.js","sourceRoot":"","sources":["../../src/utils/package-yml.ts"],"names":[],"mappings":"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"}
|