@nx/js 22.0.0-canary.20251001-e28a97a → 22.0.0-canary.20251006-0149fac
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/generators.json +0 -6
- package/package.json +4 -7
- package/src/generators/library/library.d.ts.map +1 -1
- package/src/generators/library/library.js +1 -2
- package/src/generators/library/utils/add-release-config.d.ts +1 -1
- package/src/generators/library/utils/add-release-config.d.ts.map +1 -1
- package/src/generators/library/utils/add-release-config.js +10 -26
- package/src/generators/release-version/release-version.d.ts +0 -5
- package/src/generators/release-version/release-version.d.ts.map +1 -1
- package/src/generators/release-version/release-version.js +0 -785
- package/src/release/utils/update-lock-file.d.ts +1 -2
- package/src/release/utils/update-lock-file.d.ts.map +1 -1
- package/src/release/utils/update-lock-file.js +6 -9
- package/src/release/version-actions.d.ts.map +1 -1
- package/src/release/version-actions.js +0 -1
- package/spec/jest.config.d.ts +0 -13
- package/spec/jest.config.d.ts.map +0 -1
- package/spec/migrations.spec.d.ts +0 -2
- package/spec/migrations.spec.d.ts.map +0 -1
- package/spec/src/executors/node/lib/detect-module-format.spec.d.ts +0 -2
- package/spec/src/executors/node/lib/detect-module-format.spec.d.ts.map +0 -1
- package/spec/src/executors/node/lib/esm-loader.spec.d.ts +0 -2
- package/spec/src/executors/node/lib/esm-loader.spec.d.ts.map +0 -1
- package/spec/src/executors/release-publish/extract-npm-publish-json-data.spec.d.ts +0 -2
- package/spec/src/executors/release-publish/extract-npm-publish-json-data.spec.d.ts.map +0 -1
- package/spec/src/executors/release-publish/release-publish.impl.spec.d.ts +0 -2
- package/spec/src/executors/release-publish/release-publish.impl.spec.d.ts.map +0 -1
- package/spec/src/executors/tsc/tsc.impl.spec.d.ts +0 -2
- package/spec/src/executors/tsc/tsc.impl.spec.d.ts.map +0 -1
- package/spec/src/generators/convert-to-swc/convert-to-swc.spec.d.ts +0 -2
- package/spec/src/generators/convert-to-swc/convert-to-swc.spec.d.ts.map +0 -1
- package/spec/src/generators/init/init.spec.d.ts +0 -2
- package/spec/src/generators/init/init.spec.d.ts.map +0 -1
- package/spec/src/generators/library/library.spec.d.ts +0 -2
- package/spec/src/generators/library/library.spec.d.ts.map +0 -1
- package/spec/src/generators/library/utils/add-release-config.spec.d.ts +0 -2
- package/spec/src/generators/library/utils/add-release-config.spec.d.ts.map +0 -1
- package/spec/src/generators/release-version/release-version-workspace-root-project.spec.d.ts +0 -2
- package/spec/src/generators/release-version/release-version-workspace-root-project.spec.d.ts.map +0 -1
- package/spec/src/generators/release-version/release-version.spec.d.ts +0 -2
- package/spec/src/generators/release-version/release-version.spec.d.ts.map +0 -1
- package/spec/src/generators/release-version/utils/resolve-local-package-dependencies.spec.d.ts +0 -2
- package/spec/src/generators/release-version/utils/resolve-local-package-dependencies.spec.d.ts.map +0 -1
- package/spec/src/generators/release-version/utils/resolve-version-spec.spec.d.ts +0 -2
- package/spec/src/generators/release-version/utils/resolve-version-spec.spec.d.ts.map +0 -1
- package/spec/src/generators/release-version/utils/sort-projects-topologically.spec.d.ts +0 -2
- package/spec/src/generators/release-version/utils/sort-projects-topologically.spec.d.ts.map +0 -1
- package/spec/src/generators/setup-build/generator.spec.d.ts +0 -2
- package/spec/src/generators/setup-build/generator.spec.d.ts.map +0 -1
- package/spec/src/generators/setup-prettier/generator.spec.d.ts +0 -2
- package/spec/src/generators/setup-prettier/generator.spec.d.ts.map +0 -1
- package/spec/src/generators/setup-verdaccio/generator.spec.d.ts +0 -2
- package/spec/src/generators/setup-verdaccio/generator.spec.d.ts.map +0 -1
- package/spec/src/generators/typescript-sync/typescript-sync.spec.d.ts +0 -2
- package/spec/src/generators/typescript-sync/typescript-sync.spec.d.ts.map +0 -1
- package/spec/src/migrations/update-21-5-0/migrate-development-custom-condition.spec.d.ts +0 -2
- package/spec/src/migrations/update-21-5-0/migrate-development-custom-condition.spec.d.ts.map +0 -1
- package/spec/src/migrations/update-22-0-0/remove-external-options-from-js-executors.spec.d.ts +0 -2
- package/spec/src/migrations/update-22-0-0/remove-external-options-from-js-executors.spec.d.ts.map +0 -1
- package/spec/src/plugins/rollup/type-definitions.spec.d.ts +0 -2
- package/spec/src/plugins/rollup/type-definitions.spec.d.ts.map +0 -1
- package/spec/src/plugins/typescript/plugin.spec.d.ts +0 -2
- package/spec/src/plugins/typescript/plugin.spec.d.ts.map +0 -1
- package/spec/src/plugins/typescript/util.spec.d.ts +0 -2
- package/spec/src/plugins/typescript/util.spec.d.ts.map +0 -1
- package/spec/src/release/utils/semver.spec.d.ts +0 -2
- package/spec/src/release/utils/semver.spec.d.ts.map +0 -1
- package/spec/src/utils/add-local-registry-scripts.spec.d.ts +0 -2
- package/spec/src/utils/add-local-registry-scripts.spec.d.ts.map +0 -1
- package/spec/src/utils/assets/copy-assets-handler.spec.d.ts +0 -2
- package/spec/src/utils/assets/copy-assets-handler.spec.d.ts.map +0 -1
- package/spec/src/utils/buildable-libs-utils.spec.d.ts +0 -2
- package/spec/src/utils/buildable-libs-utils.spec.d.ts.map +0 -1
- package/spec/src/utils/compiler-helper-dependency.spec.d.ts +0 -2
- package/spec/src/utils/compiler-helper-dependency.spec.d.ts.map +0 -1
- package/spec/src/utils/find-npm-dependencies.spec.d.ts +0 -2
- package/spec/src/utils/find-npm-dependencies.spec.d.ts.map +0 -1
- package/spec/src/utils/get-import-path.spec.d.ts +0 -2
- package/spec/src/utils/get-import-path.spec.d.ts.map +0 -1
- package/spec/src/utils/npm-config.spec.d.ts +0 -2
- package/spec/src/utils/npm-config.spec.d.ts.map +0 -1
- package/spec/src/utils/package-json/update-package-json.spec.d.ts +0 -2
- package/spec/src/utils/package-json/update-package-json.spec.d.ts.map +0 -1
- package/spec/src/utils/typescript/create-ts-config.spec.d.ts +0 -2
- package/spec/src/utils/typescript/create-ts-config.spec.d.ts.map +0 -1
- package/spec/src/utils/typescript/load-ts-transformers.spec.d.ts +0 -2
- package/spec/src/utils/typescript/load-ts-transformers.spec.d.ts.map +0 -1
- package/spec/src/utils/typescript/plugin.spec.d.ts +0 -2
- package/spec/src/utils/typescript/plugin.spec.d.ts.map +0 -1
- package/spec/src/utils/typescript/run-type-check.spec.d.ts +0 -2
- package/spec/src/utils/typescript/run-type-check.spec.d.ts.map +0 -1
- package/src/generators/release-version/schema.d.ts +0 -1
- package/src/generators/release-version/schema.json +0 -86
- package/src/generators/release-version/test-utils/create-workspace-with-package-dependencies.d.ts +0 -17
- package/src/generators/release-version/test-utils/create-workspace-with-package-dependencies.d.ts.map +0 -1
- package/src/generators/release-version/test-utils/create-workspace-with-package-dependencies.js +0 -39
- package/src/generators/release-version/utils/package.d.ts +0 -13
- package/src/generators/release-version/utils/package.d.ts.map +0 -1
- package/src/generators/release-version/utils/package.js +0 -34
- package/src/generators/release-version/utils/resolve-local-package-dependencies.d.ts +0 -12
- package/src/generators/release-version/utils/resolve-local-package-dependencies.d.ts.map +0 -1
- package/src/generators/release-version/utils/resolve-local-package-dependencies.js +0 -77
- package/src/generators/release-version/utils/resolve-version-spec.d.ts +0 -2
- package/src/generators/release-version/utils/resolve-version-spec.d.ts.map +0 -1
- package/src/generators/release-version/utils/resolve-version-spec.js +0 -28
- package/src/generators/release-version/utils/sort-projects-topologically.d.ts +0 -3
- package/src/generators/release-version/utils/sort-projects-topologically.d.ts.map +0 -1
- package/src/generators/release-version/utils/sort-projects-topologically.js +0 -47
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Package = void 0;
|
|
4
|
-
const devkit_1 = require("@nx/devkit");
|
|
5
|
-
class Package {
|
|
6
|
-
constructor(packageJson, workspaceRoot, workspaceRelativeLocation) {
|
|
7
|
-
this.packageJson = packageJson;
|
|
8
|
-
this.name = packageJson.name;
|
|
9
|
-
this.version = packageJson.version;
|
|
10
|
-
this.location = (0, devkit_1.joinPathFragments)(workspaceRoot, workspaceRelativeLocation);
|
|
11
|
-
}
|
|
12
|
-
getLocalDependency(depName) {
|
|
13
|
-
if (this.packageJson.dependencies?.[depName]) {
|
|
14
|
-
return {
|
|
15
|
-
collection: 'dependencies',
|
|
16
|
-
spec: this.packageJson.dependencies[depName],
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
if (this.packageJson.devDependencies?.[depName]) {
|
|
20
|
-
return {
|
|
21
|
-
collection: 'devDependencies',
|
|
22
|
-
spec: this.packageJson.devDependencies[depName],
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
if (this.packageJson.optionalDependencies?.[depName]) {
|
|
26
|
-
return {
|
|
27
|
-
collection: 'optionalDependencies',
|
|
28
|
-
spec: this.packageJson.optionalDependencies[depName],
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
return null;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
exports.Package = Package;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { ProjectGraph, ProjectGraphDependency, ProjectGraphProjectNode, Tree } from '@nx/devkit';
|
|
2
|
-
export interface LocalPackageDependency extends ProjectGraphDependency {
|
|
3
|
-
/**
|
|
4
|
-
* The rawVersionSpec contains the value of the version spec as it was defined in the package.json
|
|
5
|
-
* of the dependent project. This can be useful in cases where the version spec is a range, path or
|
|
6
|
-
* workspace reference, and it needs to be be reverted to that original value as part of the release.
|
|
7
|
-
*/
|
|
8
|
-
rawVersionSpec: string;
|
|
9
|
-
dependencyCollection: 'dependencies' | 'devDependencies' | 'optionalDependencies';
|
|
10
|
-
}
|
|
11
|
-
export declare function resolveLocalPackageDependencies(tree: Tree, projectGraph: ProjectGraph, filteredProjects: ProjectGraphProjectNode[], projectNameToPackageRootMap: Map<string, string>, resolvePackageRoot: (projectNode: ProjectGraphProjectNode) => string, includeAll?: boolean): Record<string, LocalPackageDependency[]>;
|
|
12
|
-
//# sourceMappingURL=resolve-local-package-dependencies.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-local-package-dependencies.d.ts","sourceRoot":"","sources":["../../../../../../../packages/js/src/generators/release-version/utils/resolve-local-package-dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,uBAAuB,EACvB,IAAI,EAIL,MAAM,YAAY,CAAC;AAMpB,MAAM,WAAW,sBAAuB,SAAQ,sBAAsB;IACpE;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAChB,cAAc,GACd,iBAAiB,GACjB,sBAAsB,CAAC;CAE5B;AAED,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,uBAAuB,EAAE,EAC3C,2BAA2B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChD,kBAAkB,EAAE,CAAC,WAAW,EAAE,uBAAuB,KAAK,MAAM,EACpE,UAAU,UAAQ,GACjB,MAAM,CAAC,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAqF1C"}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resolveLocalPackageDependencies = resolveLocalPackageDependencies;
|
|
4
|
-
const devkit_1 = require("@nx/devkit");
|
|
5
|
-
const semver_1 = require("semver");
|
|
6
|
-
const package_1 = require("./package");
|
|
7
|
-
const resolve_version_spec_1 = require("./resolve-version-spec");
|
|
8
|
-
function resolveLocalPackageDependencies(tree, projectGraph, filteredProjects, projectNameToPackageRootMap, resolvePackageRoot, includeAll = false) {
|
|
9
|
-
const localPackageDependencies = {};
|
|
10
|
-
const projectNodeToPackageMap = new Map();
|
|
11
|
-
const projects = includeAll
|
|
12
|
-
? Object.values(projectGraph.nodes)
|
|
13
|
-
: filteredProjects;
|
|
14
|
-
// Iterate through the projects being released and resolve any relevant package.json data
|
|
15
|
-
for (const projectNode of projects) {
|
|
16
|
-
// Resolve the package.json path for the project, taking into account any custom packageRoot settings
|
|
17
|
-
let packageRoot = projectNameToPackageRootMap.get(projectNode.name);
|
|
18
|
-
// packageRoot wasn't added to the map yet, try to resolve it dynamically
|
|
19
|
-
if (!packageRoot && includeAll) {
|
|
20
|
-
packageRoot = resolvePackageRoot(projectNode);
|
|
21
|
-
if (!packageRoot) {
|
|
22
|
-
continue;
|
|
23
|
-
}
|
|
24
|
-
// Append it to the map for later use within the release version generator
|
|
25
|
-
projectNameToPackageRootMap.set(projectNode.name, packageRoot);
|
|
26
|
-
}
|
|
27
|
-
const packageJsonPath = (0, devkit_1.joinPathFragments)(packageRoot, 'package.json');
|
|
28
|
-
if (!tree.exists(packageJsonPath)) {
|
|
29
|
-
continue;
|
|
30
|
-
}
|
|
31
|
-
const packageJson = (0, devkit_1.readJson)(tree, packageJsonPath);
|
|
32
|
-
const pkg = new package_1.Package(packageJson, devkit_1.workspaceRoot, packageRoot);
|
|
33
|
-
projectNodeToPackageMap.set(projectNode, pkg);
|
|
34
|
-
}
|
|
35
|
-
// populate local npm package dependencies
|
|
36
|
-
for (const projectDeps of Object.values(projectGraph.dependencies)) {
|
|
37
|
-
const workspaceDeps = projectDeps.filter((dep) => !isExternalNpmDependency(dep.target) &&
|
|
38
|
-
!isExternalNpmDependency(dep.source));
|
|
39
|
-
for (const dep of workspaceDeps) {
|
|
40
|
-
const source = projectGraph.nodes[dep.source];
|
|
41
|
-
const target = projectGraph.nodes[dep.target];
|
|
42
|
-
if (!source ||
|
|
43
|
-
!projectNodeToPackageMap.has(source) ||
|
|
44
|
-
!target ||
|
|
45
|
-
!projectNodeToPackageMap.has(target)) {
|
|
46
|
-
// only relevant for dependencies between two workspace projects with Package objects
|
|
47
|
-
continue;
|
|
48
|
-
}
|
|
49
|
-
const sourcePackage = projectNodeToPackageMap.get(source);
|
|
50
|
-
const targetPackage = projectNodeToPackageMap.get(target);
|
|
51
|
-
const sourceNpmDependency = sourcePackage.getLocalDependency(targetPackage.name);
|
|
52
|
-
if (!sourceNpmDependency) {
|
|
53
|
-
continue;
|
|
54
|
-
}
|
|
55
|
-
const targetVersionSpec = (0, resolve_version_spec_1.resolveVersionSpec)(targetPackage.name, targetPackage.version, sourceNpmDependency.spec, sourcePackage.location);
|
|
56
|
-
const targetMatchesRequirement =
|
|
57
|
-
// For file: and workspace: protocols the targetVersionSpec could be a path, so we check if it matches the target's location
|
|
58
|
-
targetVersionSpec === targetPackage.location ||
|
|
59
|
-
(0, semver_1.satisfies)(targetPackage.version, targetVersionSpec);
|
|
60
|
-
if (targetMatchesRequirement) {
|
|
61
|
-
// track only local package dependencies that are satisfied by the target's version
|
|
62
|
-
localPackageDependencies[dep.source] = [
|
|
63
|
-
...(localPackageDependencies[dep.source] || []),
|
|
64
|
-
{
|
|
65
|
-
...dep,
|
|
66
|
-
dependencyCollection: sourceNpmDependency.collection,
|
|
67
|
-
rawVersionSpec: sourceNpmDependency.spec,
|
|
68
|
-
},
|
|
69
|
-
];
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
return localPackageDependencies;
|
|
74
|
-
}
|
|
75
|
-
function isExternalNpmDependency(dep) {
|
|
76
|
-
return dep.startsWith('npm:');
|
|
77
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-version-spec.d.ts","sourceRoot":"","sources":["../../../../../../../packages/js/src/generators/release-version/utils/resolve-version-spec.ts"],"names":[],"mappings":"AAGA,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAwBR"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resolveVersionSpec = resolveVersionSpec;
|
|
4
|
-
const npa = require("npm-package-arg");
|
|
5
|
-
const devkit_1 = require("@nx/devkit");
|
|
6
|
-
function resolveVersionSpec(name, version, spec, location) {
|
|
7
|
-
// yarn classic uses link instead of file, normalize to match what npm expects
|
|
8
|
-
spec = spec.replace(/^link:/, 'file:');
|
|
9
|
-
// Support workspace: protocol for pnpm and yarn 2+ (https://pnpm.io/workspaces#workspace-protocol-workspace)
|
|
10
|
-
const isWorkspaceSpec = /^workspace:/.test(spec);
|
|
11
|
-
if (isWorkspaceSpec) {
|
|
12
|
-
spec = spec.replace(/^workspace:/, '');
|
|
13
|
-
// replace aliases (https://pnpm.io/workspaces#referencing-workspace-packages-through-aliases)
|
|
14
|
-
if (spec === '*' || spec === '^' || spec === '~') {
|
|
15
|
-
if (version) {
|
|
16
|
-
const prefix = spec === '*' ? '' : spec;
|
|
17
|
-
spec = `${prefix}${version}`;
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
spec = '*';
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
const npaResult = npa.resolve(name, spec, location);
|
|
25
|
-
return npaResult.fetchSpec.includes('\\')
|
|
26
|
-
? (0, devkit_1.normalizePath)(npaResult.fetchSpec)
|
|
27
|
-
: npaResult.fetchSpec;
|
|
28
|
-
}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { ProjectGraph, ProjectGraphProjectNode } from '@nx/devkit';
|
|
2
|
-
export declare function sortProjectsTopologically(projectGraph: ProjectGraph, projectNodes: ProjectGraphProjectNode[]): ProjectGraphProjectNode[];
|
|
3
|
-
//# sourceMappingURL=sort-projects-topologically.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sort-projects-topologically.d.ts","sourceRoot":"","sources":["../../../../../../../packages/js/src/generators/release-version/utils/sort-projects-topologically.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAEZ,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAEpB,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,uBAAuB,EAAE,GACtC,uBAAuB,EAAE,CAsD3B"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.sortProjectsTopologically = sortProjectsTopologically;
|
|
4
|
-
function sortProjectsTopologically(projectGraph, projectNodes) {
|
|
5
|
-
const edges = new Map(projectNodes.map((node) => [node, 0]));
|
|
6
|
-
const filteredDependencies = [];
|
|
7
|
-
for (const node of projectNodes) {
|
|
8
|
-
const deps = projectGraph.dependencies[node.name];
|
|
9
|
-
if (deps) {
|
|
10
|
-
filteredDependencies.push(...deps.filter((dep) => projectNodes.find((n) => n.name === dep.target)));
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
filteredDependencies.forEach((dep) => {
|
|
14
|
-
const sourceNode = projectGraph.nodes[dep.source];
|
|
15
|
-
// dep.source depends on dep.target
|
|
16
|
-
edges.set(sourceNode, (edges.get(sourceNode) || 0) + 1);
|
|
17
|
-
});
|
|
18
|
-
// Initialize queue with projects that have no dependencies
|
|
19
|
-
const processQueue = [...edges]
|
|
20
|
-
.filter(([_, count]) => count === 0)
|
|
21
|
-
.map(([node]) => node);
|
|
22
|
-
const sortedProjects = [];
|
|
23
|
-
while (processQueue.length > 0) {
|
|
24
|
-
const node = processQueue.shift();
|
|
25
|
-
sortedProjects.push(node);
|
|
26
|
-
// Process each project that depends on the current node
|
|
27
|
-
filteredDependencies
|
|
28
|
-
.filter((dep) => dep.target === node.name)
|
|
29
|
-
.forEach((dep) => {
|
|
30
|
-
const dependentNode = projectGraph.nodes[dep.source];
|
|
31
|
-
const count = edges.get(dependentNode) - 1;
|
|
32
|
-
edges.set(dependentNode, count);
|
|
33
|
-
if (count === 0) {
|
|
34
|
-
processQueue.push(dependentNode);
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* We cannot reliably sort the nodes, e.g. when a circular dependency is present.
|
|
40
|
-
* For releases, we allow the user to work with a graph that contains cycles, so
|
|
41
|
-
* we should not throw an error here and simply return the original list of projects.
|
|
42
|
-
*/
|
|
43
|
-
if (sortedProjects.length !== projectNodes.length) {
|
|
44
|
-
return projectNodes;
|
|
45
|
-
}
|
|
46
|
-
return sortedProjects;
|
|
47
|
-
}
|