Add eslint, prettier
This commit is contained in:
parent
281c6a4c45
commit
42547b9abf
|
@ -0,0 +1,10 @@
|
||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
|
||||||
|
[*.{js,json,yml}]
|
||||||
|
charset = utf-8
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
"root": true,
|
||||||
|
"parser": "@typescript-eslint/parser",
|
||||||
|
"plugins": ["@typescript-eslint"],
|
||||||
|
"rules": {
|
||||||
|
"@typescript-eslint/no-non-null-assertion": "off"
|
||||||
|
},
|
||||||
|
"extends": [
|
||||||
|
"eslint:recommended",
|
||||||
|
"plugin:@typescript-eslint/recommended",
|
||||||
|
"prettier"
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
.yarn/*
|
||||||
|
!.yarn/patches
|
||||||
|
!.yarn/plugins
|
||||||
|
!.yarn/releases
|
||||||
|
!.yarn/sdks
|
||||||
|
!.yarn/versions
|
||||||
|
|
||||||
|
# Swap the comments on the following lines if you don't wish to use zero-installs
|
||||||
|
# Documentation here: https://yarnpkg.com/features/zero-installs
|
||||||
|
!.yarn/cache
|
||||||
|
#.pnp.*
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,267 @@
|
||||||
|
import { URL, fileURLToPath, pathToFileURL } from "url";
|
||||||
|
import fs from "fs";
|
||||||
|
import path from "path";
|
||||||
|
import moduleExports, { Module } from "module";
|
||||||
|
|
||||||
|
var PathType;
|
||||||
|
(function (PathType2) {
|
||||||
|
PathType2[(PathType2["File"] = 0)] = "File";
|
||||||
|
PathType2[(PathType2["Portable"] = 1)] = "Portable";
|
||||||
|
PathType2[(PathType2["Native"] = 2)] = "Native";
|
||||||
|
})(PathType || (PathType = {}));
|
||||||
|
const npath = Object.create(path);
|
||||||
|
const ppath = Object.create(path.posix);
|
||||||
|
npath.cwd = () => process.cwd();
|
||||||
|
ppath.cwd = () => toPortablePath(process.cwd());
|
||||||
|
ppath.resolve = (...segments) => {
|
||||||
|
if (segments.length > 0 && ppath.isAbsolute(segments[0])) {
|
||||||
|
return path.posix.resolve(...segments);
|
||||||
|
} else {
|
||||||
|
return path.posix.resolve(ppath.cwd(), ...segments);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const contains = function (pathUtils, from, to) {
|
||||||
|
from = pathUtils.normalize(from);
|
||||||
|
to = pathUtils.normalize(to);
|
||||||
|
if (from === to) return `.`;
|
||||||
|
if (!from.endsWith(pathUtils.sep)) from = from + pathUtils.sep;
|
||||||
|
if (to.startsWith(from)) {
|
||||||
|
return to.slice(from.length);
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
npath.fromPortablePath = fromPortablePath;
|
||||||
|
npath.toPortablePath = toPortablePath;
|
||||||
|
npath.contains = (from, to) => contains(npath, from, to);
|
||||||
|
ppath.contains = (from, to) => contains(ppath, from, to);
|
||||||
|
const WINDOWS_PATH_REGEXP = /^([a-zA-Z]:.*)$/;
|
||||||
|
const UNC_WINDOWS_PATH_REGEXP = /^\/\/(\.\/)?(.*)$/;
|
||||||
|
const PORTABLE_PATH_REGEXP = /^\/([a-zA-Z]:.*)$/;
|
||||||
|
const UNC_PORTABLE_PATH_REGEXP = /^\/unc\/(\.dot\/)?(.*)$/;
|
||||||
|
function fromPortablePath(p) {
|
||||||
|
if (process.platform !== `win32`) return p;
|
||||||
|
let portablePathMatch, uncPortablePathMatch;
|
||||||
|
if ((portablePathMatch = p.match(PORTABLE_PATH_REGEXP)))
|
||||||
|
p = portablePathMatch[1];
|
||||||
|
else if ((uncPortablePathMatch = p.match(UNC_PORTABLE_PATH_REGEXP)))
|
||||||
|
p = `\\\\${uncPortablePathMatch[1] ? `.\\` : ``}${uncPortablePathMatch[2]}`;
|
||||||
|
else return p;
|
||||||
|
return p.replace(/\//g, `\\`);
|
||||||
|
}
|
||||||
|
function toPortablePath(p) {
|
||||||
|
if (process.platform !== `win32`) return p;
|
||||||
|
p = p.replace(/\\/g, `/`);
|
||||||
|
let windowsPathMatch, uncWindowsPathMatch;
|
||||||
|
if ((windowsPathMatch = p.match(WINDOWS_PATH_REGEXP)))
|
||||||
|
p = `/${windowsPathMatch[1]}`;
|
||||||
|
else if ((uncWindowsPathMatch = p.match(UNC_WINDOWS_PATH_REGEXP)))
|
||||||
|
p = `/unc/${uncWindowsPathMatch[1] ? `.dot/` : ``}${
|
||||||
|
uncWindowsPathMatch[2]
|
||||||
|
}`;
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
|
||||||
|
const builtinModules = new Set(
|
||||||
|
Module.builtinModules || Object.keys(process.binding(`natives`))
|
||||||
|
);
|
||||||
|
const isBuiltinModule = (request) =>
|
||||||
|
request.startsWith(`node:`) || builtinModules.has(request);
|
||||||
|
function readPackageScope(checkPath) {
|
||||||
|
const rootSeparatorIndex = checkPath.indexOf(npath.sep);
|
||||||
|
let separatorIndex;
|
||||||
|
do {
|
||||||
|
separatorIndex = checkPath.lastIndexOf(npath.sep);
|
||||||
|
checkPath = checkPath.slice(0, separatorIndex);
|
||||||
|
if (checkPath.endsWith(`${npath.sep}node_modules`)) return false;
|
||||||
|
const pjson = readPackage(checkPath + npath.sep);
|
||||||
|
if (pjson) {
|
||||||
|
return {
|
||||||
|
data: pjson,
|
||||||
|
path: checkPath,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
} while (separatorIndex > rootSeparatorIndex);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
function readPackage(requestPath) {
|
||||||
|
const jsonPath = npath.resolve(requestPath, `package.json`);
|
||||||
|
if (!fs.existsSync(jsonPath)) return null;
|
||||||
|
return JSON.parse(fs.readFileSync(jsonPath, `utf8`));
|
||||||
|
}
|
||||||
|
|
||||||
|
async function tryReadFile(path2) {
|
||||||
|
try {
|
||||||
|
return await fs.promises.readFile(path2, `utf8`);
|
||||||
|
} catch (error) {
|
||||||
|
if (error.code === `ENOENT`) return null;
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function tryParseURL(str, base) {
|
||||||
|
try {
|
||||||
|
return new URL(str, base);
|
||||||
|
} catch {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function getFileFormat(filepath) {
|
||||||
|
var _a, _b;
|
||||||
|
const ext = path.extname(filepath);
|
||||||
|
switch (ext) {
|
||||||
|
case `.mjs`: {
|
||||||
|
return `module`;
|
||||||
|
}
|
||||||
|
case `.cjs`: {
|
||||||
|
return `commonjs`;
|
||||||
|
}
|
||||||
|
case `.wasm`: {
|
||||||
|
throw new Error(`Unknown file extension ".wasm" for ${filepath}`);
|
||||||
|
}
|
||||||
|
case `.json`: {
|
||||||
|
throw new Error(`Unknown file extension ".json" for ${filepath}`);
|
||||||
|
}
|
||||||
|
case `.js`: {
|
||||||
|
const pkg = readPackageScope(filepath);
|
||||||
|
if (!pkg) return `commonjs`;
|
||||||
|
return (_a = pkg.data.type) != null ? _a : `commonjs`;
|
||||||
|
}
|
||||||
|
default: {
|
||||||
|
const isMain = process.argv[1] === filepath;
|
||||||
|
if (!isMain) return null;
|
||||||
|
const pkg = readPackageScope(filepath);
|
||||||
|
if (!pkg) return `commonjs`;
|
||||||
|
if (pkg.data.type === `module`) return null;
|
||||||
|
return (_b = pkg.data.type) != null ? _b : `commonjs`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function getFormat$1(resolved, context, defaultGetFormat) {
|
||||||
|
const url = tryParseURL(resolved);
|
||||||
|
if ((url == null ? void 0 : url.protocol) !== `file:`)
|
||||||
|
return defaultGetFormat(resolved, context, defaultGetFormat);
|
||||||
|
const format = getFileFormat(fileURLToPath(url));
|
||||||
|
if (format) {
|
||||||
|
return {
|
||||||
|
format,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return defaultGetFormat(resolved, context, defaultGetFormat);
|
||||||
|
}
|
||||||
|
|
||||||
|
async function getSource$1(urlString, context, defaultGetSource) {
|
||||||
|
const url = tryParseURL(urlString);
|
||||||
|
if ((url == null ? void 0 : url.protocol) !== `file:`)
|
||||||
|
return defaultGetSource(urlString, context, defaultGetSource);
|
||||||
|
return {
|
||||||
|
source: await fs.promises.readFile(fileURLToPath(url), `utf8`),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
async function load$1(urlString, context, defaultLoad) {
|
||||||
|
const url = tryParseURL(urlString);
|
||||||
|
if ((url == null ? void 0 : url.protocol) !== `file:`)
|
||||||
|
return defaultLoad(urlString, context, defaultLoad);
|
||||||
|
const filePath = fileURLToPath(url);
|
||||||
|
const format = getFileFormat(filePath);
|
||||||
|
if (!format) return defaultLoad(urlString, context, defaultLoad);
|
||||||
|
return {
|
||||||
|
format,
|
||||||
|
source: await fs.promises.readFile(filePath, `utf8`),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
const pathRegExp =
|
||||||
|
/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/;
|
||||||
|
const isRelativeRegexp = /^\.{0,2}\//;
|
||||||
|
async function resolve$1(originalSpecifier, context, defaultResolver) {
|
||||||
|
var _a;
|
||||||
|
const { findPnpApi } = moduleExports;
|
||||||
|
if (!findPnpApi || isBuiltinModule(originalSpecifier))
|
||||||
|
return defaultResolver(originalSpecifier, context, defaultResolver);
|
||||||
|
let specifier = originalSpecifier;
|
||||||
|
const url = tryParseURL(
|
||||||
|
specifier,
|
||||||
|
isRelativeRegexp.test(specifier) ? context.parentURL : void 0
|
||||||
|
);
|
||||||
|
if (url) {
|
||||||
|
if (url.protocol !== `file:`)
|
||||||
|
return defaultResolver(originalSpecifier, context, defaultResolver);
|
||||||
|
specifier = fileURLToPath(url);
|
||||||
|
}
|
||||||
|
const { parentURL, conditions = [] } = context;
|
||||||
|
const issuer = parentURL ? fileURLToPath(parentURL) : process.cwd();
|
||||||
|
const pnpapi =
|
||||||
|
(_a = findPnpApi(issuer)) != null ? _a : url ? findPnpApi(specifier) : null;
|
||||||
|
if (!pnpapi)
|
||||||
|
return defaultResolver(originalSpecifier, context, defaultResolver);
|
||||||
|
const dependencyNameMatch = specifier.match(pathRegExp);
|
||||||
|
let allowLegacyResolve = false;
|
||||||
|
if (dependencyNameMatch) {
|
||||||
|
const [, dependencyName, subPath] = dependencyNameMatch;
|
||||||
|
if (subPath === ``) {
|
||||||
|
const resolved = pnpapi.resolveToUnqualified(
|
||||||
|
`${dependencyName}/package.json`,
|
||||||
|
issuer
|
||||||
|
);
|
||||||
|
if (resolved) {
|
||||||
|
const content = await tryReadFile(resolved);
|
||||||
|
if (content) {
|
||||||
|
const pkg = JSON.parse(content);
|
||||||
|
allowLegacyResolve = pkg.exports == null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const result = pnpapi.resolveRequest(specifier, issuer, {
|
||||||
|
conditions: new Set(conditions),
|
||||||
|
extensions: allowLegacyResolve ? void 0 : [],
|
||||||
|
});
|
||||||
|
if (!result)
|
||||||
|
throw new Error(`Resolving '${specifier}' from '${issuer}' failed`);
|
||||||
|
const resultURL = pathToFileURL(result);
|
||||||
|
if (url) {
|
||||||
|
resultURL.search = url.search;
|
||||||
|
resultURL.hash = url.hash;
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
url: resultURL.href,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
const binding = process.binding(`fs`);
|
||||||
|
const originalfstat = binding.fstat;
|
||||||
|
const ZIP_FD = 2147483648;
|
||||||
|
binding.fstat = function (...args) {
|
||||||
|
const [fd, useBigint, req] = args;
|
||||||
|
if ((fd & ZIP_FD) !== 0 && useBigint === false && req === void 0) {
|
||||||
|
try {
|
||||||
|
const stats = fs.fstatSync(fd);
|
||||||
|
return new Float64Array([
|
||||||
|
stats.dev,
|
||||||
|
stats.mode,
|
||||||
|
stats.nlink,
|
||||||
|
stats.uid,
|
||||||
|
stats.gid,
|
||||||
|
stats.rdev,
|
||||||
|
stats.blksize,
|
||||||
|
stats.ino,
|
||||||
|
stats.size,
|
||||||
|
stats.blocks,
|
||||||
|
]);
|
||||||
|
} catch {}
|
||||||
|
}
|
||||||
|
return originalfstat.apply(this, args);
|
||||||
|
};
|
||||||
|
|
||||||
|
const [major, minor] = process.versions.node
|
||||||
|
.split(`.`)
|
||||||
|
.map((value) => parseInt(value, 10));
|
||||||
|
const hasConsolidatedHooks = major > 16 || (major === 16 && minor >= 12);
|
||||||
|
const resolve = resolve$1;
|
||||||
|
const getFormat = hasConsolidatedHooks ? void 0 : getFormat$1;
|
||||||
|
const getSource = hasConsolidatedHooks ? void 0 : getSource$1;
|
||||||
|
const load = hasConsolidatedHooks ? load$1 : void 0;
|
||||||
|
|
||||||
|
export { getFormat, getSource, load, resolve };
|
|
@ -0,0 +1 @@
|
||||||
|
{}
|
Binary file not shown.
BIN
.yarn/cache/@humanwhocodes-config-array-npm-0.9.5-030a025eae-8ba6281bc0.zip
vendored
Normal file
BIN
.yarn/cache/@humanwhocodes-config-array-npm-0.9.5-030a025eae-8ba6281bc0.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/@humanwhocodes-object-schema-npm-1.2.1-eb622b5d0e-a824a1ec31.zip
vendored
Normal file
BIN
.yarn/cache/@humanwhocodes-object-schema-npm-1.2.1-eb622b5d0e-a824a1ec31.zip
vendored
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
.yarn/cache/@typescript-eslint-eslint-plugin-npm-5.20.0-08fa09c394-276251535b.zip
vendored
Normal file
BIN
.yarn/cache/@typescript-eslint-eslint-plugin-npm-5.20.0-08fa09c394-276251535b.zip
vendored
Normal file
Binary file not shown.
Binary file not shown.
BIN
.yarn/cache/@typescript-eslint-scope-manager-npm-5.20.0-ee519ae64a-904fd43f55.zip
vendored
Normal file
BIN
.yarn/cache/@typescript-eslint-scope-manager-npm-5.20.0-ee519ae64a-904fd43f55.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/@typescript-eslint-type-utils-npm-5.20.0-d5fe2a0794-c9c436122b.zip
vendored
Normal file
BIN
.yarn/cache/@typescript-eslint-type-utils-npm-5.20.0-d5fe2a0794-c9c436122b.zip
vendored
Normal file
Binary file not shown.
Binary file not shown.
BIN
.yarn/cache/@typescript-eslint-typescript-estree-npm-5.20.0-81677dcbac-2b709292b7.zip
vendored
Normal file
BIN
.yarn/cache/@typescript-eslint-typescript-estree-npm-5.20.0-81677dcbac-2b709292b7.zip
vendored
Normal file
Binary file not shown.
Binary file not shown.
BIN
.yarn/cache/@typescript-eslint-visitor-keys-npm-5.20.0-579aaf29eb-1e1aa5f14f.zip
vendored
Normal file
BIN
.yarn/cache/@typescript-eslint-visitor-keys-npm-5.20.0-579aaf29eb-1e1aa5f14f.zip
vendored
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
.yarn/cache/json-stable-stringify-without-jsonify-npm-1.0.1-b65772b28b-cff44156dd.zip
vendored
Normal file
BIN
.yarn/cache/json-stable-stringify-without-jsonify-npm-1.0.1-b65772b28b-cff44156dd.zip
vendored
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue