@sanity/plugin-kit 3.1.12 → 4.0.0

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 (61) hide show
  1. package/assets/inject/semver-workflow/.github/workflows/main.yml +6 -6
  2. package/dist/_chunks-cjs/cli.js +135 -0
  3. package/dist/_chunks-cjs/cli.js.map +1 -0
  4. package/dist/_chunks-cjs/init.js +894 -0
  5. package/dist/_chunks-cjs/init.js.map +1 -0
  6. package/dist/_chunks-cjs/init2.js +83 -0
  7. package/dist/_chunks-cjs/init2.js.map +1 -0
  8. package/dist/_chunks-cjs/inject.js +54 -0
  9. package/dist/_chunks-cjs/inject.js.map +1 -0
  10. package/dist/_chunks-cjs/link-watch.js +84 -0
  11. package/dist/_chunks-cjs/link-watch.js.map +1 -0
  12. package/dist/_chunks-cjs/package.js +1808 -0
  13. package/dist/_chunks-cjs/package.js.map +1 -0
  14. package/dist/_chunks-cjs/package2.js +143 -0
  15. package/dist/_chunks-cjs/package2.js.map +1 -0
  16. package/dist/_chunks-cjs/ts.js +162 -0
  17. package/dist/_chunks-cjs/ts.js.map +1 -0
  18. package/dist/_chunks-cjs/verify-package.js +75 -0
  19. package/dist/_chunks-cjs/verify-package.js.map +1 -0
  20. package/dist/_chunks-cjs/verify-studio.js +57 -0
  21. package/dist/_chunks-cjs/verify-studio.js.map +1 -0
  22. package/dist/_chunks-cjs/version.js +51 -0
  23. package/dist/_chunks-cjs/version.js.map +1 -0
  24. package/dist/cli.d.ts +4 -0
  25. package/dist/cli.js +4 -7
  26. package/dist/cli.js.map +1 -1
  27. package/dist/index.js +1 -1
  28. package/package.json +57 -59
  29. package/src/actions/inject.ts +1 -1
  30. package/src/actions/verify/types.ts +0 -1
  31. package/src/actions/verify/validations.ts +13 -69
  32. package/src/actions/verify/verify-common.ts +0 -1
  33. package/src/actions/verify-package.ts +0 -2
  34. package/src/cli.ts +1 -0
  35. package/src/configs/forced-package-versions.ts +0 -1
  36. package/src/configs/pkg-config.ts +0 -1
  37. package/src/configs/tsconfig.ts +20 -21
  38. package/src/npm/package.ts +6 -17
  39. package/src/presets/ui.ts +0 -1
  40. package/dist/_chunks/cli-cFLCCBOO.js +0 -168
  41. package/dist/_chunks/cli-cFLCCBOO.js.map +0 -1
  42. package/dist/_chunks/init-RizSz7N7.js +0 -104
  43. package/dist/_chunks/init-RizSz7N7.js.map +0 -1
  44. package/dist/_chunks/init-iwJScjA2.js +0 -966
  45. package/dist/_chunks/init-iwJScjA2.js.map +0 -1
  46. package/dist/_chunks/inject-p1N6jT0L.js +0 -49
  47. package/dist/_chunks/inject-p1N6jT0L.js.map +0 -1
  48. package/dist/_chunks/link-watch-hESx--O4.js +0 -91
  49. package/dist/_chunks/link-watch-hESx--O4.js.map +0 -1
  50. package/dist/_chunks/package-LD2bWiQM.js +0 -2358
  51. package/dist/_chunks/package-LD2bWiQM.js.map +0 -1
  52. package/dist/_chunks/package-hEMm6olE.js +0 -155
  53. package/dist/_chunks/package-hEMm6olE.js.map +0 -1
  54. package/dist/_chunks/ts--PkJtFoh.js +0 -165
  55. package/dist/_chunks/ts--PkJtFoh.js.map +0 -1
  56. package/dist/_chunks/verify-package-88yI8VXr.js +0 -97
  57. package/dist/_chunks/verify-package-88yI8VXr.js.map +0 -1
  58. package/dist/_chunks/verify-studio-t8s7BSdb.js +0 -74
  59. package/dist/_chunks/verify-studio-t8s7BSdb.js.map +0 -1
  60. package/dist/_chunks/version-UQqnNiud.js +0 -54
  61. package/dist/_chunks/version-UQqnNiud.js.map +0 -1
