@sanity/plugin-kit

6.0.47.0.0
dist/verify-common.js
dist/verify-common.jsDeleted
−145
Index: package/dist/verify-common.js
===================================================================
--- package/dist/verify-common.js
+++ package/dist/verify-common.js
@@ -1,145 +0,0 @@
-import { a as urls } from "./constants.js";
-import { n as sharedFlags_default, t as log_default } from "./log.js";
-import { P as fileExists, W as mergedPackages } from "./package.js";
-import chalk from "chalk";
-import path from "path";
-import outdent from "outdent";
-import childProcess from "child_process";
-import { ESLint } from "eslint";
-import * as ts from "typescript";
-import npmRunPath from "npm-run-path";
-const removedImportSuffix = `imports where removed in Sanity v3. Please refer to the migration guide: ${urls.migrationGuideStudio}, or new API-reference docs: ${urls.refDocs}`;
-async function validateImports({ basePath }) {
-	log_default.debug("Running ESLint with Sanity Studio import hints...");
-	let eslint = new ESLint({
-		cwd: basePath,
-		overrideConfig: {
-			ignorePatterns: ["node_modules"],
-			rules: { "no-restricted-imports": ["error", { patterns: [
-				...mergedPackages.map((packageName) => ({
-					group: [`${packageName}*`],
-					message: `Use sanity instead of ${packageName}.`
-				})),
-				{
-					group: ["config:*"],
-					message: `config: imports are no longer supported. Please see the new plugin API for alternatives: ${urls.migrationGuideStudio}`
-				},
-				{
-					group: ["part:*"],
-					message: `part: ${removedImportSuffix}`
-				},
-				{
-					group: ["all:part:*"],
-					message: `all:part: ${removedImportSuffix}`
-				},
-				{
-					group: ["sanity:*"],
-					message: `sanity: ${removedImportSuffix}`
-				}
-			] }] }
-		}
-	});
-	try {
-		let onlyImportErrors = (await eslint.lintFiles([path.join(basePath, "**/*.{js,jsx,ts,tsx}")])).map((r) => {
-			let limitErrors = r.messages.filter((m) => m.ruleId === "no-restricted-imports");
-			return {
-				...r,
-				messages: limitErrors,
-				errorCount: limitErrors.length
-			};
-		}).filter((r) => r.errorCount);
-		if (onlyImportErrors.length) return [await (await eslint.loadFormatter("stylish")).format(onlyImportErrors) + outdent`
-        ESLint detected Studio V2 imports that are no longer available.
-        It is recommended configure @sanity/eslint-config-no-v2-imports for ESLint.
-
-        Run:
-        npm install --save-dev @sanity/eslint-config-no-v2-imports
-
-        In .eslintrc add:
-        "extends": ["@sanity/no-v2-imports"]
-
-        This way, V2-imports can be identified directly in the IDE, or using eslint CLI.
-        For more, see ${urls.linterPackage}
-
-        If the plugin package does not use eslint, disable this check.
-    `];
-	} catch (e) {
-		return log_default.error("Failed to run eslint check", e), [outdent`
-        Failed to run ESLint. Is ESLint configured?
-
-        If the package does not use eslint, disable this check.
-    `];
-	}
-	return [];
-}
-async function readTSConfig(options) {
-	let { basePath, filename } = options, filePath = path.resolve(basePath, filename);
-	if (!await fileExists(filePath)) return;
-	let { config } = ts.readConfigFile(filePath, ts.sys.readFile);
-	if (config) return ts.parseJsonConfigFileContent(config, ts.sys, basePath);
-}
-function parseCommand(commandString) {
-	let commandAndArg = commandString.replace(/ +/g, " ").split(" ");
-	return {
-		command: commandAndArg[0],
-		args: commandAndArg.length > 1 ? commandAndArg.slice(1) : []
-	};
-}
-async function runCommand(commandString) {
-	log_default.info(`Running command: ${commandString}`);
-	let { command, args } = parseCommand(commandString), options = {
-		stdio: "inherit",
-		env: npmRunPath.env()
-	};
-	return options = process.platform === "win32" ? {
-		...options,
-		shell: !0
-	} : options, new Promise((resolve, reject) => {
-		childProcess.spawn(command, args, options).on("error", reject).on("close", (exitCode) => {
-			resolve({ code: exitCode ?? 0 });
-		});
-	});
-}
-const verifyFlags = {
-	...sharedFlags_default,
-	single: {
-		default: !1,
-		type: "boolean"
-	}
-};
-function disableCheckText(checkKey) {
-	return chalk.grey(outdent`
-              To skip this validation add the following to your package.json:
-              "sanityPlugin": {
-                 "verifyPackage": {
-                    "${checkKey}": false
-                 }
-              }
-          `.trimStart());
-}
-function createValidator(verifyConfig, flags, errors) {
-	return async function(checkKey, task) {
-		if (verifyConfig[checkKey] !== !1) {
-			let result = await task();
-			if (result?.length) {
-				result.push(disableCheckText(checkKey));
-				let errorMessage = result.join("\n\n");
-				errors.push(errorMessage), log_default.error("\n" + errorMessage + "\n----------------------------------------------------------");
-			}
-		}
-		if (flags.single && errors.length) throw Error(outdent`Detected outstanding upgrade issues.
-
-        Fail-fast (--single) mode enabled, stopping validation here.
-        `);
-	};
-}
-async function runTscMaybe(verifyConfig, ts) {
-	if (ts && verifyConfig.tsc !== !1) {
-		log_default.info("All checks ok, running TypeScript compiler.");
-		let { code } = await runCommand("tsc --build");
-		if (code !== 0) throw Error("Compilation failed. See output above.\n\n" + disableCheckText("tsc"));
-	}
-}
-export { validateImports as a, readTSConfig as i, runTscMaybe as n, verifyFlags as r, createValidator as t };
-
-//# sourceMappingURL=verify-common.js.map
\ No newline at end of file