diff options
| author | 2023-11-03 21:25:40 +0800 | |
|---|---|---|
| committer | 2023-11-03 21:25:40 +0800 | |
| commit | 9029588590bea8b10451575c5142dcde77ecd1b5 (patch) | |
| tree | 04cf8aee56c23fd225ff19d340f7cee621d874ef /packages/turbo-codemod/src/transforms/set-default-outputs.ts | |
| parent | 94071d7ce16c56641d67d488e2bac6be84ffe731 (diff) | |
| download | HydroRoll-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.ts | 97 |
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; |
