@sanity/plugin-kit 3.1.6 → 3.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/README.md +16 -16
  2. package/assets/inject/semver-workflow/.github/workflows/main.yml +13 -10
  3. package/dist/_chunks/{cli-91639060.js → cli-1ce85141.js} +7 -7
  4. package/dist/_chunks/cli-1ce85141.js.map +1 -0
  5. package/dist/_chunks/{init-23b6cc9a.js → init-421e0ef6.js} +4 -4
  6. package/dist/_chunks/init-421e0ef6.js.map +1 -0
  7. package/dist/_chunks/{init-6fb86c9a.js → init-7720227c.js} +5 -5
  8. package/dist/_chunks/init-7720227c.js.map +1 -0
  9. package/dist/_chunks/{inject-0036b4c1.js → inject-445cd51e.js} +4 -4
  10. package/dist/_chunks/{inject-0036b4c1.js.map → inject-445cd51e.js.map} +1 -1
  11. package/dist/_chunks/{link-watch-e7b56986.js → link-watch-5f7a51e1.js} +4 -4
  12. package/dist/_chunks/link-watch-5f7a51e1.js.map +1 -0
  13. package/dist/_chunks/{package-22ea107b.js → package-179a4767.js} +3 -3
  14. package/dist/_chunks/package-179a4767.js.map +1 -0
  15. package/dist/_chunks/{package-d6739660.js → package-3fb8d98c.js} +27 -22
  16. package/dist/_chunks/{package-d6739660.js.map → package-3fb8d98c.js.map} +1 -1
  17. package/dist/_chunks/{ts-b22585a8.js → ts-7864bea1.js} +3 -3
  18. package/dist/_chunks/ts-7864bea1.js.map +1 -0
  19. package/dist/_chunks/{verify-package-35ca6ec1.js → verify-package-42e90251.js} +4 -4
  20. package/dist/_chunks/verify-package-42e90251.js.map +1 -0
  21. package/dist/_chunks/{verify-studio-1b7619f1.js → verify-studio-321d7af6.js} +4 -4
  22. package/dist/_chunks/verify-studio-321d7af6.js.map +1 -0
  23. package/dist/_chunks/{version-e97de029.js → version-af10f730.js} +3 -3
  24. package/dist/_chunks/version-af10f730.js.map +1 -0
  25. package/dist/cli.js +1 -1
  26. package/package.json +25 -21
  27. package/src/actions/inject.ts +4 -4
  28. package/src/actions/link-watch.ts +2 -2
  29. package/src/actions/verify/types.ts +1 -1
  30. package/src/actions/verify/validations.ts +13 -13
  31. package/src/actions/verify/verify-common.ts +4 -4
  32. package/src/actions/verify-package.ts +6 -6
  33. package/src/actions/verify-studio.ts +3 -3
  34. package/src/cli.ts +1 -1
  35. package/src/cmds/init.ts +2 -2
  36. package/src/cmds/inject.ts +1 -1
  37. package/src/cmds/version.ts +1 -1
  38. package/src/npm/package.ts +12 -12
  39. package/src/npm/publish.ts +1 -1
  40. package/src/npm/resolveLatestVersions.ts +1 -1
  41. package/src/presets/presets.ts +2 -2
  42. package/src/presets/renovatebot.ts +1 -1
  43. package/src/presets/semver-workflow.ts +3 -3
  44. package/src/presets/ui-workshop.ts +2 -2
  45. package/src/presets/ui.ts +4 -4
  46. package/src/sanity/manifest.ts +18 -18
  47. package/src/util/files.ts +4 -4
  48. package/src/util/prompt.ts +1 -1
  49. package/src/util/user.ts +2 -2
  50. package/dist/_chunks/cli-91639060.js.map +0 -1
  51. package/dist/_chunks/init-23b6cc9a.js.map +0 -1
  52. package/dist/_chunks/init-6fb86c9a.js.map +0 -1
  53. package/dist/_chunks/link-watch-e7b56986.js.map +0 -1
  54. package/dist/_chunks/package-22ea107b.js.map +0 -1
  55. package/dist/_chunks/ts-b22585a8.js.map +0 -1
  56. package/dist/_chunks/verify-package-35ca6ec1.js.map +0 -1
  57. package/dist/_chunks/verify-studio-1b7619f1.js.map +0 -1
  58. package/dist/_chunks/version-e97de029.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var name = "@sanity/plugin-kit";
4
- var version = "3.1.6";
4
+ var version = "3.1.8";
5
5
  var description = "Enhanced Sanity.io plugin development experience";
6
6
  var keywords = ["sanity-io", "sanity", "plugin", "development", "typescript", "bootstrap"];
7
7
  var homepage = "https://github.com/sanity-io/plugin-kit#readme";
@@ -55,65 +55,65 @@ var tap = {
55
55
  };
56
56
  var dependencies = {
57
57
  "@rexxars/choosealicense-list": "^1.1.2",
58
- "@sanity/pkg-utils": "^2.2.5",
58
+ "@sanity/pkg-utils": "^2.2.13",
59
59
  chalk: "^4.1.2",
60
- concurrently: "^7.6.0",
60
+ concurrently: "^8.0.0",
61
61
  "discover-path": "^1.0.0",
62
62
  "email-validator": "^2.0.4",
63
63
  execa: "^5.1.1",
64
- "get-it": "^8.0.9",
65
- "get-latest-version": "^5.0.0",
64
+ "get-it": "^8.0.11",
65
+ "get-latest-version": "^5.0.1",
66
66
  "git-remote-origin-url": "^3.1.0",
67
67
  "git-user-info": "^2.0.3",
68
68
  "github-url-to-object": "^4.0.6",
69
69
  inquirer: "^8.2.5",
70
70
  meow: "^9.0.0",
71
- nodemon: "^2.0.20",
71
+ nodemon: "^2.0.21",
72
72
  "npm-packlist": "^7.0.4",
73
73
  "npm-run-path": "^4.0.1",
74
74
  outdent: "^0.8.0",
75
75
  "p-any": "^3.0.0",
76
76
  "p-props": "^4.0.0",
77
77
  postcss: "^8.4.21",
78
- rimraf: "^4.1.2",
78
+ rimraf: "^4.4.0",
79
79
  semver: "^7.3.8",
80
- "spdx-license-ids": "^3.0.12",
80
+ "spdx-license-ids": "^3.0.13",
81
81
  "validate-npm-package-name": "^5.0.0",
82
82
  "xdg-basedir": "^4.0.0",
83
83
  yalc: "^1.0.0-pre.53"
84
84
  };
