@sanity/plugin-kit

7.0.28.0.0
dist/verify-package-Bfi7IL_f.js.map
dist/verify-package-Bfi7IL_f.js.mapDeleted
−1
Index: package/dist/verify-package-Bfi7IL_f.js.map
===================================================================
--- package/dist/verify-package-Bfi7IL_f.js.map
+++ package/dist/verify-package-Bfi7IL_f.js.map
@@ -1,1 +0,0 @@
-{"version":3,"file":"verify-package-Bfi7IL_f.js","names":[],"sources":["../src/actions/verify-package.ts","../src/cmds/verify-package.ts"],"sourcesContent":["import chalk from 'chalk'\nimport outdent from 'outdent'\n\nimport {cliName, defaultOutDir, urls} from '../constants'\nimport {validateImports} from '../dependencies/import-linter'\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  disallowDuplicateEslintConfig,\n  disallowDuplicatePrettierConfig,\n} from './verify/validations'\nimport {\n  createValidator,\n  runTscMaybe,\n  type VerifyFlags,\n  type VerifyPackageConfig,\n} 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('duplicateConfig', async () =>\n    disallowDuplicateEslintConfig(basePath, packageJson),\n  )\n  await validation('duplicateConfig', async () =>\n    disallowDuplicatePrettierConfig(basePath, packageJson),\n  )\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  await validation('eslintImports', async () => validateImports({basePath}))\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  await runTscMaybe(verifyConfig, ts)\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":";;;;;;;;;AAmCA,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;CAgC5D,IA9BA,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,mBAAmB,YAClC,8BAA8B,UAAU,WAAW,CACrD,GACA,MAAM,WAAW,mBAAmB,YAClC,gCAAgC,UAAU,WAAW,CACvD,GAEI,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,GACA,MAAM,WAAW,iBAAiB,YAAY,gBAAgB,EAAC,SAAQ,CAAC,CAAC,GAErE,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;CAKF,AAFA,MAAM,YAAY,cAAc,EAAE,GAElC,YAAI,QACF,OAAO;;;;sEAI2D,KAAK,aAAa;;;IAGpF,KAAK,CACP;AACF;ACzHA,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