@storm-software/eslint
Version:
A package containing the base ESLint configuration used by Storm Software across many projects.
88 lines (82 loc) • 3.44 kB
JavaScript
;
var localPkg = require('local-pkg');
var process = require('process');
var url = require('url');
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
var process__default = /*#__PURE__*/_interopDefault(process);
// ../../node_modules/.pnpm/tsup@8.4.0_patch_hash=751a554d775c3572381af4e7e5fa22eeda6dd6856012fb1cf521d6806eb2dc74__c6e5a1ff3e71b7415dce15be46368d04/node_modules/tsup/assets/cjs_shims.js
var getImportMetaUrl = () => typeof document === "undefined" ? new URL(`file:${__filename}`).href : document.currentScript && document.currentScript.src || new URL("main.js", document.baseURI).href;
var importMetaUrl = /* @__PURE__ */ getImportMetaUrl();
var scopeUrl = url.fileURLToPath(new URL(".", importMetaUrl));
var isCwdInScope = localPkg.isPackageExists("@storm-software/eslint");
var parserPlain = {
meta: {
name: "parser-plain"
},
parseForESLint: (code) => ({
ast: {
body: [],
comments: [],
loc: { end: code.length, start: 0 },
range: [0, code.length],
tokens: [],
type: "Program"
},
scopeManager: null,
services: { isPlain: true },
visitorKeys: {
Program: []
}
})
};
function isInGitHooksOrLintStaged() {
return !!(process__default.default.env.GIT_PARAMS || process__default.default.env.VSCODE_GIT_COMMAND || process__default.default.env.npm_lifecycle_script?.startsWith("lint-staged") || process__default.default.env.npm_lifecycle_script?.startsWith("lefthook") || process__default.default.env.npm_lifecycle_script === "push");
}
function isInEditorEnv() {
if (process__default.default.env.CI) return false;
if (isInGitHooksOrLintStaged()) return false;
return !!(process__default.default.env.VSCODE_PID || process__default.default.env.VSCODE_CWD || process__default.default.env.JETBRAINS_IDE || process__default.default.env.VIM || process__default.default.env.NVIM);
}
async function interopDefault(m) {
const resolved = await m;
return resolved.default || resolved;
}
function isPackageInScope(name) {
return localPkg.isPackageExists(name, { paths: [scopeUrl] });
}
async function ensurePackages(packages) {
if (process__default.default.env.CI || process__default.default.stdout.isTTY === false || isCwdInScope === false)
return;
const nonExistingPackages = packages.filter(
(i) => i && !isPackageInScope(i)
);
if (nonExistingPackages.length === 0) return;
const p = await import('@clack/prompts');
const result = await p.confirm({
message: `${nonExistingPackages.length === 1 ? "Package is" : "Packages are"} required for this config: ${nonExistingPackages.join(
", "
)}. Do you want to install them?`
});
if (result)
await import('@antfu/install-pkg').then(
(i) => i.installPackage(nonExistingPackages, { dev: true })
);
}
function renameRules(rules, map) {
return Object.fromEntries(
Object.entries(rules).map(([key, value]) => {
for (const [from, to] of Object.entries(map)) {
if (key.startsWith(`${from}/`))
return [to + key.slice(from.length), value];
}
return [key, value];
})
);
}
exports.ensurePackages = ensurePackages;
exports.interopDefault = interopDefault;
exports.isInEditorEnv = isInEditorEnv;
exports.isInGitHooksOrLintStaged = isInGitHooksOrLintStaged;
exports.isPackageInScope = isPackageInScope;
exports.parserPlain = parserPlain;
exports.renameRules = renameRules;