@turbo/codemod 1.6.3 → 1.7.0-canary.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/package.json +1 -1
- package/dist/getPackageManagerVersion.js +0 -42
- package/dist/getWorkspaceImplementation.js +0 -73
- package/dist/git.js +0 -56
- package/dist/index.js +0 -295
- package/dist/logger.js +0 -46
- package/dist/runTransform.js +0 -44
- package/dist/transforms/add-package-manager.js +0 -169
- package/dist/transforms/create-turbo-config.js +0 -104
- package/dist/transforms/migrate-env-var-dependencies.js +0 -185
- package/dist/types.js +0 -18
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@turbo/codemod",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.7.0-canary.1",
|
4
4
|
"description": "Provides Codemod transformations to help upgrade your Turborepo codebase when a feature is deprecated.",
|
5
5
|
"homepage": "https://turbo.build/repo",
|
6
6
|
"license": "MPL-2.0",
|
@@ -1,42 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __defProp = Object.defineProperty;
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
-
var __export = (target, all) => {
|
7
|
-
for (var name in all)
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
9
|
-
};
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
12
|
-
for (let key of __getOwnPropNames(from))
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
15
|
-
}
|
16
|
-
return to;
|
17
|
-
};
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
19
|
-
|
20
|
-
// src/getPackageManagerVersion.ts
|
21
|
-
var getPackageManagerVersion_exports = {};
|
22
|
-
__export(getPackageManagerVersion_exports, {
|
23
|
-
getPackageManagerVersion: () => getPackageManagerVersion
|
24
|
-
});
|
25
|
-
module.exports = __toCommonJS(getPackageManagerVersion_exports);
|
26
|
-
var import_child_process = require("child_process");
|
27
|
-
var getPackageManagerVersion = (ws) => {
|
28
|
-
switch (ws) {
|
29
|
-
case "yarn":
|
30
|
-
return (0, import_child_process.execSync)("yarn --version").toString().trim();
|
31
|
-
case "pnpm":
|
32
|
-
return (0, import_child_process.execSync)("pnpm --version").toString().trim();
|
33
|
-
case "npm":
|
34
|
-
return (0, import_child_process.execSync)("npm --version").toString().trim();
|
35
|
-
default:
|
36
|
-
throw new Error(`${ws} is not supported`);
|
37
|
-
}
|
38
|
-
};
|
39
|
-
// Annotate the CommonJS export names for ESM import in node:
|
40
|
-
0 && (module.exports = {
|
41
|
-
getPackageManagerVersion
|
42
|
-
});
|
@@ -1,73 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __create = Object.create;
|
3
|
-
var __defProp = Object.defineProperty;
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
8
|
-
var __export = (target, all) => {
|
9
|
-
for (var name in all)
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
11
|
-
};
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
14
|
-
for (let key of __getOwnPropNames(from))
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
17
|
-
}
|
18
|
-
return to;
|
19
|
-
};
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
21
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
22
|
-
|
23
|
-
// src/getWorkspaceImplementation.ts
|
24
|
-
var getWorkspaceImplementation_exports = {};
|
25
|
-
__export(getWorkspaceImplementation_exports, {
|
26
|
-
getWorkspaceImplementation: () => getWorkspaceImplementation,
|
27
|
-
getWorkspaceImplementationAndLockFile: () => getWorkspaceImplementationAndLockFile
|
28
|
-
});
|
29
|
-
module.exports = __toCommonJS(getWorkspaceImplementation_exports);
|
30
|
-
var import_find_up = __toESM(require("find-up"));
|
31
|
-
var import_path = __toESM(require("path"));
|
32
|
-
var cache = {};
|
33
|
-
function getWorkspaceImplementationAndLockFile(cwd) {
|
34
|
-
if (cache[cwd]) {
|
35
|
-
return cache[cwd];
|
36
|
-
}
|
37
|
-
const lockFile = import_find_up.default.sync(["yarn.lock", "pnpm-workspace.yaml", "package-lock.json"], {
|
38
|
-
cwd
|
39
|
-
});
|
40
|
-
if (!lockFile) {
|
41
|
-
return;
|
42
|
-
}
|
43
|
-
switch (import_path.default.basename(lockFile)) {
|
44
|
-
case "yarn.lock":
|
45
|
-
cache[cwd] = {
|
46
|
-
implementation: "yarn",
|
47
|
-
lockFile
|
48
|
-
};
|
49
|
-
break;
|
50
|
-
case "pnpm-workspace.yaml":
|
51
|
-
cache[cwd] = {
|
52
|
-
implementation: "pnpm",
|
53
|
-
lockFile
|
54
|
-
};
|
55
|
-
break;
|
56
|
-
case "package-lock.json":
|
57
|
-
cache[cwd] = {
|
58
|
-
implementation: "npm",
|
59
|
-
lockFile
|
60
|
-
};
|
61
|
-
break;
|
62
|
-
}
|
63
|
-
return cache[cwd];
|
64
|
-
}
|
65
|
-
function getWorkspaceImplementation(cwd) {
|
66
|
-
var _a;
|
67
|
-
return (_a = getWorkspaceImplementationAndLockFile(cwd)) == null ? void 0 : _a.implementation;
|
68
|
-
}
|
69
|
-
// Annotate the CommonJS export names for ESM import in node:
|
70
|
-
0 && (module.exports = {
|
71
|
-
getWorkspaceImplementation,
|
72
|
-
getWorkspaceImplementationAndLockFile
|
73
|
-
});
|
package/dist/git.js
DELETED
@@ -1,56 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __create = Object.create;
|
3
|
-
var __defProp = Object.defineProperty;
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
8
|
-
var __export = (target, all) => {
|
9
|
-
for (var name in all)
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
11
|
-
};
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
14
|
-
for (let key of __getOwnPropNames(from))
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
17
|
-
}
|
18
|
-
return to;
|
19
|
-
};
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
21
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
22
|
-
|
23
|
-
// src/git.ts
|
24
|
-
var git_exports = {};
|
25
|
-
__export(git_exports, {
|
26
|
-
checkGitStatus: () => checkGitStatus
|
27
|
-
});
|
28
|
-
module.exports = __toCommonJS(git_exports);
|
29
|
-
var import_chalk = __toESM(require("chalk"));
|
30
|
-
var import_is_git_clean = __toESM(require("is-git-clean"));
|
31
|
-
function checkGitStatus(force) {
|
32
|
-
let clean = false;
|
33
|
-
let errorMessage = "Unable to determine if git directory is clean";
|
34
|
-
try {
|
35
|
-
clean = import_is_git_clean.default.sync(process.cwd());
|
36
|
-
errorMessage = "Git directory is not clean";
|
37
|
-
} catch (err) {
|
38
|
-
if (err && err.stderr && err.stderr.indexOf("not a git repository") >= 0) {
|
39
|
-
clean = true;
|
40
|
-
}
|
41
|
-
}
|
42
|
-
if (!clean) {
|
43
|
-
if (force) {
|
44
|
-
console.log(`WARNING: ${errorMessage}. Forcibly continuing...`);
|
45
|
-
} else {
|
46
|
-
console.log("Thank you for using @turbo/codemod!");
|
47
|
-
console.log(import_chalk.default.yellow("\nBut before we continue, please stash or commit your git changes."));
|
48
|
-
console.log("\nYou may use the --force flag to override this safety check.");
|
49
|
-
process.exit(1);
|
50
|
-
}
|
51
|
-
}
|
52
|
-
}
|
53
|
-
// Annotate the CommonJS export names for ESM import in node:
|
54
|
-
0 && (module.exports = {
|
55
|
-
checkGitStatus
|
56
|
-
});
|
package/dist/index.js
DELETED
@@ -1,295 +0,0 @@
|
|
1
|
-
#!/usr/bin/env node
|
2
|
-
"use strict";
|
3
|
-
var __create = Object.create;
|
4
|
-
var __defProp = Object.defineProperty;
|
5
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
6
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
7
|
-
var __getProtoOf = Object.getPrototypeOf;
|
8
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
9
|
-
var __copyProps = (to, from, except, desc) => {
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
11
|
-
for (let key of __getOwnPropNames(from))
|
12
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
14
|
-
}
|
15
|
-
return to;
|
16
|
-
};
|
17
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
18
|
-
|
19
|
-
// src/index.ts
|
20
|
-
var import_chalk2 = __toESM(require("chalk"));
|
21
|
-
var import_globby = __toESM(require("globby"));
|
22
|
-
var import_inquirer = __toESM(require("inquirer"));
|
23
|
-
var import_meow = __toESM(require("meow"));
|
24
|
-
var import_update_check = __toESM(require("update-check"));
|
25
|
-
|
26
|
-
// package.json
|
27
|
-
var package_default = {
|
28
|
-
name: "@turbo/codemod",
|
29
|
-
version: "1.6.3",
|
30
|
-
description: "Provides Codemod transformations to help upgrade your Turborepo codebase when a feature is deprecated.",
|
31
|
-
homepage: "https://turbo.build/repo",
|
32
|
-
license: "MPL-2.0",
|
33
|
-
repository: {
|
34
|
-
type: "git",
|
35
|
-
url: "https://github.com/vercel/turbo",
|
36
|
-
directory: "packages/turbo-codemod"
|
37
|
-
},
|
38
|
-
bugs: {
|
39
|
-
url: "https://github.com/vercel/turbo/issues"
|
40
|
-
},
|
41
|
-
bin: "dist/index.js",
|
42
|
-
scripts: {
|
43
|
-
build: "tsup",
|
44
|
-
test: "jest",
|
45
|
-
lint: "eslint src/**/*.ts",
|
46
|
-
"check-types": "tsc --noEmit"
|
47
|
-
},
|
48
|
-
dependencies: {
|
49
|
-
chalk: "2.4.2",
|
50
|
-
execa: "5.1.1",
|
51
|
-
"find-up": "4.1.0",
|
52
|
-
"fs-extra": "^10.0.0",
|
53
|
-
globby: "11.1.0",
|
54
|
-
"gradient-string": "^2.0.0",
|
55
|
-
inquirer: "^8.0.0",
|
56
|
-
"is-git-clean": "^1.1.0",
|
57
|
-
meow: "^7.1.1",
|
58
|
-
ora: "4.1.1",
|
59
|
-
rimraf: "^3.0.2",
|
60
|
-
semver: "^7.3.5",
|
61
|
-
"update-check": "^1.5.4"
|
62
|
-
},
|
63
|
-
devDependencies: {
|
64
|
-
"@types/chalk-animation": "^1.6.0",
|
65
|
-
"@types/fs-extra": "^9.0.13",
|
66
|
-
"@types/gradient-string": "^1.1.2",
|
67
|
-
"@types/inquirer": "^7.3.1",
|
68
|
-
"@types/jest": "^27.4.0",
|
69
|
-
"@types/node": "^16.11.12",
|
70
|
-
"@types/semver": "^7.3.9",
|
71
|
-
deepmerge: "^4.2.2",
|
72
|
-
eslint: "^7.23.0",
|
73
|
-
jest: "^27.4.3",
|
74
|
-
semver: "^7.3.5",
|
75
|
-
"strip-ansi": "^6.0.1",
|
76
|
-
"ts-jest": "^27.1.1",
|
77
|
-
tsconfig: "workspace:*",
|
78
|
-
tsup: "^5.10.3",
|
79
|
-
"turbo-types": "workspace:*",
|
80
|
-
typescript: "^4.5.5"
|
81
|
-
},
|
82
|
-
files: [
|
83
|
-
"dist"
|
84
|
-
],
|
85
|
-
publishConfig: {
|
86
|
-
access: "public"
|
87
|
-
}
|
88
|
-
};
|
89
|
-
|
90
|
-
// src/getWorkspaceImplementation.ts
|
91
|
-
var import_find_up = __toESM(require("find-up"));
|
92
|
-
var import_path = __toESM(require("path"));
|
93
|
-
var cache = {};
|
94
|
-
function getWorkspaceImplementationAndLockFile(cwd) {
|
95
|
-
if (cache[cwd]) {
|
96
|
-
return cache[cwd];
|
97
|
-
}
|
98
|
-
const lockFile = import_find_up.default.sync(["yarn.lock", "pnpm-workspace.yaml", "package-lock.json"], {
|
99
|
-
cwd
|
100
|
-
});
|
101
|
-
if (!lockFile) {
|
102
|
-
return;
|
103
|
-
}
|
104
|
-
switch (import_path.default.basename(lockFile)) {
|
105
|
-
case "yarn.lock":
|
106
|
-
cache[cwd] = {
|
107
|
-
implementation: "yarn",
|
108
|
-
lockFile
|
109
|
-
};
|
110
|
-
break;
|
111
|
-
case "pnpm-workspace.yaml":
|
112
|
-
cache[cwd] = {
|
113
|
-
implementation: "pnpm",
|
114
|
-
lockFile
|
115
|
-
};
|
116
|
-
break;
|
117
|
-
case "package-lock.json":
|
118
|
-
cache[cwd] = {
|
119
|
-
implementation: "npm",
|
120
|
-
lockFile
|
121
|
-
};
|
122
|
-
break;
|
123
|
-
}
|
124
|
-
return cache[cwd];
|
125
|
-
}
|
126
|
-
function getWorkspaceImplementation(cwd) {
|
127
|
-
var _a;
|
128
|
-
return (_a = getWorkspaceImplementationAndLockFile(cwd)) == null ? void 0 : _a.implementation;
|
129
|
-
}
|
130
|
-
|
131
|
-
// src/git.ts
|
132
|
-
var import_chalk = __toESM(require("chalk"));
|
133
|
-
var import_is_git_clean = __toESM(require("is-git-clean"));
|
134
|
-
function checkGitStatus(force) {
|
135
|
-
let clean = false;
|
136
|
-
let errorMessage = "Unable to determine if git directory is clean";
|
137
|
-
try {
|
138
|
-
clean = import_is_git_clean.default.sync(process.cwd());
|
139
|
-
errorMessage = "Git directory is not clean";
|
140
|
-
} catch (err) {
|
141
|
-
if (err && err.stderr && err.stderr.indexOf("not a git repository") >= 0) {
|
142
|
-
clean = true;
|
143
|
-
}
|
144
|
-
}
|
145
|
-
if (!clean) {
|
146
|
-
if (force) {
|
147
|
-
console.log(`WARNING: ${errorMessage}. Forcibly continuing...`);
|
148
|
-
} else {
|
149
|
-
console.log("Thank you for using @turbo/codemod!");
|
150
|
-
console.log(import_chalk.default.yellow("\nBut before we continue, please stash or commit your git changes."));
|
151
|
-
console.log("\nYou may use the --force flag to override this safety check.");
|
152
|
-
process.exit(1);
|
153
|
-
}
|
154
|
-
}
|
155
|
-
}
|
156
|
-
|
157
|
-
// src/runTransform.ts
|
158
|
-
var import_path2 = __toESM(require("path"));
|
159
|
-
var transformerDirectory = import_path2.default.join(__dirname, "transforms");
|
160
|
-
function runTransform({
|
161
|
-
files,
|
162
|
-
flags,
|
163
|
-
transformer
|
164
|
-
}) {
|
165
|
-
const transformerPath = import_path2.default.join(transformerDirectory, `${transformer}.js`);
|
166
|
-
return require(transformerPath).default(files, flags);
|
167
|
-
}
|
168
|
-
|
169
|
-
// src/index.ts
|
170
|
-
var help = `
|
171
|
-
Usage:
|
172
|
-
$ npx @turbo/codemod <transform> <path> <...options>
|
173
|
-
|
174
|
-
If <path> is not provided up front you will be prompted for it.
|
175
|
-
|
176
|
-
Options:
|
177
|
-
--force Bypass Git safety checks and forcibly run codemods
|
178
|
-
--dry Dry run (no changes are made to files)
|
179
|
-
--print Print transformed files to your terminal
|
180
|
-
--list List all codemods
|
181
|
-
--help, -h Show this help message
|
182
|
-
--version, -v Show the version of this script
|
183
|
-
`;
|
184
|
-
var TRANSFORMER_INQUIRER_CHOICES = [
|
185
|
-
{
|
186
|
-
name: "add-package-manager: Set the `packageManager` key in root `package.json` file",
|
187
|
-
value: "add-package-manager",
|
188
|
-
introducedIn: "1.1.0"
|
189
|
-
},
|
190
|
-
{
|
191
|
-
name: 'create-turbo-config: Create the `turbo.json` file from an existing "turbo" key in `package.json`',
|
192
|
-
value: "create-turbo-config",
|
193
|
-
introducedIn: "1.1.0"
|
194
|
-
},
|
195
|
-
{
|
196
|
-
name: 'migrate-env-var-dependencies: Migrate environment variable dependencies from "dependsOn" to "env" in `turbo.json`',
|
197
|
-
value: "migrate-env-var-dependencies",
|
198
|
-
introducedIn: "1.5.0"
|
199
|
-
}
|
200
|
-
];
|
201
|
-
run().then(notifyUpdate).catch(async (reason) => {
|
202
|
-
console.log();
|
203
|
-
console.log("Aborting installation.");
|
204
|
-
if (reason.command) {
|
205
|
-
console.log(` ${import_chalk2.default.cyan(reason.command)} has failed.`);
|
206
|
-
} else {
|
207
|
-
console.log(import_chalk2.default.red("Unexpected error. Please report it as a bug:"));
|
208
|
-
console.log(reason);
|
209
|
-
}
|
210
|
-
console.log();
|
211
|
-
await notifyUpdate();
|
212
|
-
process.exit(1);
|
213
|
-
});
|
214
|
-
async function run() {
|
215
|
-
let cli = (0, import_meow.default)(help, {
|
216
|
-
booleanDefault: void 0,
|
217
|
-
flags: {
|
218
|
-
help: { type: "boolean", default: false, alias: "h" },
|
219
|
-
list: { type: "boolean", default: false },
|
220
|
-
force: { type: "boolean", default: false },
|
221
|
-
dry: { type: "boolean", default: false },
|
222
|
-
print: { type: "boolean", default: false },
|
223
|
-
version: { type: "boolean", default: false, alias: "v" }
|
224
|
-
},
|
225
|
-
description: "Codemods for updating Turborepo codebases."
|
226
|
-
});
|
227
|
-
if (cli.flags.help)
|
228
|
-
cli.showHelp();
|
229
|
-
if (cli.flags.version)
|
230
|
-
cli.showVersion();
|
231
|
-
if (cli.flags.list)
|
232
|
-
listTransforms();
|
233
|
-
if (!cli.flags.dry) {
|
234
|
-
checkGitStatus(cli.flags.force);
|
235
|
-
}
|
236
|
-
if (cli.input[0] && !TRANSFORMER_INQUIRER_CHOICES.find((x) => x.value === cli.input[0])) {
|
237
|
-
console.error("Invalid transform choice, pick one of:");
|
238
|
-
console.error(TRANSFORMER_INQUIRER_CHOICES.map((x) => "- " + x.value).join("\n"));
|
239
|
-
process.exit(1);
|
240
|
-
}
|
241
|
-
const answers = await import_inquirer.default.prompt([
|
242
|
-
{
|
243
|
-
type: "input",
|
244
|
-
name: "files",
|
245
|
-
message: "On which directory should the codemods be applied?",
|
246
|
-
when: !cli.input[1],
|
247
|
-
default: ".",
|
248
|
-
filter: (files2) => files2.trim()
|
249
|
-
},
|
250
|
-
{
|
251
|
-
type: "list",
|
252
|
-
name: "transformer",
|
253
|
-
message: "Which transform would you like to apply?",
|
254
|
-
when: !cli.input[0],
|
255
|
-
pageSize: TRANSFORMER_INQUIRER_CHOICES.length,
|
256
|
-
choices: TRANSFORMER_INQUIRER_CHOICES
|
257
|
-
}
|
258
|
-
]);
|
259
|
-
const { files, transformer } = answers;
|
260
|
-
const filesBeforeExpansion = cli.input[1] || files;
|
261
|
-
const filesExpanded = expandFilePathsIfNeeded([filesBeforeExpansion]);
|
262
|
-
const selectedTransformer = cli.input[0] || transformer;
|
263
|
-
if (!filesExpanded.length) {
|
264
|
-
console.log(`No files found matching ${filesBeforeExpansion.join(" ")}`);
|
265
|
-
return null;
|
266
|
-
}
|
267
|
-
return runTransform({
|
268
|
-
files: filesExpanded,
|
269
|
-
flags: cli.flags,
|
270
|
-
transformer: selectedTransformer
|
271
|
-
});
|
272
|
-
}
|
273
|
-
var update = (0, import_update_check.default)(package_default).catch(() => null);
|
274
|
-
async function notifyUpdate() {
|
275
|
-
try {
|
276
|
-
const res = await update;
|
277
|
-
if (res == null ? void 0 : res.latest) {
|
278
|
-
const ws = getWorkspaceImplementation(process.cwd());
|
279
|
-
console.log();
|
280
|
-
console.log(import_chalk2.default.yellow.bold("A new version of `@turbo/codemod` is available!"));
|
281
|
-
console.log("You can update by running: " + import_chalk2.default.cyan(ws === "yarn" ? "yarn global add @turbo/codemod" : ws === "pnpm" ? "pnpm i -g @turbo/codemod" : "npm i -g @turbo/codemod"));
|
282
|
-
console.log();
|
283
|
-
}
|
284
|
-
process.exit();
|
285
|
-
} catch (_e) {
|
286
|
-
}
|
287
|
-
}
|
288
|
-
function listTransforms() {
|
289
|
-
console.log(TRANSFORMER_INQUIRER_CHOICES.map((x) => `- ${import_chalk2.default.cyan(x.value)}`).join("\n"));
|
290
|
-
process.exit(1);
|
291
|
-
}
|
292
|
-
function expandFilePathsIfNeeded(filesBeforeExpansion) {
|
293
|
-
const shouldExpandFiles = filesBeforeExpansion.some((file) => file.includes("*"));
|
294
|
-
return shouldExpandFiles ? import_globby.default.sync(filesBeforeExpansion) : filesBeforeExpansion;
|
295
|
-
}
|
package/dist/logger.js
DELETED
@@ -1,46 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __create = Object.create;
|
3
|
-
var __defProp = Object.defineProperty;
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
8
|
-
var __export = (target, all) => {
|
9
|
-
for (var name in all)
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
11
|
-
};
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
14
|
-
for (let key of __getOwnPropNames(from))
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
17
|
-
}
|
18
|
-
return to;
|
19
|
-
};
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
21
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
22
|
-
|
23
|
-
// src/logger.ts
|
24
|
-
var logger_exports = {};
|
25
|
-
__export(logger_exports, {
|
26
|
-
error: () => error,
|
27
|
-
ok: () => ok,
|
28
|
-
skip: () => skip
|
29
|
-
});
|
30
|
-
module.exports = __toCommonJS(logger_exports);
|
31
|
-
var import_chalk = __toESM(require("chalk"));
|
32
|
-
function skip(...args) {
|
33
|
-
console.log(import_chalk.default.yellow.inverse(` SKIP `), ...args);
|
34
|
-
}
|
35
|
-
function error(...args) {
|
36
|
-
console.log(import_chalk.default.red.inverse(` ERROR `), ...args);
|
37
|
-
}
|
38
|
-
function ok(...args) {
|
39
|
-
console.log(import_chalk.default.green.inverse(` OK `), ...args);
|
40
|
-
}
|
41
|
-
// Annotate the CommonJS export names for ESM import in node:
|
42
|
-
0 && (module.exports = {
|
43
|
-
error,
|
44
|
-
ok,
|
45
|
-
skip
|
46
|
-
});
|
package/dist/runTransform.js
DELETED
@@ -1,44 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __create = Object.create;
|
3
|
-
var __defProp = Object.defineProperty;
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
8
|
-
var __export = (target, all) => {
|
9
|
-
for (var name in all)
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
11
|
-
};
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
14
|
-
for (let key of __getOwnPropNames(from))
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
17
|
-
}
|
18
|
-
return to;
|
19
|
-
};
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
21
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
22
|
-
|
23
|
-
// src/runTransform.ts
|
24
|
-
var runTransform_exports = {};
|
25
|
-
__export(runTransform_exports, {
|
26
|
-
runTransform: () => runTransform,
|
27
|
-
transformerDirectory: () => transformerDirectory
|
28
|
-
});
|
29
|
-
module.exports = __toCommonJS(runTransform_exports);
|
30
|
-
var import_path = __toESM(require("path"));
|
31
|
-
var transformerDirectory = import_path.default.join(__dirname, "transforms");
|
32
|
-
function runTransform({
|
33
|
-
files,
|
34
|
-
flags,
|
35
|
-
transformer
|
36
|
-
}) {
|
37
|
-
const transformerPath = import_path.default.join(transformerDirectory, `${transformer}.js`);
|
38
|
-
return require(transformerPath).default(files, flags);
|
39
|
-
}
|
40
|
-
// Annotate the CommonJS export names for ESM import in node:
|
41
|
-
0 && (module.exports = {
|
42
|
-
runTransform,
|
43
|
-
transformerDirectory
|
44
|
-
});
|
@@ -1,169 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __create = Object.create;
|
3
|
-
var __defProp = Object.defineProperty;
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
8
|
-
var __export = (target, all) => {
|
9
|
-
for (var name in all)
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
11
|
-
};
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
14
|
-
for (let key of __getOwnPropNames(from))
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
17
|
-
}
|
18
|
-
return to;
|
19
|
-
};
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
21
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
22
|
-
|
23
|
-
// src/transforms/add-package-manager.ts
|
24
|
-
var add_package_manager_exports = {};
|
25
|
-
__export(add_package_manager_exports, {
|
26
|
-
default: () => addPackageManager
|
27
|
-
});
|
28
|
-
module.exports = __toCommonJS(add_package_manager_exports);
|
29
|
-
var import_path2 = __toESM(require("path"));
|
30
|
-
|
31
|
-
// src/getWorkspaceImplementation.ts
|
32
|
-
var import_find_up = __toESM(require("find-up"));
|
33
|
-
var import_path = __toESM(require("path"));
|
34
|
-
var cache = {};
|
35
|
-
function getWorkspaceImplementationAndLockFile(cwd) {
|
36
|
-
if (cache[cwd]) {
|
37
|
-
return cache[cwd];
|
38
|
-
}
|
39
|
-
const lockFile = import_find_up.default.sync(["yarn.lock", "pnpm-workspace.yaml", "package-lock.json"], {
|
40
|
-
cwd
|
41
|
-
});
|
42
|
-
if (!lockFile) {
|
43
|
-
return;
|
44
|
-
}
|
45
|
-
switch (import_path.default.basename(lockFile)) {
|
46
|
-
case "yarn.lock":
|
47
|
-
cache[cwd] = {
|
48
|
-
implementation: "yarn",
|
49
|
-
lockFile
|
50
|
-
};
|
51
|
-
break;
|
52
|
-
case "pnpm-workspace.yaml":
|
53
|
-
cache[cwd] = {
|
54
|
-
implementation: "pnpm",
|
55
|
-
lockFile
|
56
|
-
};
|
57
|
-
break;
|
58
|
-
case "package-lock.json":
|
59
|
-
cache[cwd] = {
|
60
|
-
implementation: "npm",
|
61
|
-
lockFile
|
62
|
-
};
|
63
|
-
break;
|
64
|
-
}
|
65
|
-
return cache[cwd];
|
66
|
-
}
|
67
|
-
function getWorkspaceImplementation(cwd) {
|
68
|
-
var _a;
|
69
|
-
return (_a = getWorkspaceImplementationAndLockFile(cwd)) == null ? void 0 : _a.implementation;
|
70
|
-
}
|
71
|
-
|
72
|
-
// src/getPackageManagerVersion.ts
|
73
|
-
var import_child_process = require("child_process");
|
74
|
-
var getPackageManagerVersion = (ws) => {
|
75
|
-
switch (ws) {
|
76
|
-
case "yarn":
|
77
|
-
return (0, import_child_process.execSync)("yarn --version").toString().trim();
|
78
|
-
case "pnpm":
|
79
|
-
return (0, import_child_process.execSync)("pnpm --version").toString().trim();
|
80
|
-
case "npm":
|
81
|
-
return (0, import_child_process.execSync)("npm --version").toString().trim();
|
82
|
-
default:
|
83
|
-
throw new Error(`${ws} is not supported`);
|
84
|
-
}
|
85
|
-
};
|
86
|
-
|
87
|
-
// src/transforms/add-package-manager.ts
|
88
|
-
var import_fs_extra = __toESM(require("fs-extra"));
|
89
|
-
var import_chalk2 = __toESM(require("chalk"));
|
90
|
-
|
91
|
-
// src/logger.ts
|
92
|
-
var import_chalk = __toESM(require("chalk"));
|
93
|
-
function skip(...args) {
|
94
|
-
console.log(import_chalk.default.yellow.inverse(` SKIP `), ...args);
|
95
|
-
}
|
96
|
-
function error(...args) {
|
97
|
-
console.log(import_chalk.default.red.inverse(` ERROR `), ...args);
|
98
|
-
}
|
99
|
-
function ok(...args) {
|
100
|
-
console.log(import_chalk.default.green.inverse(` OK `), ...args);
|
101
|
-
}
|
102
|
-
|
103
|
-
// src/transforms/add-package-manager.ts
|
104
|
-
function addPackageManager(files, flags) {
|
105
|
-
if (files.length === 1) {
|
106
|
-
const dir = files[0];
|
107
|
-
const root = import_path2.default.resolve(process.cwd(), dir);
|
108
|
-
console.log(`Set "packageManager" key in root "package.json" file...`);
|
109
|
-
const packageManager = getWorkspaceImplementation(root);
|
110
|
-
if (!packageManager) {
|
111
|
-
error(`Unable to determine package manager for ${dir}`);
|
112
|
-
process.exit(1);
|
113
|
-
}
|
114
|
-
const version = getPackageManagerVersion(packageManager);
|
115
|
-
const pkgManagerString = `${packageManager}@${version}`;
|
116
|
-
const rootPackageJsonPath = import_path2.default.join(root, "package.json");
|
117
|
-
const rootPackageJson = import_fs_extra.default.readJsonSync(rootPackageJsonPath);
|
118
|
-
const allWorkspaces = [
|
119
|
-
{
|
120
|
-
name: "package.json",
|
121
|
-
path: root,
|
122
|
-
packageJson: {
|
123
|
-
...rootPackageJson,
|
124
|
-
packageJsonPath: rootPackageJsonPath
|
125
|
-
}
|
126
|
-
}
|
127
|
-
];
|
128
|
-
let modifiedCount = 0;
|
129
|
-
let skippedCount = 0;
|
130
|
-
let errorCount = 0;
|
131
|
-
let unmodifiedCount = allWorkspaces.length;
|
132
|
-
console.log(`Found ${unmodifiedCount} files for modification...`);
|
133
|
-
for (const workspace of allWorkspaces) {
|
134
|
-
const { packageJsonPath, ...pkgJson } = workspace.packageJson;
|
135
|
-
const relPackageJsonPath = import_path2.default.relative(root, packageJsonPath);
|
136
|
-
try {
|
137
|
-
if (pkgJson.packageManager === pkgManagerString) {
|
138
|
-
skip(relPackageJsonPath, import_chalk2.default.dim(`(already set to ${pkgManagerString})`));
|
139
|
-
} else {
|
140
|
-
const newJson = { ...pkgJson, packageManager: pkgManagerString };
|
141
|
-
if (flags.print) {
|
142
|
-
console.log(JSON.stringify(newJson, null, 2));
|
143
|
-
}
|
144
|
-
if (!flags.dry) {
|
145
|
-
import_fs_extra.default.writeJsonSync(packageJsonPath, newJson, {
|
146
|
-
spaces: 2
|
147
|
-
});
|
148
|
-
ok(relPackageJsonPath);
|
149
|
-
modifiedCount++;
|
150
|
-
unmodifiedCount--;
|
151
|
-
} else {
|
152
|
-
skip(relPackageJsonPath, import_chalk2.default.dim(`(dry run)`));
|
153
|
-
}
|
154
|
-
}
|
155
|
-
} catch (err) {
|
156
|
-
console.error(error);
|
157
|
-
error(relPackageJsonPath);
|
158
|
-
}
|
159
|
-
}
|
160
|
-
console.log("All done.");
|
161
|
-
console.log("Results:");
|
162
|
-
console.log(import_chalk2.default.red(`${errorCount} errors`));
|
163
|
-
console.log(import_chalk2.default.yellow(`${skippedCount} skipped`));
|
164
|
-
console.log(import_chalk2.default.yellow(`${unmodifiedCount} unmodified`));
|
165
|
-
console.log(import_chalk2.default.green(`${modifiedCount} modified`));
|
166
|
-
}
|
167
|
-
}
|
168
|
-
// Annotate the CommonJS export names for ESM import in node:
|
169
|
-
0 && (module.exports = {});
|
@@ -1,104 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __create = Object.create;
|
3
|
-
var __defProp = Object.defineProperty;
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
8
|
-
var __export = (target, all) => {
|
9
|
-
for (var name in all)
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
11
|
-
};
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
14
|
-
for (let key of __getOwnPropNames(from))
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
17
|
-
}
|
18
|
-
return to;
|
19
|
-
};
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
21
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
22
|
-
|
23
|
-
// src/transforms/create-turbo-config.ts
|
24
|
-
var create_turbo_config_exports = {};
|
25
|
-
__export(create_turbo_config_exports, {
|
26
|
-
default: () => createTurboConfig
|
27
|
-
});
|
28
|
-
module.exports = __toCommonJS(create_turbo_config_exports);
|
29
|
-
var import_fs_extra = __toESM(require("fs-extra"));
|
30
|
-
var import_chalk2 = __toESM(require("chalk"));
|
31
|
-
var import_path = __toESM(require("path"));
|
32
|
-
|
33
|
-
// src/logger.ts
|
34
|
-
var import_chalk = __toESM(require("chalk"));
|
35
|
-
function skip(...args) {
|
36
|
-
console.log(import_chalk.default.yellow.inverse(` SKIP `), ...args);
|
37
|
-
}
|
38
|
-
function error(...args) {
|
39
|
-
console.log(import_chalk.default.red.inverse(` ERROR `), ...args);
|
40
|
-
}
|
41
|
-
function ok(...args) {
|
42
|
-
console.log(import_chalk.default.green.inverse(` OK `), ...args);
|
43
|
-
}
|
44
|
-
|
45
|
-
// src/transforms/create-turbo-config.ts
|
46
|
-
function createTurboConfig(files, flags) {
|
47
|
-
if (files.length === 1) {
|
48
|
-
const dir = files[0];
|
49
|
-
const root = import_path.default.resolve(process.cwd(), dir);
|
50
|
-
console.log(`Migrating "package.json" "turbo" key to "turbo.json" file...`);
|
51
|
-
const turboConfigPath = import_path.default.join(root, "turbo.json");
|
52
|
-
const rootPackageJsonPath = import_path.default.join(root, "package.json");
|
53
|
-
let modifiedCount = 0;
|
54
|
-
let skippedCount = 0;
|
55
|
-
let unmodifiedCount = 2;
|
56
|
-
if (!import_fs_extra.default.existsSync(rootPackageJsonPath)) {
|
57
|
-
error(`No package.json found at ${root}. Is the path correct?`);
|
58
|
-
process.exit(1);
|
59
|
-
}
|
60
|
-
const rootPackageJson = import_fs_extra.default.readJsonSync(rootPackageJsonPath);
|
61
|
-
if (import_fs_extra.default.existsSync(turboConfigPath)) {
|
62
|
-
skip("turbo.json", import_chalk2.default.dim("(already exists)"));
|
63
|
-
skip("package.json", import_chalk2.default.dim("(skipped)"));
|
64
|
-
skippedCount += 2;
|
65
|
-
} else if (rootPackageJson.hasOwnProperty("turbo")) {
|
66
|
-
const { turbo: turboConfig, ...remainingPkgJson } = rootPackageJson;
|
67
|
-
if (flags.dry) {
|
68
|
-
if (flags.print) {
|
69
|
-
console.log(JSON.stringify(turboConfig, null, 2));
|
70
|
-
}
|
71
|
-
skip("turbo.json", import_chalk2.default.dim("(dry run)"));
|
72
|
-
if (flags.print) {
|
73
|
-
console.log(JSON.stringify(remainingPkgJson, null, 2));
|
74
|
-
}
|
75
|
-
skip("package.json", import_chalk2.default.dim("(dry run)"));
|
76
|
-
skippedCount += 2;
|
77
|
-
} else {
|
78
|
-
if (flags.print) {
|
79
|
-
console.log(JSON.stringify(turboConfig, null, 2));
|
80
|
-
}
|
81
|
-
ok("turbo.json", import_chalk2.default.dim("(created)"));
|
82
|
-
import_fs_extra.default.writeJsonSync(turboConfigPath, turboConfig, { spaces: 2 });
|
83
|
-
if (flags.print) {
|
84
|
-
console.log(JSON.stringify(remainingPkgJson, null, 2));
|
85
|
-
}
|
86
|
-
ok("package.json", import_chalk2.default.dim("(remove turbo key)"));
|
87
|
-
import_fs_extra.default.writeJsonSync(rootPackageJsonPath, remainingPkgJson, { spaces: 2 });
|
88
|
-
modifiedCount += 2;
|
89
|
-
unmodifiedCount -= 2;
|
90
|
-
}
|
91
|
-
} else {
|
92
|
-
error('"turbo" key does not exist in "package.json"');
|
93
|
-
process.exit(1);
|
94
|
-
}
|
95
|
-
console.log("All done.");
|
96
|
-
console.log("Results:");
|
97
|
-
console.log(import_chalk2.default.red(`0 errors`));
|
98
|
-
console.log(import_chalk2.default.yellow(`${skippedCount} skipped`));
|
99
|
-
console.log(import_chalk2.default.yellow(`${unmodifiedCount} unmodified`));
|
100
|
-
console.log(import_chalk2.default.green(`${modifiedCount} modified`));
|
101
|
-
}
|
102
|
-
}
|
103
|
-
// Annotate the CommonJS export names for ESM import in node:
|
104
|
-
0 && (module.exports = {});
|
@@ -1,185 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __create = Object.create;
|
3
|
-
var __defProp = Object.defineProperty;
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
8
|
-
var __export = (target, all) => {
|
9
|
-
for (var name in all)
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
11
|
-
};
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
14
|
-
for (let key of __getOwnPropNames(from))
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
17
|
-
}
|
18
|
-
return to;
|
19
|
-
};
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
21
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
22
|
-
|
23
|
-
// src/transforms/migrate-env-var-dependencies.ts
|
24
|
-
var migrate_env_var_dependencies_exports = {};
|
25
|
-
__export(migrate_env_var_dependencies_exports, {
|
26
|
-
default: () => migrateEnvVarDependencies,
|
27
|
-
hasLegacyEnvVarDependencies: () => hasLegacyEnvVarDependencies,
|
28
|
-
migrateConfig: () => migrateConfig,
|
29
|
-
migrateDependencies: () => migrateDependencies,
|
30
|
-
migrateGlobal: () => migrateGlobal,
|
31
|
-
migratePipeline: () => migratePipeline
|
32
|
-
});
|
33
|
-
module.exports = __toCommonJS(migrate_env_var_dependencies_exports);
|
34
|
-
var import_fs_extra = __toESM(require("fs-extra"));
|
35
|
-
var import_path = __toESM(require("path"));
|
36
|
-
var import_chalk2 = __toESM(require("chalk"));
|
37
|
-
|
38
|
-
// src/logger.ts
|
39
|
-
var import_chalk = __toESM(require("chalk"));
|
40
|
-
function skip(...args) {
|
41
|
-
console.log(import_chalk.default.yellow.inverse(` SKIP `), ...args);
|
42
|
-
}
|
43
|
-
function error(...args) {
|
44
|
-
console.log(import_chalk.default.red.inverse(` ERROR `), ...args);
|
45
|
-
}
|
46
|
-
function ok(...args) {
|
47
|
-
console.log(import_chalk.default.green.inverse(` OK `), ...args);
|
48
|
-
}
|
49
|
-
|
50
|
-
// src/transforms/migrate-env-var-dependencies.ts
|
51
|
-
function hasLegacyEnvVarDependencies(config) {
|
52
|
-
const dependsOn = [
|
53
|
-
config.globalDependencies,
|
54
|
-
Object.values(config.pipeline).flatMap((pipeline) => {
|
55
|
-
var _a;
|
56
|
-
return (_a = pipeline.dependsOn) != null ? _a : [];
|
57
|
-
})
|
58
|
-
].flat();
|
59
|
-
const envVars = dependsOn.filter((dep) => dep == null ? void 0 : dep.startsWith("$"));
|
60
|
-
return { hasKeys: !!envVars.length, envVars };
|
61
|
-
}
|
62
|
-
function migrateDependencies({
|
63
|
-
env,
|
64
|
-
deps
|
65
|
-
}) {
|
66
|
-
const envDeps = new Set(env);
|
67
|
-
const otherDeps = [];
|
68
|
-
deps == null ? void 0 : deps.forEach((dep) => {
|
69
|
-
if (dep == null ? void 0 : dep.startsWith("$")) {
|
70
|
-
envDeps.add(dep.slice(1));
|
71
|
-
} else {
|
72
|
-
otherDeps.push(dep);
|
73
|
-
}
|
74
|
-
});
|
75
|
-
if (envDeps.size) {
|
76
|
-
return {
|
77
|
-
deps: otherDeps,
|
78
|
-
env: Array.from(envDeps)
|
79
|
-
};
|
80
|
-
} else {
|
81
|
-
return { env, deps };
|
82
|
-
}
|
83
|
-
}
|
84
|
-
function migratePipeline(pipeline) {
|
85
|
-
const { deps: dependsOn, env } = migrateDependencies({
|
86
|
-
env: pipeline.env,
|
87
|
-
deps: pipeline.dependsOn
|
88
|
-
});
|
89
|
-
const migratedPipeline = { ...pipeline };
|
90
|
-
if (dependsOn) {
|
91
|
-
migratedPipeline.dependsOn = dependsOn;
|
92
|
-
} else {
|
93
|
-
delete migratedPipeline.dependsOn;
|
94
|
-
}
|
95
|
-
if (env && env.length) {
|
96
|
-
migratedPipeline.env = env;
|
97
|
-
} else {
|
98
|
-
delete migratedPipeline.env;
|
99
|
-
}
|
100
|
-
return migratedPipeline;
|
101
|
-
}
|
102
|
-
function migrateGlobal(config) {
|
103
|
-
const { deps: globalDependencies, env } = migrateDependencies({
|
104
|
-
env: config.globalEnv,
|
105
|
-
deps: config.globalDependencies
|
106
|
-
});
|
107
|
-
const migratedConfig = { ...config };
|
108
|
-
if (globalDependencies) {
|
109
|
-
migratedConfig.globalDependencies = globalDependencies;
|
110
|
-
} else {
|
111
|
-
delete migratedConfig.globalDependencies;
|
112
|
-
}
|
113
|
-
if (env && env.length) {
|
114
|
-
migratedConfig.globalEnv = env;
|
115
|
-
} else {
|
116
|
-
delete migratedConfig.globalEnv;
|
117
|
-
}
|
118
|
-
return migratedConfig;
|
119
|
-
}
|
120
|
-
function migrateConfig(config) {
|
121
|
-
let migratedConfig = migrateGlobal(config);
|
122
|
-
Object.keys(config.pipeline).forEach((pipelineKey) => {
|
123
|
-
var _a, _b;
|
124
|
-
if (migratedConfig.pipeline && ((_a = config.pipeline) == null ? void 0 : _a[pipelineKey])) {
|
125
|
-
const pipeline = (_b = migratedConfig.pipeline) == null ? void 0 : _b[pipelineKey];
|
126
|
-
migratedConfig.pipeline[pipelineKey] = {
|
127
|
-
...pipeline,
|
128
|
-
...migratePipeline(pipeline)
|
129
|
-
};
|
130
|
-
}
|
131
|
-
});
|
132
|
-
return migratedConfig;
|
133
|
-
}
|
134
|
-
function migrateEnvVarDependencies(files, flags) {
|
135
|
-
if (files.length === 1) {
|
136
|
-
const dir = files[0];
|
137
|
-
const root = import_path.default.resolve(process.cwd(), dir);
|
138
|
-
console.log(`Migrating environment variable dependencies from "globalDependencies" and "dependsOn" to "env" in "turbo.json"...`);
|
139
|
-
const turboConfigPath = import_path.default.join(root, "turbo.json");
|
140
|
-
let modifiedCount = 0;
|
141
|
-
let skippedCount = 0;
|
142
|
-
let unmodifiedCount = 1;
|
143
|
-
if (!import_fs_extra.default.existsSync(turboConfigPath)) {
|
144
|
-
error(`No turbo.json found at ${root}. Is the path correct?`);
|
145
|
-
process.exit(1);
|
146
|
-
}
|
147
|
-
const rootTurboJson = import_fs_extra.default.readJsonSync(turboConfigPath);
|
148
|
-
if (hasLegacyEnvVarDependencies(rootTurboJson).hasKeys) {
|
149
|
-
if (flags.dry) {
|
150
|
-
if (flags.print) {
|
151
|
-
console.log(JSON.stringify(migrateConfig(rootTurboJson), null, 2));
|
152
|
-
}
|
153
|
-
skip("turbo.json", import_chalk2.default.dim("(dry run)"));
|
154
|
-
skippedCount += 1;
|
155
|
-
} else {
|
156
|
-
if (flags.print) {
|
157
|
-
console.log(JSON.stringify(migrateConfig(rootTurboJson), null, 2));
|
158
|
-
}
|
159
|
-
ok("turbo.json");
|
160
|
-
import_fs_extra.default.writeJsonSync(turboConfigPath, migrateConfig(rootTurboJson), {
|
161
|
-
spaces: 2
|
162
|
-
});
|
163
|
-
modifiedCount += 1;
|
164
|
-
unmodifiedCount -= 1;
|
165
|
-
}
|
166
|
-
} else {
|
167
|
-
ok('no unmigrated environment variable dependencies found in "turbo.json"');
|
168
|
-
process.exit(0);
|
169
|
-
}
|
170
|
-
console.log("All done.");
|
171
|
-
console.log("Results:");
|
172
|
-
console.log(import_chalk2.default.red(`0 errors`));
|
173
|
-
console.log(import_chalk2.default.yellow(`${skippedCount} skipped`));
|
174
|
-
console.log(import_chalk2.default.yellow(`${unmodifiedCount} unmodified`));
|
175
|
-
console.log(import_chalk2.default.green(`${modifiedCount} modified`));
|
176
|
-
}
|
177
|
-
}
|
178
|
-
// Annotate the CommonJS export names for ESM import in node:
|
179
|
-
0 && (module.exports = {
|
180
|
-
hasLegacyEnvVarDependencies,
|
181
|
-
migrateConfig,
|
182
|
-
migrateDependencies,
|
183
|
-
migrateGlobal,
|
184
|
-
migratePipeline
|
185
|
-
});
|
package/dist/types.js
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __defProp = Object.defineProperty;
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
-
var __copyProps = (to, from, except, desc) => {
|
7
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
8
|
-
for (let key of __getOwnPropNames(from))
|
9
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
10
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
11
|
-
}
|
12
|
-
return to;
|
13
|
-
};
|
14
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
15
|
-
|
16
|
-
// src/types.ts
|
17
|
-
var types_exports = {};
|
18
|
-
module.exports = __toCommonJS(types_exports);
|