@@ -1,165 +0,0 @@
1
- 'use strict';
2
-
3
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
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-cFLCCBOO.js');
6
- var _package = require('./package-LD2bWiQM.js');
7
- var eslint = require('eslint');
8
- var path = require('path');
9
- var outdent = require('outdent');
10
- require('fs');
11
- var chalk = require('chalk');
12
- var childProcess = require('child_process');
13
- var npmRunPath = require('npm-run-path');
14
- var pkgUtils = require('@sanity/pkg-utils');
15
- function _interopDefaultCompat(e) {
16
- return e && typeof e === 'object' && 'default' in e ? e : {
17
- default: e
18
- };
19
- }
20
- var path__default = /*#__PURE__*/_interopDefaultCompat(path);
21
- var outdent__default = /*#__PURE__*/_interopDefaultCompat(outdent);
22
- var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
23
- var childProcess__default = /*#__PURE__*/_interopDefaultCompat(childProcess);
24
- var npmRunPath__default = /*#__PURE__*/_interopDefaultCompat(npmRunPath);
25
- const removedImportSuffix = "imports where removed in Sanity v3. Please refer to the migration guide: ".concat(cli.urls.migrationGuideStudio, ", or new API-reference docs: ").concat(cli.urls.refDocs);
26
- async function validateImports(_ref) {
27
- let {
28
- basePath
29
- } = _ref;
30
- cli.log.debug("Running ESLint with Sanity Studio import hints...");
31
- const eslint$1 = new eslint.ESLint({
32
- cwd: basePath,
33
- overrideConfig: {
34
- ignorePatterns: ["node_modules"],
35
- rules: {
36
- "no-restricted-imports": ["error", {
37
- patterns: [..._package.mergedPackages.map(packageName => ({
38
- group: ["".concat(packageName, "*")],
39
- message: "Use sanity instead of ".concat(packageName, ".")
40
- })), {
41
- group: ["config:*"],
42
- message: "config: imports are no longer supported. Please see the new plugin API for alternatives: ".concat(cli.urls.migrationGuideStudio)
43
- }, {
44
- group: ["part:*"],
45
- message: "part: ".concat(removedImportSuffix)
46
- }, {
47
- group: ["all:part:*"],
48
- message: "all:part: ".concat(removedImportSuffix)
49
- }, {
50
- group: ["sanity:*"],
51
- message: "sanity: ".concat(removedImportSuffix)
52
- }]
53
- }]
54
- }
55
- }
56
- });
57
- try {
58
- const results = await eslint$1.lintFiles([path__default.default.join(basePath, "**/*.{js,jsx,ts,tsx}")]);
59
- const onlyImportErrors = results.map(r => {
60
- const limitErrors = r.messages.filter(m => m.ruleId === "no-restricted-imports");
61
- return {
62
- ...r,
63
- messages: limitErrors,
64
- errorCount: limitErrors.length
65
- };
66
- }).filter(r => r.errorCount);
67
- if (onlyImportErrors.length) {
68
- const formatter = await eslint$1.loadFormatter("stylish");
69
- const resultText = await formatter.format(onlyImportErrors);
70
- const addtionalInfo = outdent__default.default(_templateObject || (_templateObject = _taggedTemplateLiteral(["\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 ", "\n\n If the plugin package does not use eslint, disable this check.\n "])), cli.urls.linterPackage);
71
- return [resultText + addtionalInfo];
72
- }
73
- } catch (e) {
74
- cli.log.error("Failed to run eslint check", e);
75
- return [outdent__default.default(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n Failed to run ESLint. Is ESLint configured?\n\n If the package does not use eslint, disable this check.\n "])))];
76
- }
77
- return [];
78
- }
79
- function parseCommand(commandString) {
80
- const normalized = commandString.replace(/ +/g, " ");
81
- const commandAndArg = normalized.split(" ");
82
- return {
83
- command: commandAndArg[0],
84
- args: commandAndArg.length > 1 ? commandAndArg.slice(1) : []
85
- };
86
- }
87
- async function runCommand(commandString) {
88
- cli.log.info("Running command: ".concat(commandString));
89
- const {
90
- command,
91
- args
92
- } = parseCommand(commandString);
93
- let options = {
94
- stdio: "inherit",
95
- env: npmRunPath__default.default.env()
96
- };
97
- options = process.platform === "win32" ? {
98
- ...options,
99
- shell: true
100
- } : options;
101
- return new Promise((resolve, reject) => {
102
- childProcess__default.default.spawn(command, args, options).on("error", reject).on("close", exitCode => {
103
- resolve({
104
- code: exitCode !== null && exitCode !== void 0 ? exitCode : 0
105
- });
106
- });
107
- });
108
- }
109
- const splitLine = "\n----------------------------------------------------------";
110
- const verifyFlags = {
111
- ...cli.sharedFlags,
112
- single: {
113
- default: false,
114
- type: "boolean"
115
- }
116
- };
117
- function disableCheckText(checkKey) {
118
- return chalk__default.default.grey(outdent__default.default(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n To skip this validation add the following to your package.json:\n \"sanityPlugin\": {\n \"verifyPackage\": {\n \"", "\": false\n }\n }\n "])), checkKey).trimStart());
119
- }
120
- function createValidator(verifyConfig, flags, errors) {
121
- return async function validation(checkKey, task) {
122
- if (verifyConfig[checkKey] !== false) {
123
- const result = await task();
124
- if (result !== null && result !== void 0 && result.length) {
125
- result.push(disableCheckText(checkKey));
126
- const errorMessage = result.join("\n\n");
127
- errors.push(errorMessage);
128
- cli.log.error("\n" + errorMessage + splitLine);
129
- }
130
- }
131
- if (flags.single && errors.length) {
132
- throw new Error(outdent__default.default(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["Detected outstanding upgrade issues.\n\n Fail-fast (--single) mode enabled, stopping validation here.\n "]))));
133
- }
134
- };
135
- }
136
- async function runTscMaybe(verifyConfig, ts) {
137
- if (ts && verifyConfig.tsc !== false) {
138
- cli.log.info("All checks ok, running Typescript compiler.");
139
- const {
140
- code
141
- } = await runCommand("tsc --build");
142
- if (code !== 0) {
143
- throw new Error("Compilation failed. See output above.\n\n" + disableCheckText("tsc"));
144
- }
145
- }
146
- }
147
- async function readTSConfig(options) {
148
- const {
149
- basePath,
150
- filename
151
- } = options;
152
- const filePath = path__default.default.resolve(basePath, filename);
153
- const exists = await _package.fileExists(filePath);
154
- if (!exists) return void 0;
155
- return await pkgUtils.loadTSConfig({
156
- cwd: basePath,
157
- tsconfigPath: filename
158
- });
159
- }
160
- exports.createValidator = createValidator;
161
- exports.readTSConfig = readTSConfig;
162
- exports.runTscMaybe = runTscMaybe;
163
- exports.validateImports = validateImports;
164
- exports.verifyFlags = verifyFlags;
165
- //# sourceMappingURL=ts--PkJtFoh.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ts--PkJtFoh.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":";;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAMA,yGAAkGC,QAAA,CAAKC,oBAAoB,mCAAAC,MAAA,CAAgCF,SAAKG,OAAO,CAAA;AAEvJ,eAAAC,eAAAA,CAAAC,IAAA,EAAmE;EAAA,IAAnD;IAACC;GAAkD,GAAAD,IAAA;EACvFE,OAAA,CAAIC,MAAM,mDAAmD,CAAA;EACvD,MAAAC,QAAA,GAAS,IAAIC,aAAO,CAAA;IACxBC,GAAK,EAAAL,QAAA;IACLM,cAAgB,EAAA;MACdC,cAAA,EAAgB,CAAC,cAAc,CAAA;MAC/BC,KAAO,EAAA;QACL,uBAAyB,EAAA,CACvB,OAAA,EACA;UACEC,QAAU,EAAA,CACR,GAAGC,QAAA,CAAAA,cAAA,CAAeC,GAAI,CAACC,WAAiB,KAAA;YACtCC,KAAO,EAAA,IAAAjB,MAAA,CAAIgB,WAAW,OAAG;YACzBE,OAAA,2BAAAlB,MAAA,CAAkCgB,WAAW;UAAA,CAC7C,CAAA,CAAA,EACF;YACEC,KAAA,EAAO,CAAC,UAAU,CAAA;YAClBC,OAAA,8FAAAlB,MAAA,CAAqGF,GAAA,CAAAA,IAAA,CAAKC,oBAAoB;UAChI,CAAA,EACA;YACEkB,KAAA,EAAO,CAAC,QAAQ,CAAA;YAChBC,OAAA,WAAAlB,MAAA,CAAkBH,mBAAmB;UACvC,CAAA,EACA;YACEoB,KAAA,EAAO,CAAC,YAAY,CAAA;YACpBC,OAAA,eAAAlB,MAAA,CAAsBH,mBAAmB;UAC3C,CAAA,EACA;YACEoB,KAAA,EAAO,CAAC,UAAU,CAAA;YAClBC,OAAA,aAAAlB,MAAA,CAAoBH,mBAAmB;UACzC,CAAA;QAEJ,CAAA;MAEJ;IACF;EAAA,CACD,CAAA;EAEG,IAAA;IACI,MAAAsB,OAAA,GAAU,MAAMZ,QAAA,CAAOa,SAAU,CAAA,CAACC,sBAAKC,IAAK,CAAAlB,QAAA,EAAU,sBAAsB,CAAC,CAAC,CAAA;IAEpF,MAAMmB,gBAAmB,GAAAJ,OAAA,CACtBJ,GAAI,CAACS,CAAM,IAAA;MACJ,MAAAC,WAAA,GAAcD,EAAEE,QAAS,CAAAC,MAAA,CAAQC,CAAM,IAAAA,CAAA,CAAEC,WAAW,uBAAuB,CAAA;MAC1E,OAAA;QACL,GAAGL,CAAA;QACHE,QAAU,EAAAD,WAAA;QACVK,YAAYL,WAAY,CAAAM;MAAA,CAC1B;IACD,CAAA,CACA,CAAAJ,MAAA,CAAQH,CAAA,IAAMA,EAAEM,UAAU,CAAA;IAE7B,IAAIP,iBAAiBQ,MAAQ,EAAA;MAC3B,MAAMC,SAAY,GAAA,MAAMzB,QAAO,CAAA0B,aAAA,CAAc,SAAS,CAAA;MACtD,MAAMC,UAAa,GAAA,MAAMF,SAAU,CAAAG,MAAA,CAAOZ,gBAAgB,CAAA;MAE1D,MAAMa,aAAgB,GAAAC,gBAAAA,CAAAA,OAAA,CAAAC,eAAA,KAAAA,eAAA,GAAAC,sBAAA,khBAWJzC,GAAAA,CAAAA,KAAK0C,aAAa,CAAA;MAI7B,OAAA,CAACN,aAAaE,aAAa,CAAA;IACpC;WACOK,CAAG,EAAA;IACNpC,GAAAA,CAAAA,GAAA,CAAAqC,KAAA,CAAM,8BAA8BD,CAAC,CAAA;IAClC,OAAA,CACLJ,wBAAA,CAAAM,gBAAA,KAAAA,gBAAA,GAAAJ,sBAAA,uIAKF;EACF;EAEA,OAAO,EAAC;AACV;ACrFO,SAASK,aAAaC,aAAgC,EAAA;EAC3D,MAAMC,UAAa,GAAAD,aAAA,CAAcE,OAAQ,CAAA,KAAA,EAAO,GAAG,CAAA;EAC7C,MAAAC,aAAA,GAAgBF,UAAW,CAAAG,KAAA,CAAM,GAAG,CAAA;EACnC,OAAA;IACLC,OAAA,EAASF,cAAc,CAAC,CAAA;IACxBG,IAAA,EAAMH,cAAcjB,MAAS,GAAA,CAAA,GAAIiB,cAAcI,KAAM,CAAA,CAAC,IAAI;EAAC,CAC7D;AACF;AAEA,eAAsBC,WAAWR,aAAgD,EAAA;EAC3ExC,GAAAA,CAAAA,GAAA,CAAAiD,IAAA,qBAAAtD,MAAA,CAAyB6C,aAAa,CAAE,CAAA;EAC5C,MAAM;IAACK,OAAA;IAASC;EAAI,CAAA,GAAIP,aAAaC,aAAa,CAAA;EAElD,IAAIU,UAAe;IAACC,KAAA,EAAO;IAAWC,GAAK,EAAAC,mBAAA,CAAAC,OAAA,CAAWF;GAAK;EAGjDF,OAAA,GAAAK,OAAA,CAAQC,aAAa,OAAU,GAAA;IAAC,GAAGN,OAAS;IAAAO,KAAA,EAAO;EAAQ,CAAA,GAAAP,OAAA;EAErE,OAAO,IAAIQ,OAAA,CAAQ,CAACC,OAAA,EAASC,MAAW,KAAA;IACtCC,qBAAAA,CAAAA,OAAA,CACGC,KAAM,CAAAjB,OAAA,EAASC,IAAM,EAAAI,OAAO,CAC5B,CAAAa,EAAA,CAAG,OAAS,EAAAH,MAAM,CAClB,CAAAG,EAAA,CAAG,OAAS,EAACC,QAAa,IAAA;MACzBL,OAAA,CAAQ;QAACM,IAAA,EAAMD,QAAY,aAAZA,QAAY,cAAZA,QAAY,GAAA;MAAE,CAAA,CAAA;IAAA,CAC9B,CAAA;EAAA,CACJ,CAAA;AACH;ACzBA,MAAME,SAAY,iEAAA;AAsBX,MAAMC,WAAc,GAAA;EACzB,GAAGC,GAAA,CAAAA,WAAA;EACHC,MAAQ,EAAA;IACNf,OAAS,EAAA,KAAA;IACTgB,IAAM,EAAA;EACR;AACF,CAAA;AAIO,SAASC,iBAAiBC,QAAkB,EAAA;EACjD,OAAOC,cAAM,CAAAnB,OAAA,CAAAoB,IAAA,CACX1C,wBAAA,CAAA2C,gBAAA,KAAAA,gBAAA,GAAAzC,sBAAA,wPAImBsC,QAAQ,EAGnBI,SAAU,CAAA,CAAA,CACpB;AACF;AAEgB,SAAAC,eAAAA,CACdC,YACA,EAAAC,KAAA,EACAC,MACA,EAAA;EACO,OAAA,eAAeC,UACpBA,CAAAT,QAAA,EACAU,IACA,EAAA;IACI,IAAAJ,YAAA,CAAaN,QAAQ,CAAA,KAAM,KAAO,EAAA;MAC9B,MAAAW,MAAA,GAAS,MAAMD,IAAK,EAAA;MAC1B,IAAIC,mBAAAA,qBAAAA,OAAQzD,MAAQ,EAAA;QACXyD,MAAA,CAAAC,IAAA,CAAKb,gBAAiB,CAAAC,QAAQ,CAAC,CAAA;QAChC,MAAAa,YAAA,GAAeF,MAAO,CAAAlE,IAAA,CAAK,MAAM,CAAA;QACvC+D,MAAA,CAAOI,KAAKC,YAAY,CAAA;QACxBrF,GAAA,CAAAA,GAAA,CAAIqC,KAAM,CAAA,OAAOgD,eAAenB,SAAS,CAAA;MAC3C;IACF;IAEI,IAAAa,KAAA,CAAMV,MAAU,IAAAW,MAAA,CAAOtD,MAAQ,EAAA;MACjC,MAAM,IAAI4D,KAAA,CACRtD,wBAAA,CAAAuD,gBAAA,KAAAA,gBAAA,GAAArD,sBAAA,8HAAA,CAIF;IACF;EAAA,CACF;AACF;AAEsB,eAAAsD,WAAAA,CAAYV,cAAmCW,EAAwB,EAAA;EACvF,IAAAA,EAAA,IAAMX,YAAa,CAAAY,GAAA,KAAQ,KAAO,EAAA;IACpC1F,OAAA,CAAIiD,KAAK,6CAA6C,CAAA;IACtD,MAAM;MAACgB;IAAQ,CAAA,GAAA,MAAMjB,WAAW,aAAa,CAAA;IAC7C,IAAIiB,SAAS,CAAG,EAAA;MACd,MAAM,IAAIqB,KAAA,CAAM,2CAA8C,GAAAf,gBAAA,CAAiB,KAAK,CAAC,CAAA;IACvF;EACF;AACF;ACzFA,eAAsBoB,aAAazC,OAA+C,EAAA;EAC1E,MAAA;IAACnD,QAAU;IAAA6F;EAAY,CAAA,GAAA1C,OAAA;EAC7B,MAAM2C,QAAW,GAAA7E,aAAA,CAAAsC,OAAA,CAAKK,OAAQ,CAAA5D,QAAA,EAAU6F,QAAQ,CAAA;EAC1C,MAAAE,MAAA,GAAS,MAAMC,mBAAA,CAAWF,QAAQ,CAAA;EAExC,IAAI,CAACC,MAAA,EAAe,OAAA,KAAA,CAAA;EAEpB,OAAO,MAAME,QAAa,CAAAA,YAAA,CAAA;IAAC5F,KAAKL,QAAU;IAAAkG,YAAA,EAAcL;GAAS,CAAA;AACnE;;;;;"}
@@ -1,97 +0,0 @@
1
- 'use strict';
2
-
3
- var _templateObject, _templateObject2;
4
- function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
5
- var path = require('path');
6
- var meow = require('meow');
7
- var pkgUtils = require('@sanity/pkg-utils');
8
- var _package = require('./package-LD2bWiQM.js');
9
- var cli = require('./cli-cFLCCBOO.js');
10
- var ts = require('./ts--PkJtFoh.js');
11
- var outdent = require('outdent');
12
- var chalk = require('chalk');
13
- function _interopDefaultCompat(e) {
14
- return e && typeof e === 'object' && 'default' in e ? e : {
15
- default: e
16
- };
17
- }
18
- var path__default = /*#__PURE__*/_interopDefaultCompat(path);
19
- var meow__default = /*#__PURE__*/_interopDefaultCompat(meow);
20
- var outdent__default = /*#__PURE__*/_interopDefaultCompat(outdent);
21
- var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
22
- async function verifyPackage(_ref) {
23
- var _packageJson$sanityPl, _packageConfig$dist, _packageConfig$tsconf;
24
- let {
25
- basePath,
26
- flags
27
- } = _ref;
28
- let errors = [];
29
- const packageJson = await _package.getPackage({
30
- basePath,
31
- validate: false
32
- });
33
- const verifyConfig = ((_packageJson$sanityPl = packageJson.sanityPlugin) === null || _packageJson$sanityPl === void 0 ? void 0 : _packageJson$sanityPl.verifyPackage) || {};
34
- const packageConfig = await pkgUtils.loadConfig({
35
- cwd: basePath
36
- });
37
- const outDir = (_packageConfig$dist = packageConfig === null || packageConfig === void 0 ? void 0 : packageConfig.dist) !== null && _packageConfig$dist !== void 0 ? _packageConfig$dist : cli.defaultOutDir;
38
- const tsconfig = (_packageConfig$tsconf = packageConfig === null || packageConfig === void 0 ? void 0 : packageConfig.tsconfig) !== null && _packageConfig$tsconf !== void 0 ? _packageConfig$tsconf : "tsconfig.json";
39
- const validation = ts.createValidator(verifyConfig, flags, errors);
40
- const ts$1 = await ts.readTSConfig({
41
- basePath,
42
- filename: tsconfig
43
- });
44
- await validation("packageName", async () => _package.validatePackageName(packageJson));
45
- await validation("pkg-utils", async () => _package.validatePkgUtilsDependency(packageJson));
46
- await validation("srcIndex", async () => _package.validateSrcIndexFile(basePath));
47
- await validation("scripts", async () => _package.validateScripts(packageJson));
48
- await validation("module", async () => _package.validateModule(packageJson, {
49
- outDir
50
- }));
51
- await validation("nodeEngine", async () => _package.validateNodeEngine(packageJson));
52
- await validation("duplicateConfig", async () => _package.disallowDuplicateEslintConfig(basePath, packageJson));
53
- await validation("duplicateConfig", async () => _package.disallowDuplicatePrettierConfig(basePath, packageJson));
54
- if (ts$1) {
55
- await validation("tsconfig", async () => _package.validateTsConfig(ts$1, {
56
- basePath,
57
- outDir,
58
- tsconfig
59
- }));
60
- }
61
- await validation("sanityV2Json", async () => _package.validatePluginSanityJson({
62
- basePath,
63
- packageJson
64
- }));
65
- await validation("babelConfig", async () => _package.validateBabelConfig({
66
- basePath
67
- }));
68
- await validation("dependencies", async () => _package.validateSanityDependencies(packageJson));
69
- await validation("deprecatedDependencies", async () => _package.validateDeprecatedDependencies(packageJson));
70
- await validation("eslintImports", async () => ts.validateImports({
71
- basePath
72
- }));
73
- if (errors.length) {
74
- throw new Error(outdent__default.default(_templateObject || (_templateObject = _taggedTemplateLiteral(["\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 ", " for configuration options.\n\n More information is available here:\n - Studio migration guide: ", "\n - Plugin migration guide: ", "\n - Reference documentation: ", "\n\n ", "\n "])), cli.urls.pluginReadme, cli.urls.migrationGuideStudio, cli.urls.migrationGuidePlugin, cli.urls.refDocs, chalk__default.default.grey("To fail-fast on first detected issue run:\nnpx ".concat(cli.cliName, " verify-package' --single"))).trimStart());
75
- }
76
- await ts.runTscMaybe(verifyConfig, ts$1);
77
- cli.log.success(outdent__default.default(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n No outstanding upgrade issues detected.\n\n Suggested next steps:\n - Use plugin-kit to build and develop the plugin according to ", ".\n - Build the plugin and fix any compilation errors\n - Test the plugin using the link-watch command\n "])), cli.urls.pluginReadme).trim());
78
- }
79
- const description = "Verify that a Sanity plugin package is v3 compatible, and print upgrade steps if not.";
80
- const help = "\nUsage\n $ ".concat(cli.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 $ ").concat(cli.cliName, " verify-package\n\n # Verify Sanity plugin package in my-plugin directory in silent mode\n $ ").concat(cli.cliName, " verify-package my-plugin-directory --silent\n");
81
- function run(_ref2) {
82
- let {
83
- argv
84
- } = _ref2;
85
- const cli = meow__default.default(help, {
86
- flags: ts.verifyFlags,
87
- argv,
88
- description
89
- });
90
- const basePath = path__default.default.resolve(cli.input[0] || process.cwd());
91
- return verifyPackage({
92
- basePath,
93
- flags: cli.flags
94
- });
95
- }
96
- exports.default = run;
97
- //# sourceMappingURL=verify-package-88yI8VXr.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verify-package-88yI8VXr.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","_packageJson$sanityPl","_packageConfig$dist","_packageConfig$tsconf","basePath","flags","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","_ref2","argv","cli","meow","verifyFlags","path","resolve","input","process"],"mappings":"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"}
@@ -1,74 +0,0 @@
1
- 'use strict';
2
-
3
- var _templateObject, _templateObject2;
4
- function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
5
- var path = require('path');
6
- var meow = require('meow');
7
- var cli = require('./cli-cFLCCBOO.js');
8
- var ts = require('./ts--PkJtFoh.js');
9
- var pkgUtils = require('@sanity/pkg-utils');
10
- var _package = require('./package-LD2bWiQM.js');
11
- var outdent = require('outdent');
12
- var chalk = require('chalk');
13
- function _interopDefaultCompat(e) {
14
- return e && typeof e === 'object' && 'default' in e ? e : {
15
- default: e
16
- };
17
- }
18
- var path__default = /*#__PURE__*/_interopDefaultCompat(path);
19
- var meow__default = /*#__PURE__*/_interopDefaultCompat(meow);
20
- var outdent__default = /*#__PURE__*/_interopDefaultCompat(outdent);
21
- var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
22
- async function verifyStudio(_ref) {
23
- var _packageJson$sanityPl, _packageConfig$tsconf;
24
- let {
25
- basePath,
26
- flags
27
- } = _ref;
28
- let errors = [];
29
- const packageJson = await _package.getPackage({
30
- basePath,
31
- validate: false
32
- });
33
- const verifyConfig = ((_packageJson$sanityPl = packageJson.sanityPlugin) === null || _packageJson$sanityPl === void 0 ? void 0 : _packageJson$sanityPl.verifyPackage) || {};
34
- const packageConfig = await pkgUtils.loadConfig({
35
- cwd: basePath
36
- });
37
- const tsconfig = (_packageConfig$tsconf = packageConfig === null || packageConfig === void 0 ? void 0 : packageConfig.tsconfig) !== null && _packageConfig$tsconf !== void 0 ? _packageConfig$tsconf : "tsconfig.json";
38
- const validation = ts.createValidator(verifyConfig, flags, errors);
39
- const ts$1 = await ts.readTSConfig({
40
- basePath,
41
- filename: tsconfig
42
- });
43
- await validation("studioConfig", async () => _package.validateStudioConfig({
44
- basePath
45
- }));
46
- await validation("dependencies", async () => _package.validateSanityDependencies(packageJson));
47
- await validation("eslintImports", async () => ts.validateImports({
48
- basePath
49
- }));
50
- if (errors.length) {
51
- throw new Error(outdent__default.default(_templateObject || (_templateObject = _taggedTemplateLiteral(["\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: ", "\n - Reference documentation: ", "\n\n ", "\n "])), cli.urls.migrationGuideStudio, cli.urls.refDocs, chalk__default.default.grey("To fail-fast on first detected issue run:\nnpx ".concat(cli.cliName, " verify-studio --single"))).trimStart());
52
- }
53
- await ts.runTscMaybe(verifyConfig, ts$1);
54
- cli.log.success(outdent__default.default(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n No outstanding upgrade issues detected. Studio is V3 ready!\n "]))).trim());
55
- }
56
- const description = "Verify that a Sanity Studio is configured correctly for v3, and print upgrade steps if not.";
57
- const help = "\nUsage\n $ ".concat(cli.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 $ ").concat(cli.cliName, " verify-studio\n\n # Verify Sanity Studio in my-sanity-studio directory in silent mode\n $ ").concat(cli.cliName, " verify-studio my-sanity-studio --silent\n");
58
- function run(_ref2) {
59
- let {
60
- argv
61
- } = _ref2;
62
- const cli = meow__default.default(help, {
63
- flags: ts.verifyFlags,
64
- argv,
65
- description
66
- });
67
- const basePath = path__default.default.resolve(cli.input[0] || process.cwd());
68
- return verifyStudio({
69
- basePath,
70
- flags: cli.flags
71
- });
72
- }
73
- exports.default = run;
74
- //# sourceMappingURL=verify-studio-t8s7BSdb.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verify-studio-t8s7BSdb.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","_packageJson$sanityPl","_packageConfig$tsconf","basePath","flags","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","_ref2","argv","cli","meow","verifyFlags","path","resolve","input","process"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAiBA,eAAsBA,YAAaA,CAAAC,IAAA,EAA2D;EAAA,IAAAC,qBAAA,EAAAC,qBAAA;EAAA,IAA3D;IAACC,QAAU;IAAAC;GAAgD,GAAAJ,IAAA;EAC5F,IAAIK,SAAmB,EAAC;EAExB,MAAMC,cAA2B,MAAMC,mBAAA,CAAW;IAACJ,QAAU;IAAAK,QAAA,EAAU;GAAM,CAAA;EAC7E,MAAMC,YAAoC,GAAA,EAAAR,qBAAA,GAAAK,WAAA,CAAYI,YAAc,cAAAT,qBAAA,uBAA1BA,qBAAA,CAA0BU,aAAA,KAAiB,CAAA,CAAC;EACtF,MAAMC,gBAAgB,MAAMC,QAAA,CAAAC,UAAA,CAAkB;IAACC,GAAA,EAAKZ;EAAS,CAAA,CAAA;EACvD,MAAAa,QAAA,IAAAd,qBAAA,GAAWU,0BAAAA,oCAAAA,cAAeI,QAAY,cAAAd,qBAAA,cAAAA,qBAAA,GAAA,eAAA;EAE5C,MAAMe,UAAa,GAAAC,EAAA,CAAAA,eAAA,CAAgBT,YAAc,EAAAL,KAAA,EAAOC,MAAM,CAAA;EAE9D,MAAMc,OAAK,MAAMC,eAAA,CAAa;IAACjB,QAAU;IAAAkB,QAAA,EAAUL;GAAS,CAAA;EAE5D,MAAMC,WAAW,cAAgB,EAAA,YAAYK,8BAAqB;IAACnB;EAAS,CAAA,CAAC,CAAA;EAC7E,MAAMc,UAAW,CAAA,cAAA,EAAgB,YAAYM,QAAAA,CAAAA,0BAAA,CAA2BjB,WAAW,CAAC,CAAA;EACpF,MAAMW,WAAW,eAAiB,EAAA,YAAYO,mBAAgB;IAACrB;EAAS,CAAA,CAAC,CAAA;EAEzE,IAAIE,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;IAACzC,OAAO+C,cAAa;IAAAH,IAAA;IAAMJ;GAAY,CAAA;EACxD,MAAAzC,QAAA,GAAWiD,sBAAKC,OAAQ,CAAAJ,GAAA,CAAIK,MAAM,CAAC,CAAA,IAAKC,OAAQ,CAAAxC,GAAA,CAAA,CAAK,CAAA;EAC3D,OAAOhB,aAAa;IAACI,QAAA;IAAUC,KAAO,EAAA6C,GAAA,CAAI7C;GAAM,CAAA;AAClD;"}
@@ -1,54 +0,0 @@
1
- 'use strict';
2
-
3
- var meow = require('meow');
4
- var _package = require('./package-hEMm6olE.js');
5
- var cli = require('./cli-cFLCCBOO.js');
6
- function _interopDefaultCompat(e) {
7
- return e && typeof e === 'object' && 'default' in e ? e : {
8
- default: e
9
- };
10
- }
11
- var meow__default = /*#__PURE__*/_interopDefaultCompat(meow);
12
- const description = "Show the installed version of ".concat(_package.pkg.name);
13
- const help = "\nUsage\n $ ".concat(_package.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 $ ").concat(_package.pkg.binname, " version\n ").concat(_package.pkg.name, " version ").concat(_package.pkg.version, "\n\n $ ").concat(_package.pkg.binname, " version --major\n ").concat(_package.pkg.version.split(".")[0], "\n");
14
- const flags = {
15
- ...cli.sharedFlags,
16
- major: {
17
- type: "boolean",
18
- default: false
19
- },
20
- minor: {
21
- type: "boolean",
22
- default: false
23
- },
24
- patch: {
25
- type: "boolean",
26
- default: false
27
- }
28
- };
29
- function run(_ref) {
30
- let {
31
- argv
32
- } = _ref;
33
- const cli$1 = meow__default.default(help, {
34
- flags,
35
- argv,
36
- description
37
- });
38
- const versionParts = _package.pkg.version.split(".");
39
- const versionNames = ["major", "minor", "patch"];
40
- const versionFlags = versionNames.filter(flagName => cli$1.flags[flagName]);
41
- const versionFlag = versionFlags[0];
42
- const numVersionFlags = versionFlags.length;
43
- if (numVersionFlags === 0) {
44
- cli.log.msg("".concat(_package.pkg.name, " version ").concat(_package.pkg.version));
45
- return;
46
- }
47
- if (numVersionFlags > 1) {
48
- throw new Error("--major, --minor and --patch are mutually exclusive - only one can be used at a time");
49
- }
50
- const partIndex = versionNames.indexOf(versionFlag);
51
- cli.log.msg(versionParts[partIndex]);
52
- }
53
- exports.default = run;
54
- //# sourceMappingURL=version-UQqnNiud.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version-UQqnNiud.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;"}