Skip to content

Commit 4447a6c

Browse files
authored
refactor: rename symbols (#412)
After looking at the npm documentation, seems like the term for a package-name with or without version is called a "package spec" https://docs.npmjs.com/cli/v8/using-npm/package-spec Renamed relevant symbols to match this term
1 parent a81c6eb commit 4447a6c

15 files changed

+195
-194
lines changed

src/app/add-dependencies.ts

+18-21
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ import { partialApply } from "../domain/fp-utils";
2121
import type { DebugLog } from "../domain/logging";
2222
import { tryGetTargetEditorVersionFor } from "../domain/package-manifest";
2323
import {
24-
type PackageReference,
24+
type PackageSpec,
2525
type VersionReference,
26-
makePackageReference,
27-
splitPackageReference,
28-
} from "../domain/package-reference";
26+
makePackageSpec,
27+
splitPackageSpec,
28+
} from "../domain/package-spec";
2929
import { PackageUrl } from "../domain/package-url";
3030
import type { ResolvePackumentVersionError } from "../domain/packument";
3131
import {
@@ -63,7 +63,7 @@ export class PackageIncompatibleError extends CustomError {
6363
/**
6464
* The package that was added.
6565
*/
66-
public readonly packageRef: PackageReference,
66+
public readonly packageSpec: PackageSpec,
6767
/**
6868
* The packages target editor version.
6969
*/
@@ -101,7 +101,7 @@ export class UnresolvedDependenciesError extends CustomError {
101101
/**
102102
* The package that should have been added.
103103
*/
104-
public readonly packageRef: PackageReference,
104+
public readonly packageSpec: PackageSpec,
105105
/**
106106
* The dependencies which could not be resolved.
107107
*/
@@ -120,7 +120,7 @@ export class CompatibilityCheckFailedError extends CustomError {
120120
/**
121121
* The package that could not be added.
122122
*/
123-
public readonly packageRef: PackageReference
123+
public readonly packageSpec: PackageSpec
124124
) {
125125
super();
126126
}
@@ -157,7 +157,7 @@ function pickMostFixable(
157157
* @param sources The sources from which to resolve the packuments.
158158
* @param force Whether to force add the dependencies.
159159
* @param shouldAddTestable Whether to also add dependencies to the `testables`.
160-
* @param pkgs References to the dependencies to add.
160+
* @param packageSpecs Specs of the dependencies to add.
161161
* @returns A summary of the added packages.
162162
*/
163163
export async function addDependenciesUsing(
@@ -171,7 +171,7 @@ export async function addDependenciesUsing(
171171
sources: ReadonlyArray<Registry>,
172172
force: boolean,
173173
shouldAddTestable: boolean,
174-
pkgs: ReadonlyArray<PackageReference>
174+
packageSpecs: ReadonlyArray<PackageSpec>
175175
): Promise<Readonly<Record<DomainName, AddResult>>> {
176176
const loadProjectManifest = partialApply(
177177
loadProjectManifestUsing,
@@ -202,7 +202,7 @@ export async function addDependenciesUsing(
202202
): Promise<Readonly<Record<RegistryUrl, ReadonlyArray<DomainName>>>> {
203203
if (source === unityRegistryUrl) return {};
204204

205-
await debugLog(`fetch: ${makePackageReference(packageName, verison)}`);
205+
await debugLog(`fetch: ${makePackageSpec(packageName, verison)}`);
206206

207207
const dependencyGraph = await resolveDependencies(
208208
sources,
@@ -231,10 +231,7 @@ export async function addDependenciesUsing(
231231
}
232232
if (dependency.type === NodeType.Unresolved) continue;
233233

234-
const dependencyRef = makePackageReference(
235-
dependencyName,
236-
dependencyVersion
237-
);
234+
const dependencyRef = makePackageSpec(dependencyName, dependencyVersion);
238235
await logResolvedDependency(debugLog, dependencyRef, dependency.source);
239236

240237
const isUnityPackage =
@@ -249,7 +246,7 @@ export async function addDependenciesUsing(
249246
// print suggestion for depsInvalid
250247
if (unresolvedDependencies.length > 0 && !force)
251248
throw new UnresolvedDependenciesError(
252-
makePackageReference(packageName, verison),
249+
makePackageSpec(packageName, verison),
253250
unresolvedDependencies
254251
);
255252

@@ -295,11 +292,11 @@ export async function addDependenciesUsing(
295292
targetEditorVersion = tryGetTargetEditorVersionFor(packumentVersion);
296293
} catch (error) {
297294
if (!force) {
298-
const packageRef = makePackageReference(packageName, versionToAdd);
295+
const packageSpec = makePackageSpec(packageName, versionToAdd);
299296
await debugLog(
300-
`"${packageRef}" is malformed. Target editor version could not be determined.`
297+
`"${packageSpec}" is malformed. Target editor version could not be determined.`
301298
);
302-
throw new CompatibilityCheckFailedError(packageRef);
299+
throw new CompatibilityCheckFailedError(packageSpec);
303300
}
304301
targetEditorVersion = null;
305302
}
@@ -310,7 +307,7 @@ export async function addDependenciesUsing(
310307
compareEditorVersion(editorVersion, targetEditorVersion) >= 0;
311308
if (!isCompatible && !force)
312309
throw new PackageIncompatibleError(
313-
makePackageReference(packageName, versionToAdd),
310+
makePackageSpec(packageName, versionToAdd),
314311
targetEditorVersion!
315312
);
316313
}
@@ -357,8 +354,8 @@ export async function addDependenciesUsing(
357354
let manifest = await loadProjectManifest(projectDirectory);
358355

359356
const results: Record<DomainName, AddResult> = {};
360-
for (const pkg of pkgs) {
361-
const [packageName, version] = splitPackageReference(pkg);
357+
for (const packageSpec of packageSpecs) {
358+
const [packageName, version] = splitPackageSpec(packageSpec);
362359
const [newManifest, result] = await addSingle(
363360
manifest,
364361
packageName,

src/app/get-registry-packument-version.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { AsyncResult, Err } from "ts-results-es";
22
import { PackumentNotFoundError } from "../domain/common-errors";
33
import { DomainName } from "../domain/domain-name";
4-
import { ResolvableVersion } from "../domain/package-reference";
4+
import { ResolvableVersion } from "../domain/package-spec";
55
import {
66
ResolvePackumentVersionError,
77
tryResolvePackumentVersion,

src/cli/cmd-add.ts

+66-63
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { determineEditorVersionUsing } from "../app/determine-editor-version";
55
import { loadRegistryAuthUsing } from "../app/get-registry-auth";
66
import { partialApply } from "../domain/fp-utils";
77
import { DebugLog } from "../domain/logging";
8-
import { makePackageReference } from "../domain/package-reference";
8+
import { makePackageSpec } from "../domain/package-spec";
99
import { recordEntries } from "../domain/record-utils";
1010
import { unityRegistry } from "../domain/registry";
1111
import { openupmRegistryUrl } from "../domain/registry-url";
@@ -20,17 +20,17 @@ import { primaryRegistriesUrlOpt } from "./opt-registry";
2020
import { systemUserOpt } from "./opt-system-user";
2121
import { upstreamOpt } from "./opt-upstream";
2222
import { workDirOpt } from "./opt-wd";
23-
import { mustBePackageReference } from "./validators";
23+
import { mustBePackageSpec } from "./validators";
2424

25-
const pkgArg = new Argument(
25+
const packageSpecArg = new Argument(
2626
"<pkg>",
2727
"Reference to the package that should be added"
28-
).argParser(mustBePackageReference);
28+
).argParser(mustBePackageSpec);
2929

30-
const otherPkgsArg = new Argument(
30+
const otherPackageSpecsArg = new Argument(
3131
"[otherPkgs...]",
3232
"References to additional packages that should be added"
33-
).argParser(eachValue(mustBePackageReference));
33+
).argParser(eachValue(mustBePackageSpec));
3434

3535
const addTestableOpt = new Option(
3636
"-t, --test",
@@ -83,8 +83,8 @@ export function makeAddCmd(
8383

8484
return new Command("add")
8585
.aliases(["install", "i"])
86-
.addArgument(pkgArg)
87-
.addArgument(otherPkgsArg)
86+
.addArgument(packageSpecArg)
87+
.addArgument(otherPackageSpecsArg)
8888
.addOption(addTestableOpt)
8989
.addOption(forceOpt)
9090
.addOption(primaryRegistriesUrlOpt)
@@ -97,65 +97,68 @@ openupm add <pkg> [otherPkgs...]
9797
openupm add <pkg>@<version> [otherPkgs...]`
9898
)
9999
.action(
100-
withErrorLogger(log, async function (pkg, otherPkgs, options) {
101-
const pkgs = [pkg].concat(otherPkgs);
100+
withErrorLogger(
101+
log,
102+
async function (packageSpec, otherPackageSpecs, options) {
103+
const packageSpecs = [packageSpec].concat(otherPackageSpecs);
104+
105+
const projectDirectory = options.chdir;
106+
107+
const editorVersion = await determineEditorVersion(projectDirectory);
108+
109+
if (typeof editorVersion === "string")
110+
log.warn(
111+
"editor.version",
112+
`${editorVersion} is unknown, the editor version check is disabled`
113+
);
114+
115+
const homePath = getHomePathFromEnv(process.env);
116+
const upmConfigPath = getUserUpmConfigPathFor(
117+
process.env,
118+
homePath,
119+
options.systemUser
120+
);
102121

103-
const projectDirectory = options.chdir;
122+
const sources = await Promise.all(
123+
(options.registry ?? [openupmRegistryUrl]).map((it) =>
124+
getRegistryAuth(upmConfigPath, it)
125+
)
126+
);
104127

105-
const editorVersion = await determineEditorVersion(projectDirectory);
128+
if (options.upstream) sources.push(unityRegistry);
106129

107-
if (typeof editorVersion === "string")
108-
log.warn(
109-
"editor.version",
110-
`${editorVersion} is unknown, the editor version check is disabled`
130+
const addResults = await addDependencies(
131+
projectDirectory,
132+
typeof editorVersion === "string" ? null : editorVersion,
133+
sources,
134+
options.force,
135+
options.test,
136+
packageSpecs
111137
);
112138

113-
const homePath = getHomePathFromEnv(process.env);
114-
const upmConfigPath = getUserUpmConfigPathFor(
115-
process.env,
116-
homePath,
117-
options.systemUser
118-
);
119-
120-
const sources = await Promise.all(
121-
(options.registry ?? [openupmRegistryUrl]).map((it) =>
122-
getRegistryAuth(upmConfigPath, it)
123-
)
124-
);
125-
126-
if (options.upstream) sources.push(unityRegistry);
127-
128-
const addResults = await addDependencies(
129-
projectDirectory,
130-
typeof editorVersion === "string" ? null : editorVersion,
131-
sources,
132-
options.force,
133-
options.test,
134-
pkgs
135-
);
136-
137-
recordEntries(addResults)
138-
.map(([packageName, addResult]) => {
139-
switch (addResult.type) {
140-
case "added":
141-
return `added ${makePackageReference(
142-
packageName,
143-
addResult.version
144-
)}`;
145-
case "upgraded":
146-
return `modified ${packageName} ${addResult.fromVersion} => ${addResult.toVersion}`;
147-
case "noChange":
148-
return `existed ${makePackageReference(
149-
packageName,
150-
addResult.version
151-
)}`;
152-
}
153-
})
154-
.forEach((message) => {
155-
log.notice("", message);
156-
});
157-
158-
log.notice("", "please open Unity project to apply changes.");
159-
})
139+
recordEntries(addResults)
140+
.map(([packageName, addResult]) => {
141+
switch (addResult.type) {
142+
case "added":
143+
return `added ${makePackageSpec(
144+
packageName,
145+
addResult.version
146+
)}`;
147+
case "upgraded":
148+
return `modified ${packageName} ${addResult.fromVersion} => ${addResult.toVersion}`;
149+
case "noChange":
150+
return `existed ${makePackageSpec(
151+
packageName,
152+
addResult.version
153+
)}`;
154+
}
155+
})
156+
.forEach((message) => {
157+
log.notice("", message);
158+
});
159+
160+
log.notice("", "please open Unity project to apply changes.");
161+
}
162+
)
160163
);
161164
}

src/cli/cmd-deps.ts

+10-12
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,7 @@ import { resolveDependenciesUsing } from "../app/resolve-dependencies";
99
import { PackumentNotFoundError } from "../domain/common-errors";
1010
import { partialApply } from "../domain/fp-utils";
1111
import { DebugLog } from "../domain/logging";
12-
import {
13-
makePackageReference,
14-
splitPackageReference,
15-
} from "../domain/package-reference";
12+
import { makePackageSpec, splitPackageSpec } from "../domain/package-spec";
1613
import { PackageUrl } from "../domain/package-url";
1714
import { unityRegistry } from "../domain/registry";
1815
import { SemanticVersion } from "../domain/semantic-version";
@@ -27,11 +24,12 @@ import { withErrorLogger } from "./error-logging";
2724
import { primaryRegistryUrlOpt } from "./opt-registry";
2825
import { systemUserOpt } from "./opt-system-user";
2926
import { ResultCodes } from "./result-codes";
30-
import { mustBePackageReference } from "./validators";
27+
import { mustBePackageSpec } from "./validators";
3128

32-
const pkgArg = new Argument("<pkg>", "Reference to a package").argParser(
33-
mustBePackageReference
34-
);
29+
const packageSpecArg = new Argument(
30+
"<pkg>",
31+
"Reference to a package"
32+
).argParser(mustBePackageSpec);
3533

3634
const deepOpt = new Option(
3735
"-d, --deep",
@@ -72,7 +70,7 @@ export function makeDepsCmd(
7270

7371
return new Command("deps")
7472
.alias("dep")
75-
.addArgument(pkgArg)
73+
.addArgument(packageSpecArg)
7674
.addOption(deepOpt)
7775
.addOption(primaryRegistryUrlOpt)
7876
.addOption(systemUserOpt)
@@ -82,7 +80,7 @@ openupm deps <pkg>
8280
openupm deps <pkg>@<version>`
8381
)
8482
.action(
85-
withErrorLogger(log, async function (pkg, options) {
83+
withErrorLogger(log, async function (packageSpec, options) {
8684
const homePath = getHomePathFromEnv(process.env);
8785
const upmConfigPath = getUserUpmConfigPathFor(
8886
process.env,
@@ -95,7 +93,7 @@ openupm deps <pkg>@<version>`
9593
);
9694
const sources = [primaryRegistry, unityRegistry];
9795

98-
const [packageName, requestedVersion] = splitPackageReference(pkg);
96+
const [packageName, requestedVersion] = splitPackageSpec(packageSpec);
9997

10098
if (requestedVersion !== null && isZod(requestedVersion, PackageUrl)) {
10199
log.error("", "cannot get dependencies for url-version");
@@ -115,7 +113,7 @@ openupm deps <pkg>@<version>`
115113
throw new PackumentNotFoundError(packageName);
116114

117115
await debugLog(
118-
`fetch: ${makePackageReference(packageName, latestVersion)}, deep=${
116+
`fetch: ${makePackageSpec(packageName, latestVersion)}, deep=${
119117
options.deep
120118
}`
121119
);

0 commit comments

Comments
 (0)