@sanity/plugin-kit
6.0.47.0.0
dist/_chunks-es/verify-common.js.map+
dist/_chunks-es/verify-common.js.mapNew file+1
Index: package/dist/_chunks-es/verify-common.js.map
===================================================================
--- package/dist/_chunks-es/verify-common.js.map
+++ package/dist/_chunks-es/verify-common.js.map
@@ -0,0 +1,1 @@
+{"version":3,"file":"verify-common.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 eslint = new ESLint({\n cwd: basePath,\n overrideConfig: {\n ignorePatterns: ['node_modules'],\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\n try {\n const results = await eslint.lintFiles([path.join(basePath, '**/*.{js,jsx,ts,tsx}')])\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