aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/packages/turbo-codemod/src/transforms/set-default-outputs.ts
diff options
context:
space:
mode:
author简律纯 <i@jyunko.cn>2023-11-03 21:25:40 +0800
committer简律纯 <i@jyunko.cn>2023-11-03 21:25:40 +0800
commit9029588590bea8b10451575c5142dcde77ecd1b5 (patch)
tree04cf8aee56c23fd225ff19d340f7cee621d874ef /packages/turbo-codemod/src/transforms/set-default-outputs.ts
parent94071d7ce16c56641d67d488e2bac6be84ffe731 (diff)
downloadHydroRoll-9029588590bea8b10451575c5142dcde77ecd1b5.tar.gz
HydroRoll-9029588590bea8b10451575c5142dcde77ecd1b5.zip
chore: delete useless files
Diffstat (limited to 'packages/turbo-codemod/src/transforms/set-default-outputs.ts')
-rw-r--r--packages/turbo-codemod/src/transforms/set-default-outputs.ts97
1 files changed, 0 insertions, 97 deletions
diff --git a/packages/turbo-codemod/src/transforms/set-default-outputs.ts b/packages/turbo-codemod/src/transforms/set-default-outputs.ts
deleted file mode 100644
index 44f7fd1..0000000
--- a/packages/turbo-codemod/src/transforms/set-default-outputs.ts
+++ /dev/null
@@ -1,97 +0,0 @@
-import path from "path";
-import fs from "fs-extra";
-import { getTurboConfigs } from "@turbo/utils";
-import type { Schema as TurboJsonSchema } from "@turbo/types";
-
-import type { TransformerArgs } from "../types";
-import getTransformerHelpers from "../utils/getTransformerHelpers";
-import { TransformerResults } from "../runner";
-
-const DEFAULT_OUTPUTS = ["dist/**", "build/**"];
-
-// transformer details
-const TRANSFORMER = "set-default-outputs";
-const DESCRIPTION =
- 'Add the "outputs" key with defaults where it is missing in `turbo.json`';
-const INTRODUCED_IN = "1.7.0";
-
-function migrateConfig(config: TurboJsonSchema) {
- for (const [_, taskDef] of Object.entries(config.pipeline)) {
- if (taskDef.cache !== false) {
- if (!taskDef.outputs) {
- taskDef.outputs = DEFAULT_OUTPUTS;
- } else if (
- Array.isArray(taskDef.outputs) &&
- taskDef.outputs.length === 0
- ) {
- delete taskDef.outputs;
- }
- }
- }
-
- return config;
-}
-
-export function transformer({
- root,
- options,
-}: TransformerArgs): TransformerResults {
- const { log, runner } = getTransformerHelpers({
- transformer: TRANSFORMER,
- rootPath: root,
- options,
- });
-
- // If `turbo` key is detected in package.json, require user to run the other codemod first.
- const packageJsonPath = path.join(root, "package.json");
- // package.json should always exist, but if it doesn't, it would be a silly place to blow up this codemod
- let packageJSON = {};
-
- try {
- packageJSON = fs.readJSONSync(packageJsonPath);
- } catch (e) {
- // readJSONSync probably failed because the file doesn't exist
- }
-
- if ("turbo" in packageJSON) {
- return runner.abortTransform({
- reason:
- '"turbo" key detected in package.json. Run `npx @turbo/codemod transform create-turbo-config` first',
- });
- }
-
- log.info(`Adding default \`outputs\` key into tasks if it doesn't exist`);
- const turboConfigPath = path.join(root, "turbo.json");
- if (!fs.existsSync(turboConfigPath)) {
- return runner.abortTransform({
- reason: `No turbo.json found at ${root}. Is the path correct?`,
- });
- }
-
- const turboJson: TurboJsonSchema = fs.readJsonSync(turboConfigPath);
- runner.modifyFile({
- filePath: turboConfigPath,
- after: migrateConfig(turboJson),
- });
-
- // find and migrate any workspace configs
- const workspaceConfigs = getTurboConfigs(root);
- workspaceConfigs.forEach((workspaceConfig) => {
- const { config, turboConfigPath } = workspaceConfig;
- runner.modifyFile({
- filePath: turboConfigPath,
- after: migrateConfig(config),
- });
- });
-
- return runner.finish();
-}
-
-const transformerMeta = {
- name: `${TRANSFORMER}: ${DESCRIPTION}`,
- value: TRANSFORMER,
- introducedIn: INTRODUCED_IN,
- transformer,
-};
-
-export default transformerMeta;