85
85
  var devDependencies = {
86
- "@commitlint/cli": "^17.4.3",
87
- "@commitlint/config-conventional": "^17.4.3",
86
+ "@commitlint/cli": "^17.4.4",
87
+ "@commitlint/config-conventional": "^17.4.4",
88
88
  "@sanity/semantic-release-preset": "^4.0.0",
89
- "@sanity/ui-workshop": "^1.2.0",
89
+ "@sanity/ui-workshop": "^1.2.1",
90
90
  "@types/eslint": "^8.21.1",
91
- "@types/fs-extra": "^9.0.13",
91
+ "@types/fs-extra": "^11.0.1",
92
92
  "@types/inquirer": "^9.0.3",
93
- "@types/node": "^18.13.0",
93
+ "@types/node": "^18.15.4",
94
94
  "@types/nodemon": "^1.19.2",
95
95
  "@types/tap": "^15.0.8",
96
96
  "@typescript-eslint/eslint-plugin": "^5.52.0",
97
97
  "@typescript-eslint/parser": "^5.52.0",
98
98
  eslint: "^8.34.0",
99
- "eslint-config-prettier": "^8.6.0",
99
+ "eslint-config-prettier": "^8.8.0",
100
100
  "eslint-config-sanity": "^6.0.0",
101
- "eslint-plugin-prettier": "^4.2.1",
101
+ "eslint-plugin-prettier": "^5.0.0",
102
102
  "eslint-plugin-react-hooks": "^4.6.0",
103
- "fs-extra": "^10.1.0",
103
+ "fs-extra": "^11.1.1",
104
104
  husky: "^8.0.3",
105
105
  json5: "^2.2.3",
106
106
  "lint-staged": "^13.1.2",
107
107
  "npm-run-all": "^4.1.5",
108
- prettier: "^2.8.4",
109
- "prettier-plugin-packagejson": "^2.4.3",
108
+ prettier: "^3.0.0",
109
+ "prettier-plugin-packagejson": "^2.4.5",
110
110
  readdirp: "^3.6.0",
111
- rimraf: "^4.1.2",
111
+ rimraf: "^4.4.0",
112
112
  sanity: "^3.3.1",
113
- sinon: "^14.0.2",
113
+ sinon: "^15.0.2",
114
114
  tap: "^16.3.4",
115
115
  "ts-node": "^10.9.1",
116
- typescript: "^4.9.4"
116
+ typescript: "^5.0.2"
117
117
  };
