@sanity/plugin-kit
7.0.28.0.0
dist/verify-common-cNJ4BLlQ.js.map−
dist/verify-common-cNJ4BLlQ.js.mapDeleted−1
Index: package/dist/verify-common-cNJ4BLlQ.js.map
===================================================================
--- package/dist/verify-common-cNJ4BLlQ.js.map
+++ package/dist/verify-common-cNJ4BLlQ.js.map
@@ -1,1 +0,0 @@
-{"version":3,"file":"verify-common-cNJ4BLlQ.js","names":["sharedFlags"],"sources":["../src/dependencies/import-linter.ts","../src/util/ts.ts","../src/util/command-parser.ts","../src/actions/verify/verify-common.ts"],"sourcesContent":["import path from 'path'\n\nimport {ESLint} from 'eslint'\nimport outdent from 'outdent'\n\nimport {mergedPackages} from '../configs/banned-packages'\nimport {urls} from '../constants'\nimport log from '../util/log'\n\nconst removedImportSuffix = `imports where removed in Sanity v3. Please refer to the migration guide: ${urls.migrationGuideStudio}, or new API-reference docs: ${urls.refDocs}`\n\nexport async function validateImports({basePath}: {basePath: string}): Promise<string[]> {\n log.debug('Running ESLint with Sanity Studio import hints...')\n const eslintConfig: ESLint.Options['overrideConfig'] = {\n ignorePatterns: ['node_modules'],\n parserOptions: {\n ecmaVersion: 'latest',\n sourceType: 'module',\n },\n rules: {\n 'no-restricted-imports': [\n 'error',\n {\n patterns: [\n ...mergedPackages.map((packageName) => ({\n group: [`${packageName}*`],\n message: `Use sanity instead of ${packageName}.`,\n })),\n {\n group: ['config:*'],\n message: `config: imports are no longer supported. Please see the new plugin API for alternatives: ${urls.migrationGuideStudio}`,\n },\n {\n group: ['part:*'],\n message: `part: ${removedImportSuffix}`,\n },\n {\n group: ['all:part:*'],\n message: `all:part: ${removedImportSuffix}`,\n },\n {\n group: ['sanity:*'],\n message: `sanity: ${removedImportSuffix}`,\n },\n ],\n },\n ],\n },\n }\n\n const eslint = new ESLint({\n cwd: basePath,\n overrideConfig: eslintConfig,\n })\n\n try {\n let results\n try {\n results = await eslint.lintFiles([path.join(basePath, '**/*.{js,jsx,ts,tsx}')])\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error)\n const shouldRetryWithoutUserConfig =\n message.includes('@typescript-eslint') && message.includes(\"reading 'Cjs'\")\n\n if (!shouldRetryWithoutUserConfig) {\n throw error\n }\n\n log.debug('Retrying ESLint import check without user config: %s', message)\n const fallbackEslint = new ESLint({\n cwd: basePath,\n useEslintrc: false,\n overrideConfig: eslintConfig,\n })\n results = await fallbackEslint.lintFiles([path.join(basePath, '**/*.{js,jsx,ts,tsx}')])\n }\n\n const onlyImportErrors = results\n .map((r) => {\n const limitErrors = r.messages.filter((m) => m.ruleId === 'no-restricted-imports')\n return {\n ...r,\n messages: limitErrors,\n errorCount: limitErrors.length,\n }\n })\n .filter((r) => r.errorCount)\n\n if (onlyImportErrors.length) {\n const formatter = await eslint.loadFormatter('stylish')\n const resultText = await formatter.format(onlyImportErrors)\n\n const additionalInfo = outdent`\n ESLint detected Studio V2 imports that are no longer available.\n It is recommended configure @sanity/eslint-config-no-v2-imports for ESLint.\n\n Run:\n npm install --save-dev @sanity/eslint-config-no-v2-imports\n\n In .eslintrc add:\n \"extends\": [\"@sanity/no-v2-imports\"]\n\n This way, V2-imports can be identified directly in the IDE, or using eslint CLI.\n For more, see ${urls.linterPackage}\n\n If the plugin package does not use eslint, disable this check.\n `\n return [resultText + additionalInfo]\n }\n } catch (e) {\n log.error('Failed to run eslint check', e)\n return [\n outdent`\n Failed to run ESLint. Is ESLint configured?\n\n If the package does not use eslint, disable this check.\n `,\n ]\n }\n\n return []\n}\n","import path from 'path'\n\n// The JS compiler API is loaded from the official `@typescript/typescript6` compat package\n// instead of the `typescript` peer dependency, as TypeScript 7 (the Go-native compiler) no longer\n// ships it\nimport * as ts from '@typescript/typescript6'\n\nimport {fileExists} from './files'\n\nexport async function readTSConfig(options: {basePath: string; filename: string}) {\n const {basePath, filename} = options\n const filePath = path.resolve(basePath, filename)\n const exists = await fileExists(filePath)\n\n if (!exists) return undefined\n\n const {config} = ts.readConfigFile(filePath, ts.sys.readFile)\n\n if (!config) return undefined\n\n return ts.parseJsonConfigFileContent(config, ts.sys, basePath)\n}\n","import childProcess from 'child_process'\n\nimport npmRunPath from 'npm-run-path'\n\nimport log from './log'\n\ninterface Command {\n command: string\n args: string[]\n}\n\nfunction parseCommand(commandString: string): Command {\n const normalized = commandString.replace(/ +/g, ' ')\n const commandAndArg = normalized.split(' ')\n return {\n command: commandAndArg[0],\n args: commandAndArg.length > 1 ? commandAndArg.slice(1) : [],\n }\n}\n\nexport async function runCommand(commandString: string): Promise<{code: number}> {\n log.info(`Running command: ${commandString}`)\n const {command, args} = parseCommand(commandString)\n\n let options: any = {stdio: 'inherit', env: npmRunPath.env()}\n\n // ref: https://stackoverflow.com/questions/37459717/error-spawn-enoent-on-windows/37487465\n options = process.platform === 'win32' ? {...options, shell: true} : options\n\n return new Promise((resolve, reject) => {\n childProcess\n .spawn(command, args, options)\n .on('error', reject)\n .on('close', (exitCode) => {\n resolve({code: exitCode ?? 0})\n })\n })\n}\n","import type {ParsedCommandLine} from '@typescript/typescript6'\nimport chalk from 'chalk'\nimport type {TypedFlags} from 'meow'\nimport outdent from 'outdent'\n\nimport sharedFlags from '../../sharedFlags'\nimport {runCommand} from '../../util/command-parser'\nimport log from '../../util/log'\n\nconst splitLine = `\\n----------------------------------------------------------`\n\nexport const verifyPackageConfigDefaults = {\n 'packageName': true,\n 'esmOnly': true,\n 'tsconfig': true,\n 'tsc': true,\n 'dependencies': true,\n 'deprecatedDependencies': true,\n 'babelConfig': true,\n 'incompatiblePlugin': true,\n 'eslintImports': true,\n 'scripts': true,\n 'pkg-utils': true,\n 'nodeEngine': true,\n 'studioConfig': true,\n 'srcIndex': true,\n 'bannedFiles': true,\n 'duplicateConfig': true,\n} as const\n\nexport type VerifyPackageConfig = Partial<Record<keyof typeof verifyPackageConfigDefaults, boolean>>\n\nexport const verifyFlags = {\n ...sharedFlags,\n single: {\n default: false,\n type: 'boolean',\n },\n} as const\n\nexport type VerifyFlags = TypedFlags<typeof verifyFlags>\n\nfunction disableCheckText(checkKey: string) {\n return chalk.grey(\n outdent`\n To skip this validation add the following to your package.json:\n \"sanityPlugin\": {\n \"verifyPackage\": {\n \"${checkKey}\": false\n }\n }\n `.trimStart(),\n )\n}\n\nexport function createValidator(\n verifyConfig: VerifyPackageConfig,\n flags: VerifyFlags,\n errors: string[],\n) {\n return async function validation(\n checkKey: keyof VerifyPackageConfig,\n task: () => Promise<string[] | undefined>,\n ) {\n if (verifyConfig[checkKey] !== false) {\n const result = await task()\n if (result?.length) {\n result.push(disableCheckText(checkKey))\n const errorMessage = result.join('\\n\\n')\n errors.push(errorMessage)\n log.error(`\\n` + errorMessage + splitLine)\n }\n }\n\n if (flags.single && errors.length) {\n throw new Error(\n outdent`Detected outstanding upgrade issues.\n\n Fail-fast (--single) mode enabled, stopping validation here.\n `,\n )\n }\n }\n}\n\nexport async function runTscMaybe(verifyConfig: VerifyPackageConfig, ts?: ParsedCommandLine) {\n if (ts && verifyConfig.tsc !== false) {\n log.info('All checks ok, running TypeScript compiler.')\n const {code} = await runCommand('tsc --build')\n if (code !== 0) {\n throw new Error('Compilation failed. See output above.\\n\\n' + disableCheckText('tsc'))\n }\n }\n}\n"],"mappings":"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"}
\ No newline at end of file