Project Init

This commit is contained in:
Muluhabt
2026-05-29 15:23:46 +03:00
commit 2fbc557aac
67387 changed files with 6063341 additions and 0 deletions

View File

@@ -0,0 +1,2 @@
import type * as acorn from "acorn";
export declare function getAcorn(): typeof acorn;

View File

@@ -0,0 +1,74 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getAcorn = void 0;
const module_1 = require("module");
const require_utils_1 = require("./require-utils");
let acornCache;
function getAcorn() {
if (!acornCache) {
acornCache = (0, require_utils_1.loadNewest)([
{
getPkg() {
return (0, require_utils_1.requireFromCwd)("acorn/package.json");
},
get() {
return (0, require_utils_1.requireFromCwd)("acorn");
},
},
{
getPkg() {
return requireFromEspree("acorn/package.json");
},
get() {
return requireFromEspree("acorn");
},
},
{
getPkg() {
return require("acorn/package.json");
},
get() {
return require("acorn");
},
},
]);
}
return acornCache;
}
exports.getAcorn = getAcorn;
function requireFromEspree(module) {
try {
return (0, module_1.createRequire)(getEspreePath())(module);
}
catch (_a) {
}
return null;
}
function getEspreePath() {
return (0, require_utils_1.loadNewest)([
{
getPkg() {
return (0, require_utils_1.requireFromCwd)("espree/package.json");
},
get() {
return (0, require_utils_1.getRequireFromCwd)().resolve("espree");
},
},
{
getPkg() {
return (0, require_utils_1.requireFromLinter)("espree/package.json");
},
get() {
return (0, require_utils_1.getRequireFromLinter)().resolve("espree");
},
},
{
getPkg() {
return require("espree/package.json");
},
get() {
return require.resolve("espree");
},
},
]);
}

View File

@@ -0,0 +1,8 @@
export interface ESPree {
latestEcmaVersion?: number;
version: string;
}
export declare function getEspree(): ESPree;
type NewestKind = "cwd" | "linter" | "self";
export declare function getNewestEspreeKind(): NewestKind;
export {};

View File

@@ -0,0 +1,59 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getNewestEspreeKind = exports.getEspree = void 0;
const require_utils_1 = require("./require-utils");
const semver_1 = require("semver");
let espreeCache = null;
function getEspree() {
if (!espreeCache) {
espreeCache = (0, require_utils_1.loadNewest)([
{
getPkg() {
return (0, require_utils_1.requireFromCwd)("espree/package.json");
},
get() {
return (0, require_utils_1.requireFromCwd)("espree");
},
},
{
getPkg() {
return (0, require_utils_1.requireFromLinter)("espree/package.json");
},
get() {
return (0, require_utils_1.requireFromLinter)("espree");
},
},
{
getPkg() {
return require("espree/package.json");
},
get() {
return require("espree");
},
},
]);
}
return espreeCache;
}
exports.getEspree = getEspree;
let kindCache = null;
function getNewestEspreeKind() {
if (kindCache) {
return kindCache;
}
const cwdPkg = (0, require_utils_1.requireFromCwd)("espree/package.json");
const linterPkg = (0, require_utils_1.requireFromLinter)("espree/package.json");
const self = require("espree/package.json");
let target = {
kind: "self",
version: self.version,
};
if (cwdPkg != null && (0, semver_1.lte)(target.version, cwdPkg.version)) {
target = { kind: "cwd", version: cwdPkg.version };
}
if (linterPkg != null && (0, semver_1.lte)(target.version, linterPkg.version)) {
target = { kind: "linter", version: linterPkg.version };
}
return (kindCache = target.kind);
}
exports.getNewestEspreeKind = getNewestEspreeKind;

View File

@@ -0,0 +1,13 @@
/// <reference types="node" />
import type ModuleClass from "module";
export declare function createRequire(filename: string): ReturnType<typeof ModuleClass.createRequire>;
export declare function getRequireFromLinter(): NodeRequire | null;
export declare function getRequireFromCwd(): NodeRequire | null;
export declare function requireFromLinter<T>(module: string): T | null;
export declare function requireFromCwd<T>(module: string): T | null;
export declare function loadNewest<T>(items: {
getPkg: () => {
version: string;
} | null;
get: () => T | null;
}[]): T;

View File

@@ -0,0 +1,80 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.loadNewest = exports.requireFromCwd = exports.requireFromLinter = exports.getRequireFromCwd = exports.getRequireFromLinter = exports.createRequire = void 0;
const path_1 = __importDefault(require("path"));
const semver_1 = require("semver");
function createRequire(filename) {
const Module = require("module");
const fn = Module.createRequire ||
Module.createRequireFromPath ||
((filename2) => {
const mod = new Module(filename2);
mod.filename = filename2;
mod.paths = Module._nodeModulePaths(path_1.default.dirname(filename2));
mod._compile("module.exports = require;", filename2);
return mod.exports;
});
return fn(filename);
}
exports.createRequire = createRequire;
function isLinterPath(p) {
return (p.includes(`eslint${path_1.default.sep}lib${path_1.default.sep}linter${path_1.default.sep}linter.js`) ||
p.includes(`eslint${path_1.default.sep}lib${path_1.default.sep}linter.js`));
}
function getRequireFromLinter() {
const linterPath = Object.keys(require.cache).find(isLinterPath);
if (linterPath) {
try {
return createRequire(linterPath);
}
catch (_a) {
}
}
return null;
}
exports.getRequireFromLinter = getRequireFromLinter;
function getRequireFromCwd() {
try {
const cwd = process.cwd();
const relativeTo = path_1.default.join(cwd, "__placeholder__.js");
return createRequire(relativeTo);
}
catch (_a) {
}
return null;
}
exports.getRequireFromCwd = getRequireFromCwd;
function requireFromLinter(module) {
var _a;
try {
return (_a = getRequireFromLinter()) === null || _a === void 0 ? void 0 : _a(module);
}
catch (_b) {
}
return null;
}
exports.requireFromLinter = requireFromLinter;
function requireFromCwd(module) {
var _a;
try {
return (_a = getRequireFromCwd()) === null || _a === void 0 ? void 0 : _a(module);
}
catch (_b) {
}
return null;
}
exports.requireFromCwd = requireFromCwd;
function loadNewest(items) {
let target = null;
for (const item of items) {
const pkg = item.getPkg();
if (pkg != null && (!target || (0, semver_1.lte)(target.version, pkg.version))) {
target = { version: pkg.version, get: item.get };
}
}
return target.get();
}
exports.loadNewest = loadNewest;