118
118
  var peerDependencies = {
119
119
  eslint: ">=8.0.0"
@@ -121,6 +121,10 @@ var peerDependencies = {
121
121
  var engines = {
122
122
  node: ">=14"
123
123
  };
124
+ var publishConfig = {
125
+ access: "public",
126
+ provenance: true
127
+ };
124
128
  var binname = "sanity-plugin";
125
129
  var pkg = {
126
130
  name: name,
@@ -145,7 +149,8 @@ var pkg = {
145
149
  devDependencies: devDependencies,
146
150
  peerDependencies: peerDependencies,
147
151
  engines: engines,
152
+ publishConfig: publishConfig,
148
153
  binname: binname
149
154
  };
150
155
  exports.pkg = pkg;
151
- //# sourceMappingURL=package-d6739660.js.map
156
+ //# sourceMappingURL=package-3fb8d98c.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"package-d6739660.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"package-3fb8d98c.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,8 +2,8 @@
2
2
 
3
3
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
4
4
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
5
- var cli = require('./cli-91639060.js');
6
- var _package = require('./package-22ea107b.js');
5
+ var cli = require('./cli-1ce85141.js');
6
+ var _package = require('./package-179a4767.js');
7
7
  var eslint = require('eslint');
8
8
  var path = require('path');
9
9
  var outdent = require('outdent');
@@ -162,4 +162,4 @@ exports.readTSConfig = readTSConfig;
162
162
  exports.runTscMaybe = runTscMaybe;
163
163
  exports.validateImports = validateImports;
164
164
  exports.verifyFlags = verifyFlags;
165
- //# sourceMappingURL=ts-b22585a8.js.map
165
+ //# sourceMappingURL=ts-7864bea1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ts-7864bea1.js","sources":["../../src/dependencies/import-linter.ts","../../src/util/command-parser.ts","../../src/actions/verify/verify-common.ts","../../src/util/ts.ts"],"sourcesContent":["import log from '../util/log'\nimport {mergedPackages} from '../configs/banned-packages'\nimport {urls} from '../constants'\nimport {ESLint} from 'eslint'\nimport path from 'path'\nimport outdent from 'outdent'\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 addtionalInfo = 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 + addtionalInfo]\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 childProcess from 'child_process'\nimport npmRunPath from 'npm-run-path'\nimport log from './log'\n\ninterface Command {\n command: string\n args: string[]\n}\n\nexport function 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 log from '../../util/log'\nimport {TypedFlags} from 'meow'\nimport fs from 'fs'\nimport sharedFlags from '../../sharedFlags'\nimport chalk from 'chalk'\nimport outdent from 'outdent'\nimport {runCommand} from '../../util/command-parser'\nimport {ParsedCommandLine} from 'typescript'\n\nexport const readFile = fs.promises.readFile\nconst splitLine = `\\n----------------------------------------------------------`\n\nexport const verifyPackageConfigDefaults = {\n packageName: true,\n module: true,\n tsconfig: true,\n tsc: true,\n dependencies: true,\n deprecatedDependencies: true,\n babelConfig: true,\n sanityV2Json: true,\n eslintImports: true,\n scripts: true,\n 'pkg-utils': true,\n nodeEngine: true,\n studioConfig: true,\n srcIndex: 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\nexport function 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","import {loadTSConfig} from '@sanity/pkg-utils'\nimport path from 'path'\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 return await loadTSConfig({cwd: basePath, tsconfigPath: filename})\n}\n"],"names":["removedImportSuffix","urls","migrationGuideStudio","concat","refDocs","validateImports","_ref","basePath","log","debug","eslint","ESLint","cwd","overrideConfig","ignorePatterns","rules","patterns","mergedPackages","map","packageName","group","message","results","lintFiles","path","join","onlyImportErrors","r","limitErrors","messages","filter","m","ruleId","errorCount","length","formatter","loadFormatter","resultText","format","addtionalInfo","outdent","_templateObject","_taggedTemplateLiteral","linterPackage","e","error","_templateObject2","parseCommand","commandString","normalized","replace","commandAndArg","split","command","args","slice","runCommand","info","options","stdio","env","npmRunPath","default","process","platform","shell","Promise","resolve","reject","childProcess","spawn","on","exitCode","code","splitLine","verifyFlags","sharedFlags","single","type","disableCheckText","checkKey","chalk","grey","_templateObject3","trimStart","createValidator","verifyConfig","flags","errors","validation","task","result","push","errorMessage","Error","_templateObject4","runTscMaybe","ts","tsc","readTSConfig","filename","filePath","exists","fileExists","loadTSConfig","tsconfigPath"],"mappings":"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"}
@@ -5,9 +5,9 @@ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(
5
5
  var path = require('path');
6
6
  var meow = require('meow');
7
7
  var pkgUtils = require('@sanity/pkg-utils');
8
- var _package = require('./package-22ea107b.js');
9
- var cli = require('./cli-91639060.js');
10
- var ts = require('./ts-b22585a8.js');
8
+ var _package = require('./package-179a4767.js');
9
+ var cli = require('./cli-1ce85141.js');
10
+ var ts = require('./ts-7864bea1.js');
11
11
  var outdent = require('outdent');
12
12
  var chalk = require('chalk');
13
13
  function _interopDefaultCompat(e) {
@@ -95,4 +95,4 @@ function run(_ref4) {
95
95
  });
96
96
  }
97
97
  exports.default = run;
98
- //# sourceMappingURL=verify-package-35ca6ec1.js.map
98
+ //# sourceMappingURL=verify-package-42e90251.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-package-42e90251.js","sources":["../../src/actions/verify-package.ts","../../src/cmds/verify-package.ts"],"sourcesContent":["import {loadConfig as loadPackageConfig} from '@sanity/pkg-utils'\nimport {getPackage} from '../npm/package'\nimport log from '../util/log'\nimport {cliName, defaultOutDir, urls} from '../constants'\nimport {validateImports} from '../dependencies/import-linter'\nimport outdent from 'outdent'\nimport {\n createValidator,\n runTscMaybe,\n VerifyFlags,\n VerifyPackageConfig,\n} from './verify/verify-common'\nimport {\n validateBabelConfig,\n validateModule,\n validateNodeEngine,\n validatePackageName,\n validatePkgUtilsDependency,\n validatePluginSanityJson,\n validateDeprecatedDependencies,\n validateScripts,\n validateTsConfig,\n validateSanityDependencies,\n validateSrcIndexFile,\n disallowDuplicateEslintConfig,\n disallowDuplicatePrettierConfig,\n} from './verify/validations'\nimport {PackageJson} from './verify/types'\nimport chalk from 'chalk'\nimport {readTSConfig} from '../util/ts'\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 const packageConfig = await loadPackageConfig({cwd: basePath})\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('pkg-utils', async () => validatePkgUtilsDependency(packageJson))\n await validation('srcIndex', async () => validateSrcIndexFile(basePath))\n await validation('scripts', async () => validateScripts(packageJson))\n await validation('module', async () => validateModule(packageJson, {outDir}))\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('sanityV2Json', async () => validatePluginSanityJson({basePath, packageJson}))\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'\nimport meow from 'meow'\nimport {verifyPackage} from '../actions/verify-package'\nimport {cliName} from '../constants'\nimport {verifyFlags} from '../actions/verify/verify-common'\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"],"names":["verifyPackage","_ref","_ref2","_ref3","basePath","flags","_a","errors","packageJson","getPackage","validate","verifyConfig","sanityPlugin","packageConfig","loadPackageConfig","loadConfig","cwd","outDir","dist","defaultOutDir","tsconfig","validation","createValidator","ts","readTSConfig","filename","validatePackageName","validatePkgUtilsDependency","validateSrcIndexFile","validateScripts","validateModule","validateNodeEngine","disallowDuplicateEslintConfig","disallowDuplicatePrettierConfig","validateTsConfig","validatePluginSanityJson","validateBabelConfig","validateSanityDependencies","validateDeprecatedDependencies","validateImports","length","Error","outdent","_templateObject","_taggedTemplateLiteral","urls","pluginReadme","migrationGuideStudio","migrationGuidePlugin","refDocs","chalk","default","grey","concat","cliName","trimStart","runTscMaybe","log","success","_templateObject2","trim","description","help","run","_ref4","argv","cli","meow","verifyFlags","path","resolve","input","process"],"mappings":"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"}
@@ -4,10 +4,10 @@ var _templateObject, _templateObject2;
4
4
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
5
5
  var path = require('path');
6
6
  var meow = require('meow');
7
- var cli = require('./cli-91639060.js');
8
- var ts = require('./ts-b22585a8.js');
7
+ var cli = require('./cli-1ce85141.js');
8
+ var ts = require('./ts-7864bea1.js');
9
9
  var pkgUtils = require('@sanity/pkg-utils');
10
- var _package = require('./package-22ea107b.js');
10
+ var _package = require('./package-179a4767.js');
11
11
  var outdent = require('outdent');
12
12
  var chalk = require('chalk');
13
13
  function _interopDefaultCompat(e) {
@@ -72,4 +72,4 @@ function run(_ref3) {
72
72
  });
73
73
  }
74
74
  exports.default = run;
75
- //# sourceMappingURL=verify-studio-1b7619f1.js.map
75
+ //# sourceMappingURL=verify-studio-321d7af6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-studio-321d7af6.js","sources":["../../src/actions/verify-studio.ts","../../src/cmds/verify-studio.ts"],"sourcesContent":["import {loadConfig as loadPackageConfig} from '@sanity/pkg-utils'\nimport {getPackage} from '../npm/package'\nimport log from '../util/log'\nimport {cliName, urls} from '../constants'\nimport {validateImports} from '../dependencies/import-linter'\nimport outdent from 'outdent'\nimport chalk from 'chalk'\nimport {\n createValidator,\n runTscMaybe,\n VerifyFlags,\n VerifyPackageConfig,\n} from './verify/verify-common'\nimport {PackageJson} from './verify/types'\nimport {validateSanityDependencies, validateStudioConfig} from './verify/validations'\nimport {readTSConfig} from '../util/ts'\n\nexport async function verifyStudio({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 const packageConfig = await loadPackageConfig({cwd: basePath})\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('studioConfig', async () => validateStudioConfig({basePath}))\n await validation('dependencies', async () => validateSanityDependencies(packageJson))\n await validation('eslintImports', async () => validateImports({basePath}))\n\n if (errors.length) {\n throw new Error(\n outdent`\n Detected validation issues!\n This Sanity Studio is not completely V3 ready. Fix the issues starting from the top, or disable any checks you deem unnecessary.\n\n More information is available here:\n - Migration guide: ${urls.migrationGuideStudio}\n - Reference documentation: ${urls.refDocs}\n\n ${chalk.grey(\n `To fail-fast on first detected issue run:\\nnpx ${cliName} verify-studio --single`,\n )}\n `.trimStart(),\n )\n }\n\n await runTscMaybe(verifyConfig, ts)\n\n log.success(\n outdent`\n No outstanding upgrade issues detected. Studio is V3 ready!\n `.trim(),\n )\n}\n","import path from 'path'\nimport meow from 'meow'\nimport {cliName} from '../constants'\nimport {verifyFlags} from '../actions/verify/verify-common'\nimport {verifyStudio} from '../actions/verify-studio'\n\nconst description = `Verify that a Sanity Studio is configured correctly for v3, and print upgrade steps if not.`\n\nconst help = `\nUsage\n $ ${cliName} verify-studio [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 Studio in current directory\n $ ${cliName} verify-studio\n\n # Verify Sanity Studio in my-sanity-studio directory in silent mode\n $ ${cliName} verify-studio my-sanity-studio --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 verifyStudio({basePath, flags: cli.flags})\n}\n\nexport default run\n"],"names":["verifyStudio","_ref","_ref2","basePath","flags","_a","errors","packageJson","getPackage","validate","verifyConfig","sanityPlugin","verifyPackage","packageConfig","loadPackageConfig","loadConfig","cwd","tsconfig","validation","createValidator","ts","readTSConfig","filename","validateStudioConfig","validateSanityDependencies","validateImports","length","Error","outdent","_templateObject","_taggedTemplateLiteral","urls","migrationGuideStudio","refDocs","chalk","default","grey","concat","cliName","trimStart","runTscMaybe","log","success","_templateObject2","trim","description","help","run","_ref3","argv","cli","meow","verifyFlags","path","resolve","input","process"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAiBA,eAAsBA,YAAaA,CAAAC,IAAA,EAA2D;EAAA,IAAAC,KAAA;EAAA,IAA3D;IAACC,QAAU;IAAAC;GAAgD,GAAAH,IAAA;EAjB9F,IAAAI,EAAA;EAkBE,IAAIC,SAAmB,EAAC;EAExB,MAAMC,cAA2B,MAAMC,mBAAA,CAAW;IAACL,QAAU;IAAAM,QAAA,EAAU;GAAM,CAAA;EAC7E,MAAMC,YAAoC,GAAA,CAAA,CAAAL,EAAA,GAAAE,WAAA,CAAYI,YAAZ,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAN,EAAA,CAA0BO,kBAAiB,CAAA,CAAC;EACtF,MAAMC,gBAAgB,MAAMC,QAAA,CAAAC,UAAA,CAAkB;IAACC,GAAA,EAAKb;EAAS,CAAA,CAAA;EACvD,MAAAc,QAAA,IAAAf,KAAA,GAAWW,+CAAeI,QAAY,cAAAf,KAAA,cAAAA,KAAA,GAAA,eAAA;EAE5C,MAAMgB,UAAa,GAAAC,EAAA,CAAAA,eAAA,CAAgBT,YAAc,EAAAN,KAAA,EAAOE,MAAM,CAAA;EAE9D,MAAMc,OAAK,MAAMC,eAAA,CAAa;IAAClB,QAAU;IAAAmB,QAAA,EAAUL;GAAS,CAAA;EAE5D,MAAMC,WAAW,cAAgB,EAAA,YAAYK,8BAAqB;IAACpB;EAAS,CAAA,CAAC,CAAA;EAC7E,MAAMe,UAAW,CAAA,cAAA,EAAgB,YAAYM,QAAAA,CAAAA,0BAAA,CAA2BjB,WAAW,CAAC,CAAA;EACpF,MAAMW,WAAW,eAAiB,EAAA,YAAYO,mBAAgB;IAACtB;EAAS,CAAA,CAAC,CAAA;EAEzE,IAAIG,OAAOoB,MAAQ,EAAA;IACjB,MAAM,IAAIC,KAAA,CACRC,wBAAA,CAAAC,eAAA,KAAAA,eAAA,GAAAC,sBAAA,yUAKuBC,GAAAA,CAAAA,KAAKC,oBAAoB,EACjBD,GAAAA,CAAAA,KAAKE,OAAO,EAEvCC,cAAM,CAAAC,OAAA,CAAAC,IAAA,mDAAAC,MAAA,CAC4CC,GAAAA,CAAAA,OAAO,4BAAA,CAC1D,EACDC,SAAU,CAAA,CAAA,CACd;EACF;EAEM,MAAAC,EAAA,CAAAA,WAAA,CAAY9B,cAAcU,IAAE,CAAA;EAE9BqB,GAAAA,CAAAA,GAAA,CAAAC,OAAA,CACFd,wBAAA,CAAAe,gBAAA,KAAAA,gBAAA,GAAAb,sBAAA,8EAEAc,IAAK,CAAA,CAAA,CACP;AACF;ACnDA,MAAMC,WAAc,gGAAA;AAEpB,MAAMC,IAAO,mBAAAT,MAAA,CAEPC,WAAO,+dAAAD,MAAA,CAaPC,WAAO,mGAAAD,MAAA,CAGPC,WAAO,+CAAA;AAGb,SAASS,GAAAA,CAAAC,KAAA,EAA8B;EAAA,IAA1B;IAACC;GAAyB,GAAAD,KAAA;EAC/B,MAAAE,GAAA,GAAMC,sBAAKL,IAAM,EAAA;IAAC1C,OAAOgD,cAAa;IAAAH,IAAA;IAAMJ;GAAY,CAAA;EACxD,MAAA1C,QAAA,GAAWkD,sBAAKC,OAAQ,CAAAJ,GAAA,CAAIK,MAAM,CAAC,CAAA,IAAKC,OAAQ,CAAAxC,GAAA,CAAA,CAAK,CAAA;EAC3D,OAAOhB,aAAa;IAACG,QAAA;IAAUC,KAAO,EAAA8C,GAAA,CAAI9C;GAAM,CAAA;AAClD;"}
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var meow = require('meow');
4
- var _package = require('./package-d6739660.js');
5
- var cli = require('./cli-91639060.js');
4
+ var _package = require('./package-3fb8d98c.js');
5
+ var cli = require('./cli-1ce85141.js');
6
6
  function _interopDefaultCompat(e) {
7
7
  return e && typeof e === 'object' && 'default' in e ? e : {
8
8
  default: e
@@ -51,4 +51,4 @@ function run(_ref) {
51
51
  cli.log.msg(versionParts[partIndex]);
52
52
  }
53
53
  exports.default = run;
54
- //# sourceMappingURL=version-e97de029.js.map
54
+ //# sourceMappingURL=version-af10f730.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-af10f730.js","sources":["../../src/cmds/version.ts"],"sourcesContent":["import meow from 'meow'\nimport pkg from '../../package.json'\nimport log from '../util/log'\nimport sharedFlags from '../sharedFlags'\n\nconst description = `Show the installed version of ${pkg.name}`\n\nconst help = `\nUsage\n $ ${pkg.binname} version\n\nOptions\n --major Show only the major version\n --minor Show only the minor version\n --patch Show only the patch version\n\nExamples\n $ ${pkg.binname} version\n ${pkg.name} version ${pkg.version}\n\n $ ${pkg.binname} version --major\n ${pkg.version.split('.')[0]}\n`\n\nconst flags = {\n ...sharedFlags,\n\n major: {\n type: 'boolean',\n default: false,\n },\n\n minor: {\n type: 'boolean',\n default: false,\n },\n\n patch: {\n type: 'boolean',\n default: false,\n },\n} as const\n\nfunction run({argv}: {argv: string[]}) {\n const cli = meow(help, {flags, argv, description})\n const versionParts = pkg.version.split('.')\n const versionNames = ['major', 'minor', 'patch']\n const versionFlags = versionNames.filter((flagName) => cli.flags[flagName])\n const versionFlag = versionFlags[0]\n const numVersionFlags = versionFlags.length\n\n if (numVersionFlags === 0) {\n log.msg(`${pkg.name} version ${pkg.version}`)\n return\n }\n\n if (numVersionFlags > 1) {\n throw new Error(\n `--major, --minor and --patch are mutually exclusive - only one can be used at a time`,\n )\n }\n\n const partIndex = versionNames.indexOf(versionFlag)\n log.msg(versionParts[partIndex])\n}\n\nexport default run\n"],"names":["description","concat","pkg","name","help","binname","version","split","flags","sharedFlags","major","type","default","minor","patch","run","_ref","argv","cli","meow","versionParts","versionNames","versionFlags","filter","flagName","versionFlag","numVersionFlags","length","log","msg","Error","partIndex","indexOf"],"mappings":";;;;;;;;;;;AAKA,MAAMA,WAAA,oCAAAC,MAAA,CAA+CC,YAAA,CAAIC,IAAI,CAAA;AAE7D,MAAMC,IAAO,mBAAAH,MAAA,CAEPC,QAAAA,CAAAA,IAAIG,OAAO,mKAAAJ,MAAA,CAQXC,QAAAA,CAAAA,IAAIG,OAAO,kBAAAJ,MAAA,CACbC,QAAI,CAAAA,GAAA,CAAAC,IAAI,eAAAF,MAAA,CAAYC,QAAAA,CAAAA,GAAA,CAAII,OAAO,cAAAL,MAAA,CAE7BC,QAAAA,CAAAA,IAAIG,OAAO,0BAAAJ,MAAA,CACbC,QAAAA,CAAAA,IAAII,OAAQ,CAAAC,KAAA,CAAM,GAAG,CAAA,CAAE,CAAC,CAAC,OAAA;AAG7B,MAAMC,KAAQ,GAAA;EACZ,GAAGC,GAAA,CAAAA,WAAA;EAEHC,KAAO,EAAA;IACLC,IAAM,EAAA,SAAA;IACNC,OAAS,EAAA;EACX,CAAA;EAEAC,KAAO,EAAA;IACLF,IAAM,EAAA,SAAA;IACNC,OAAS,EAAA;EACX,CAAA;EAEAE,KAAO,EAAA;IACLH,IAAM,EAAA,SAAA;IACNC,OAAS,EAAA;EACX;AACF,CAAA;AAEA,SAASG,GAAAA,CAAAC,IAAA,EAA8B;EAAA,IAA1B;IAACC;GAAyB,GAAAD,IAAA;EACrC,MAAME,QAAMC,aAAAA,CAAAA,OAAK,CAAAf,IAAA,EAAM;IAACI,KAAO;IAAAS,IAAA;IAAMjB;GAAY,CAAA;EACjD,MAAMoB,YAAe,GAAAlB,QAAA,CAAAA,GAAA,CAAII,OAAQ,CAAAC,KAAA,CAAM,GAAG,CAAA;EAC1C,MAAMc,YAAe,GAAA,CAAC,OAAS,EAAA,OAAA,EAAS,OAAO,CAAA;EACzC,MAAAC,YAAA,GAAeD,aAAaE,MAAO,CAACC,YAAaN,KAAI,CAAAV,KAAA,CAAMgB,QAAQ,CAAC,CAAA;EACpE,MAAAC,WAAA,GAAcH,aAAa,CAAC,CAAA;EAClC,MAAMI,kBAAkBJ,YAAa,CAAAK,MAAA;EAErC,IAAID,oBAAoB,CAAG,EAAA;IACzBE,OAAA,CAAIC,cAAO3B,YAAA,CAAIC,IAAI,eAAAF,MAAA,CAAYC,QAAA,CAAAA,GAAA,CAAII,OAAO,CAAE,CAAA;IAC5C;EACF;EAEA,IAAIoB,kBAAkB,CAAG,EAAA;IACvB,MAAM,IAAII,KAAA,uFACR,CACF;EACF;EAEM,MAAAC,SAAA,GAAYV,YAAa,CAAAW,OAAA,CAAQP,WAAW,CAAA;EAC9CG,GAAAA,CAAAA,GAAA,CAAAC,GAAA,CAAIT,YAAa,CAAAW,SAAS,CAAC,CAAA;AACjC;"}
package/dist/cli.js CHANGED
@@ -4,6 +4,6 @@ Object.defineProperty(exports, '__esModule', {
4
4
  value: true
5
5
  });
6
6
  require('meow');
7
- var cli = require('./_chunks/cli-91639060.js');
7
+ var cli = require('./_chunks/cli-1ce85141.js');
8
8
  exports.cliEntry = cli.cliEntry;
9
9
  //# sourceMappingURL=cli.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanity/plugin-kit",
3
- "version": "3.1.6",
3
+ "version": "3.1.8",
4
4
  "description": "Enhanced Sanity.io plugin development experience",
5
5
  "keywords": [
6
6
  "sanity-io",
@@ -69,65 +69,65 @@
69
69
  },
70
70
  "dependencies": {
71
71
  "@rexxars/choosealicense-list": "^1.1.2",
72
- "@sanity/pkg-utils": "^2.2.5",
72
+ "@sanity/pkg-utils": "^2.2.13",
73
73
  "chalk": "^4.1.2",
74
- "concurrently": "^7.6.0",
74
+ "concurrently": "^8.0.0",
75
75
  "discover-path": "^1.0.0",
76
76
  "email-validator": "^2.0.4",
77
77
  "execa": "^5.1.1",
78
- "get-it": "^8.0.9",
79
- "get-latest-version": "^5.0.0",
78
+ "get-it": "^8.0.11",
79
+ "get-latest-version": "^5.0.1",
80
80
  "git-remote-origin-url": "^3.1.0",
81
81
  "git-user-info": "^2.0.3",
82
82
  "github-url-to-object": "^4.0.6",
83
83
  "inquirer": "^8.2.5",
84
84
  "meow": "^9.0.0",
85
- "nodemon": "^2.0.20",
85
+ "nodemon": "^2.0.21",
86
86
  "npm-packlist": "^7.0.4",
87
87
  "npm-run-path": "^4.0.1",
88
88
  "outdent": "^0.8.0",
89
89
  "p-any": "^3.0.0",
90
90
  "p-props": "^4.0.0",
91
91
  "postcss": "^8.4.21",
92
- "rimraf": "^4.1.2",
92
+ "rimraf": "^4.4.0",
93
93
  "semver": "^7.3.8",
94
- "spdx-license-ids": "^3.0.12",
94
+ "spdx-license-ids": "^3.0.13",
95
95
  "validate-npm-package-name": "^5.0.0",
96
96
  "xdg-basedir": "^4.0.0",
97
97
  "yalc": "^1.0.0-pre.53"
98
98
  },
99
99
  "devDependencies": {
100
- "@commitlint/cli": "^17.4.3",
101
- "@commitlint/config-conventional": "^17.4.3",
100
+ "@commitlint/cli": "^17.4.4",
101
+ "@commitlint/config-conventional": "^17.4.4",
102
102
  "@sanity/semantic-release-preset": "^4.0.0",
103
- "@sanity/ui-workshop": "^1.2.0",
103
+ "@sanity/ui-workshop": "^1.2.1",
104
104
  "@types/eslint": "^8.21.1",
105
- "@types/fs-extra": "^9.0.13",
105
+ "@types/fs-extra": "^11.0.1",
106
106
  "@types/inquirer": "^9.0.3",
107
- "@types/node": "^18.13.0",
107
+ "@types/node": "^18.15.4",
108
108
  "@types/nodemon": "^1.19.2",
109
109
  "@types/tap": "^15.0.8",
110
110
  "@typescript-eslint/eslint-plugin": "^5.52.0",
111
111
  "@typescript-eslint/parser": "^5.52.0",
112
112
  "eslint": "^8.34.0",
113
- "eslint-config-prettier": "^8.6.0",
113
+ "eslint-config-prettier": "^8.8.0",
114
114
  "eslint-config-sanity": "^6.0.0",
115
- "eslint-plugin-prettier": "^4.2.1",
115
+ "eslint-plugin-prettier": "^5.0.0",
116
116
  "eslint-plugin-react-hooks": "^4.6.0",
117
- "fs-extra": "^10.1.0",
117
+ "fs-extra": "^11.1.1",
118
118
  "husky": "^8.0.3",
119
119
  "json5": "^2.2.3",
120
120
  "lint-staged": "^13.1.2",
121
121
  "npm-run-all": "^4.1.5",
122
- "prettier": "^2.8.4",
123
- "prettier-plugin-packagejson": "^2.4.3",
122
+ "prettier": "^3.0.0",
123
+ "prettier-plugin-packagejson": "^2.4.5",
124
124
  "readdirp": "^3.6.0",
125
- "rimraf": "^4.1.2",
125
+ "rimraf": "^4.4.0",
126
126
  "sanity": "^3.3.1",
127
- "sinon": "^14.0.2",
127
+ "sinon": "^15.0.2",
128
128
  "tap": "^16.3.4",
129
129
  "ts-node": "^10.9.1",
130
- "typescript": "^4.9.4"
130
+ "typescript": "^5.0.2"
131
131
  },
132
132
  "peerDependencies": {
133
133
  "eslint": ">=8.0.0"
@@ -135,5 +135,9 @@
135
135
  "engines": {
136
136
  "node": ">=14"
137
137
  },
138
+ "publishConfig": {
139
+ "access": "public",
140
+ "provenance": true
141
+ },
138
142
  "binname": "sanity-plugin"
139
143
  }
@@ -156,7 +156,7 @@ async function writeReadme(data: PackageData, options: InjectOptions) {
156
156
  async function writeLicense(
157
157
  {license}: PackageData,
158
158
  options: InjectOptions,
159
- licenseChanged: boolean
159
+ licenseChanged: boolean,
160
160
  ) {
161
161
  const {basePath, flags} = options
162
162
 
@@ -184,7 +184,7 @@ async function getLicense(
184
184
  pluginName,
185
185
  pkg,
186
186
  requireUserConfirmation,
187
- }: PackageData & {requireUserConfirmation?: boolean}
187
+ }: PackageData & {requireUserConfirmation?: boolean},
188
188
  ) {
189
189
  const license = await getLicenseIdentifier(flags, pkg, requireUserConfirmation)
190
190
  if (!license) {
@@ -202,7 +202,7 @@ async function getLicense(
202
202
  async function getLicenseIdentifier(
203
203
  flags: InitFlags,
204
204
  pkg: PackageJson | undefined,
205
- requireUserConfirmation = false
205
+ requireUserConfirmation = false,
206
206
  ) {
207
207
  // --no-license
208
208
  if ((flags.license as unknown) === false) {
@@ -245,7 +245,7 @@ async function getLicenseIdentifier(
245
245
  async function getProjectDescription(
246
246
  basePath: string,
247
247
  pkg: PackageJson | undefined,
248
- requireUserConfirmation = false
248
+ requireUserConfirmation = false,
249
249
  ) {
250
250
  let description = await resolveProjectDescription(basePath, pkg)
251
251
  if (requireUserConfirmation) {
@@ -40,7 +40,7 @@ interface PackageJson {
40
40
 
41
41
  export async function linkWatch({basePath}: {basePath: string}) {
42
42
  const packageJson: PackageJson = JSON.parse(
43
- fs.readFileSync(path.join(basePath, 'package.json'), 'utf8')
43
+ fs.readFileSync(path.join(basePath, 'package.json'), 'utf8'),
44
44
  )
45
45
 
46
46
  const packageConfig = await loadPackageConfig({cwd: basePath})
@@ -85,7 +85,7 @@ export async function linkWatch({basePath}: {basePath: string}) {
85
85
 
86
86
  ## npm
87
87
  ${chalk.greenBright(`npx yalc add ${pkg.name} && npx yalc link ${pkg.name} && npm install`)}
88
- `.trimStart()
88
+ `.trimStart(),
89
89
  )
90
90
  })
91
91
  .on('quit', function () {
@@ -39,7 +39,7 @@ export interface SanityV2Json {
39
39
  {
40
40
  implements?: string
41
41
  path?: 'string'
42
- }
42
+ },
43
43
  ]
44
44
  }
45
45
 
@@ -50,7 +50,7 @@ export function validateModule(packageJson: PackageJson, options: {outDir: strin
50
50
  errors.push(
51
51
  outdent`
52
52
  Expected source, exports, main, module and files entries in package.json, but ${missingFields.join(
53
- ', '
53
+ ', ',
54
54
  )} where missing.
55
55
 
56
56
  Example:
@@ -77,7 +77,7 @@ export function validateModule(packageJson: PackageJson, options: {outDir: strin
77
77
  ],
78
78
 
79
79
  Refer to @sanity/pkg-utils for more: https://github.com/sanity-io/pkg-utils#sanitypkg-utils
80
- `.trimStart()
80
+ `.trimStart(),
81
81
  )
82
82
  }
83
83
 
@@ -108,7 +108,7 @@ export function validateScripts(packageJson: PackageJson): string[] {
108
108
  Please add the following to your package.json "scripts":
109
109
 
110
110
  ${divergentScripts.map(([key, value]) => `"${key}": "${value}"`).join(',\n')}
111
- `.trimStart()
111
+ `.trimStart(),
112
112
  )
113
113
  }
114
114
  return errors
@@ -116,7 +116,7 @@ export function validateScripts(packageJson: PackageJson): string[] {
116
116
 
117
117
  export async function validateTsConfig(
118
118
  ts: ParsedCommandLine,
119
- options: {basePath: string; outDir: string; tsconfig: string}
119
+ options: {basePath: string; outDir: string; tsconfig: string},
120
120
  ) {
121
121
  const {basePath, outDir, tsconfig} = options
122
122
 
@@ -179,7 +179,7 @@ export async function validateTsConfig(
179
179
  ${expectedOutput}
180
180
 
181
181
  Please update your ${tsconfig} accordingly.
182
- `.trimStart()
182
+ `.trimStart(),
183
183
  )
184
184
  }
185
185
 
@@ -259,7 +259,7 @@ export async function validateBabelConfig({basePath}: {basePath: string}) {
259
259
  return [
260
260
  outdent`
261
261
  Found babel-config file: [${babelFiles.join(
262
- ', '
262
+ ', ',
263
263
  )}]. When using default @sanity/plugin-kit build command,
264
264
  this is probably not needed.
265
265
 
@@ -314,7 +314,7 @@ export async function validateStudioConfig({basePath}: {basePath: string}): Prom
314
314
  errors.push(
315
315
  outdent`
316
316
  sanity.cli.(${suffixes.join(
317
- ' | '
317
+ ' | ',
318
318
  )}) missing. Please create a file named sanity.cli.ts with the following content:
319
319
 
320
320
  ${chalk.green(
@@ -326,13 +326,13 @@ export async function validateStudioConfig({basePath}: {basePath: string}): Prom
326
326
  projectId: '${sanityJson?.api?.projectId ?? 'project-id'}',
327
327
  dataset: '${sanityJson?.api?.dataset ?? 'dataset'}',
328
328
  }
329
- })`
329
+ })`,
330
330
  )}
331
331
 
332
332
  Make sure to replace the projectId and dataset fields with your own.
333
333
 
334
334
  For more, see ${urls.migrationGuideStudio}
335
- `.trimStart()
335
+ `.trimStart(),
336
336
  )
337
337
  }
338
338
 
@@ -340,7 +340,7 @@ export async function validateStudioConfig({basePath}: {basePath: string}): Prom
340
340
  errors.push(
341
341
  outdent`
342
342
  sanity.config.(${suffixes.join(
343
- ' | '
343
+ ' | ',
344
344
  )}) missing. At a minimum sanity.config.ts should contain:
345
345
 
346
346
  ${chalk
@@ -364,14 +364,14 @@ export async function validateStudioConfig({basePath}: {basePath: string}): Prom
364
364
  /* put your v2 schema-types here */
365
365
  ],
366
366
  },
367
- })`
367
+ })`,
368
368
  )
369
369
  .trimStart()}
370
370
 
371
371
  Make sure to replace the projectId and dataset fields with your own.
372
372
 
373
373
  For more, see ${urls.migrationGuideStudio}
374
- `.trimStart()
374
+ `.trimStart(),
375
375
  )
376
376
  }
377
377
 
@@ -446,7 +446,7 @@ export async function validatePluginSanityJson({
446
446
 
447
447
  export function validatePackageName(packageJson: PackageJson) {
448
448
  const valid: {validForNewPackages?: boolean; errors: string[]} = validateNpmPackageName(
449
- packageJson.name
449
+ packageJson.name,
450
450
  )
451
451
  if (!valid.validForNewPackages) {
452
452
  return [`Invalid package.json: "name" is invalid: ${valid.errors.join(', ')}`]
@@ -49,18 +49,18 @@ export function disableCheckText(checkKey: string) {
49
49
  "${checkKey}": false
50
50
  }
51
51
  }
52
- `.trimStart()
52
+ `.trimStart(),
53
53
  )
54
54
  }
55
55
 
56
56
  export function createValidator(
57
57
  verifyConfig: VerifyPackageConfig,
58
58
  flags: VerifyFlags,
59
- errors: string[]
59
+ errors: string[],
60
60
  ) {
61
61
  return async function validation(
62
62
  checkKey: keyof VerifyPackageConfig,
63
- task: () => Promise<string[] | undefined>
63
+ task: () => Promise<string[] | undefined>,
64
64
  ) {
65
65
  if (verifyConfig[checkKey] !== false) {
66
66
  const result = await task()
@@ -77,7 +77,7 @@ export function createValidator(
77
77
  outdent`Detected outstanding upgrade issues.
78
78
 
79
79
  Fail-fast (--single) mode enabled, stopping validation here.
80
- `
80
+ `,
81
81
  )
82
82
  }
83
83
  }