@sanity/plugin-kit

7.0.28.0.0
dist/verify-package-B32oCYay.js.map
+dist/verify-package-B32oCYay.js.mapNew file
+1
Index: package/dist/verify-package-B32oCYay.js.map
===================================================================
--- package/dist/verify-package-B32oCYay.js.map
+++ package/dist/verify-package-B32oCYay.js.map
@@ -0,0 +1,1 @@
+{"version":3,"file":"verify-package-B32oCYay.js","names":[],"sources":["../src/util/ts.ts","../src/actions/verify-package.ts","../src/cmds/verify-package.ts"],"sourcesContent":["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 chalk from 'chalk'\nimport outdent from 'outdent'\n\nimport {cliName, defaultOutDir, urls} from '../constants'\nimport {getPackage} from '../npm/package'\nimport {loadPackageConfig} from '../util/load-package-config'\nimport log from '../util/log'\nimport {readTSConfig} from '../util/ts'\nimport type {PackageJson} from './verify/types'\nimport {\n  validateBabelConfig,\n  validateEsmOnly,\n  validateNodeEngine,\n  validatePackageName,\n  validatePackageType,\n  validatePkgUtilsDependency,\n  validatePkgUtilsVersion,\n  validateIncompatiblePlugin,\n  validateDeprecatedDependencies,\n  validateScripts,\n  validateTsConfig,\n  validateSanityDependencies,\n  validateSrcIndexFile,\n  validateBannedFiles,\n  validateOxfmtConfig,\n  validateOxlintConfig,\n} from './verify/validations'\nimport {createValidator, type VerifyFlags, type VerifyPackageConfig} from './verify/verify-common'\n\nexport async function verifyPackage({basePath, flags}: {basePath: string; flags: VerifyFlags}) {\n  let errors: string[] = []\n\n  const packageJson: PackageJson = await getPackage({basePath, validate: false})\n  const verifyConfig: VerifyPackageConfig = packageJson.sanityPlugin?.verifyPackage || {}\n\n  // Hard requirements (not configurable via sanityPlugin.verifyPackage): plugins must be ESM and\n  // ship a compatible @sanity/pkg-utils, since plugin-kit loads package.config.ts through it.\n  for (const hardError of [\n    ...validatePackageType(packageJson),\n    ...validatePkgUtilsVersion({basePath}),\n  ]) {\n    errors.push(hardError)\n    log.error(`\\n${hardError}`)\n  }\n\n  // Load defensively: if the config can't be loaded (e.g. incompatible/missing pkg-utils), fall\n  // back to defaults so the remaining checks still surface actionable issues.\n  let packageConfig\n  try {\n    packageConfig = await loadPackageConfig({basePath})\n  } catch (err) {\n    log.debug('Failed to load package.config: %s', err)\n  }\n  const outDir = packageConfig?.dist ?? defaultOutDir\n  const tsconfig = packageConfig?.tsconfig ?? 'tsconfig.json'\n\n  const validation = createValidator(verifyConfig, flags, errors)\n\n  const ts = await readTSConfig({basePath, filename: tsconfig})\n\n  await validation('packageName', async () => validatePackageName(packageJson))\n  await validation('esmOnly', async () => validateEsmOnly(packageJson))\n  await validation('pkg-utils', async () => validatePkgUtilsDependency(packageJson))\n  await validation('srcIndex', async () => validateSrcIndexFile(basePath))\n  await validation('bannedFiles', async () => validateBannedFiles(packageJson))\n  await validation('scripts', async () => validateScripts(packageJson))\n  await validation('nodeEngine', async () => validateNodeEngine(packageJson))\n  await validation('oxfmt', async () => validateOxfmtConfig(basePath, packageJson))\n  await validation('oxlint', async () => validateOxlintConfig(basePath, packageJson))\n\n  if (ts) {\n    await validation('tsconfig', async () => validateTsConfig(ts, {basePath, outDir, tsconfig}))\n  }\n\n  await validation('incompatiblePlugin', async () =>\n    validateIncompatiblePlugin({basePath, packageJson}),\n  )\n\n  await validation('babelConfig', async () => validateBabelConfig({basePath}))\n\n  await validation('dependencies', async () => validateSanityDependencies(packageJson))\n  await validation('deprecatedDependencies', async () =>\n    validateDeprecatedDependencies(packageJson),\n  )\n\n  if (errors.length) {\n    throw new Error(\n      outdent`\n        Detected validation issues!\n        To make this package Sanity v3 compatible, fix the issues starting from the top, or disable any checks you deem unnecessary.\n\n        These issues assume the package uses @sanity/plugin-kit defaults for development and building.\n        Refer to ${urls.pluginReadme} for configuration options.\n\n        More information is available here:\n        - Studio migration guide: ${urls.migrationGuideStudio}\n        - Plugin migration guide: ${urls.migrationGuidePlugin}\n        - Reference documentation: ${urls.refDocs}\n\n        ${chalk.grey(\n          `To fail-fast on first detected issue run:\\nnpx ${cliName} verify-package --single`,\n        )}\n      `.trimStart(),\n    )\n  }\n\n  log.success(\n    outdent`\n    No outstanding upgrade issues detected.\n\n    Suggested next steps:\n      - Use plugin-kit to build and develop the plugin according to ${urls.pluginReadme}.\n      - Build the plugin and fix any compilation errors\n      - Test the plugin using the link-watch command\n  `.trim(),\n  )\n}\n","import path from 'path'\n\nimport meow from 'meow'\n\nimport {verifyPackage} from '../actions/verify-package'\nimport {verifyFlags} from '../actions/verify/verify-common'\nimport {cliName} from '../constants'\n\nconst description = `Verify that a Sanity plugin package is v3 compatible, and print upgrade steps if not.`\n\nconst help = `\nUsage\n  $ ${cliName} verify-package [dir] [<args>]\n\nOptions\n  --single      Enables fail-fast mode: Will only output the first validation that fails.\n  --silent      Do not print info and warning messages\n  --verbose     Log everything. This option conflicts with --silent\n  --version     Output the version number\n  --help        Output usage information\n\nEach check will describe how they can be individually disabled.\n\nExamples\n  # Verify Sanity plugin package in current directory\n  $ ${cliName} verify-package\n\n  # Verify Sanity plugin package in my-plugin directory in silent mode\n  $ ${cliName} verify-package my-plugin-directory --silent\n`\n\nfunction run({argv}: {argv: string[]}) {\n  const cli = meow(help, {flags: verifyFlags, argv, description})\n  const basePath = path.resolve(cli.input[0] || process.cwd())\n  return verifyPackage({basePath, flags: cli.flags})\n}\n\nexport default run\n"],"mappings":";;;;;;;;;;AASA,eAAsB,aAAa,SAA+C;CAChF,IAAM,EAAC,UAAU,aAAY,SACvB,WAAW,KAAK,QAAQ,UAAU,QAAQ;CAGhD,IAAI,CAAC,MAFgB,WAAW,QAAQ,GAE3B;CAEb,IAAM,EAAC,WAAU,GAAG,eAAe,UAAU,GAAG,IAAI,QAAQ;CAEvD,YAEL,OAAO,GAAG,2BAA2B,QAAQ,GAAG,KAAK,QAAQ;AAC/D;ACQA,eAAsB,cAAc,EAAC,UAAU,SAAgD;CAC7F,IAAI,SAAmB,CAAC,GAElB,cAA2B,MAAM,WAAW;EAAC;EAAU,UAAU;CAAK,CAAC,GACvE,eAAoC,YAAY,cAAc,iBAAiB,CAAC;CAItF,KAAK,IAAM,aAAa,CACtB,GAAG,oBAAoB,WAAW,GAClC,GAAG,wBAAwB,EAAC,SAAQ,CAAC,CACvC,GAEE,AADA,OAAO,KAAK,SAAS,GACrB,YAAI,MAAM,KAAK,WAAW;CAK5B,IAAI;CACJ,IAAI;EACF,gBAAgB,MAAM,kBAAkB,EAAC,SAAQ,CAAC;CACpD,SAAS,KAAK;EACZ,YAAI,MAAM,qCAAqC,GAAG;CACpD;CACA,IAAM,SAAS,eAAe,QAAA,QACxB,WAAW,eAAe,YAAY,iBAEtC,aAAa,gBAAgB,cAAc,OAAO,MAAM,GAExD,KAAK,MAAM,aAAa;EAAC;EAAU,UAAU;CAAQ,CAAC;CA2B5D,IAzBA,MAAM,WAAW,eAAe,YAAY,oBAAoB,WAAW,CAAC,GAC5E,MAAM,WAAW,WAAW,YAAY,gBAAgB,WAAW,CAAC,GACpE,MAAM,WAAW,aAAa,YAAY,2BAA2B,WAAW,CAAC,GACjF,MAAM,WAAW,YAAY,YAAY,qBAAqB,QAAQ,CAAC,GACvE,MAAM,WAAW,eAAe,YAAY,oBAAoB,WAAW,CAAC,GAC5E,MAAM,WAAW,WAAW,YAAY,gBAAgB,WAAW,CAAC,GACpE,MAAM,WAAW,cAAc,YAAY,mBAAmB,WAAW,CAAC,GAC1E,MAAM,WAAW,SAAS,YAAY,oBAAoB,UAAU,WAAW,CAAC,GAChF,MAAM,WAAW,UAAU,YAAY,qBAAqB,UAAU,WAAW,CAAC,GAE9E,MACF,MAAM,WAAW,YAAY,YAAY,iBAAiB,IAAI;EAAC;EAAU;EAAQ;CAAQ,CAAC,CAAC,GAG7F,MAAM,WAAW,sBAAsB,YACrC,2BAA2B;EAAC;EAAU;CAAW,CAAC,CACpD,GAEA,MAAM,WAAW,eAAe,YAAY,oBAAoB,EAAC,SAAQ,CAAC,CAAC,GAE3E,MAAM,WAAW,gBAAgB,YAAY,2BAA2B,WAAW,CAAC,GACpF,MAAM,WAAW,0BAA0B,YACzC,+BAA+B,WAAW,CAC5C,GAEI,OAAO,QACT,MAAU,MACR,OAAO;;;;;mBAKM,KAAK,aAAa;;;oCAGD,KAAK,qBAAqB;oCAC1B,KAAK,qBAAqB;qCACzB,KAAK,QAAQ;;UAExC,MAAM,KACN,kDAAkD,QAAQ,yBAC5D,EAAE;QACF,UAAU,CACd;CAGF,YAAI,QACF,OAAO;;;;sEAI2D,KAAK,aAAa;;;IAGpF,KAAK,CACP;AACF;AC5GA,MAEM,OAAO;;MAEP,QAAQ;;;;;;;;;;;;;MAaR,QAAQ;;;MAGR,QAAQ;;AAGd,SAAS,IAAI,EAAC,QAAyB;CACrC,IAAM,MAAM,KAAK,MAAM;EAAC,OAAO;EAAa;EAAM;CAAW,CAAC;CAE9D,OAAO,cAAc;EAAC,UADL,KAAK,QAAQ,IAAI,MAAM,MAAM,QAAQ,IAAI,CAC7B;EAAG,OAAO,IAAI;CAAK,CAAC;AACnD"}
\ No newline at end of file