use pnp
This commit is contained in:
27491
.pnp.cjs
generated
Executable file
27491
.pnp.cjs
generated
Executable file
File diff suppressed because one or more lines are too long
273
.pnp.loader.mjs
generated
Normal file
273
.pnp.loader.mjs
generated
Normal file
@@ -0,0 +1,273 @@
|
|||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let entrypointPath = null;
|
||||||
|
function setEntrypointPath(file) {
|
||||||
|
entrypointPath = file;
|
||||||
|
}
|
||||||
|
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: {
|
||||||
|
if (entrypointPath !== filepath)
|
||||||
|
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, nextLoad) {
|
||||||
|
const url = tryParseURL(urlString);
|
||||||
|
if ((url == null ? void 0 : url.protocol) !== `file:`)
|
||||||
|
return nextLoad(urlString, context, nextLoad);
|
||||||
|
const filePath = fileURLToPath(url);
|
||||||
|
const format = getFileFormat(filePath);
|
||||||
|
if (!format)
|
||||||
|
return nextLoad(urlString, context, nextLoad);
|
||||||
|
return {
|
||||||
|
format,
|
||||||
|
source: await fs.promises.readFile(filePath, `utf8`),
|
||||||
|
shortCircuit: true
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/;
|
||||||
|
const isRelativeRegexp = /^\.{0,2}\//;
|
||||||
|
async function resolve$1(originalSpecifier, context, nextResolve) {
|
||||||
|
var _a;
|
||||||
|
const {findPnpApi} = moduleExports;
|
||||||
|
if (!findPnpApi || isBuiltinModule(originalSpecifier))
|
||||||
|
return nextResolve(originalSpecifier, context, nextResolve);
|
||||||
|
let specifier = originalSpecifier;
|
||||||
|
const url = tryParseURL(specifier, isRelativeRegexp.test(specifier) ? context.parentURL : void 0);
|
||||||
|
if (url) {
|
||||||
|
if (url.protocol !== `file:`)
|
||||||
|
return nextResolve(originalSpecifier, context, nextResolve);
|
||||||
|
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 nextResolve(originalSpecifier, context, nextResolve);
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
if (!parentURL)
|
||||||
|
setEntrypointPath(fileURLToPath(resultURL));
|
||||||
|
return {
|
||||||
|
url: resultURL.href,
|
||||||
|
shortCircuit: true
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
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 };
|
||||||
@@ -1,2 +1,2 @@
|
|||||||
nodeLinker: node-modules
|
nodeLinker: pnp
|
||||||
yarnPath: .yarn/releases/yarn-3.2.2.cjs
|
yarnPath: .yarn/releases/yarn-3.2.2.cjs
|
||||||
|
|||||||
@@ -12,6 +12,8 @@
|
|||||||
"load-script": "^1.0.0",
|
"load-script": "^1.0.0",
|
||||||
"markdown-it": "^13.0.0",
|
"markdown-it": "^13.0.0",
|
||||||
"pressure": "^2.1.2",
|
"pressure": "^2.1.2",
|
||||||
|
"prop-types": "15.8.1",
|
||||||
|
"punycode": "2.1.1",
|
||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
"react-dom": "^18.2.0",
|
"react-dom": "^18.2.0",
|
||||||
"react-lazyload": "^3.2.0",
|
"react-lazyload": "^3.2.0",
|
||||||
@@ -44,6 +46,7 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"eslint": "8.21.0",
|
"eslint": "8.21.0",
|
||||||
"eslint-config-prettier": "^8.5.0",
|
"eslint-config-prettier": "^8.5.0",
|
||||||
|
"eslint-config-react-app": "^7.0.1",
|
||||||
"eslint-plugin-prettier": "^4.2.1",
|
"eslint-plugin-prettier": "^4.2.1",
|
||||||
"eslint-plugin-react": "7.30.1",
|
"eslint-plugin-react": "7.30.1",
|
||||||
"prettier": "^2.7.1"
|
"prettier": "^2.7.1"
|
||||||
|
|||||||
@@ -10550,7 +10550,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"prop-types@npm:^15.8.1":
|
"prop-types@npm:15.8.1, prop-types@npm:^15.8.1":
|
||||||
version: 15.8.1
|
version: 15.8.1
|
||||||
resolution: "prop-types@npm:15.8.1"
|
resolution: "prop-types@npm:15.8.1"
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -10578,7 +10578,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"punycode@npm:^2.1.0, punycode@npm:^2.1.1":
|
"punycode@npm:2.1.1, punycode@npm:^2.1.0, punycode@npm:^2.1.1":
|
||||||
version: 2.1.1
|
version: 2.1.1
|
||||||
resolution: "punycode@npm:2.1.1"
|
resolution: "punycode@npm:2.1.1"
|
||||||
checksum: 823bf443c6dd14f669984dea25757b37993f67e8d94698996064035edd43bed8a5a17a9f12e439c2b35df1078c6bec05a6c86e336209eb1061e8025c481168e8
|
checksum: 823bf443c6dd14f669984dea25757b37993f67e8d94698996064035edd43bed8a5a17a9f12e439c2b35df1078c6bec05a6c86e336209eb1061e8025c481168e8
|
||||||
@@ -12684,6 +12684,7 @@ __metadata:
|
|||||||
copy-to-clipboard: ^3.3.1
|
copy-to-clipboard: ^3.3.1
|
||||||
eslint: 8.21.0
|
eslint: 8.21.0
|
||||||
eslint-config-prettier: ^8.5.0
|
eslint-config-prettier: ^8.5.0
|
||||||
|
eslint-config-react-app: ^7.0.1
|
||||||
eslint-plugin-prettier: ^4.2.1
|
eslint-plugin-prettier: ^4.2.1
|
||||||
eslint-plugin-react: 7.30.1
|
eslint-plugin-react: 7.30.1
|
||||||
gh-pages: ^4.0.0
|
gh-pages: ^4.0.0
|
||||||
@@ -12694,6 +12695,8 @@ __metadata:
|
|||||||
markdown-it: ^13.0.0
|
markdown-it: ^13.0.0
|
||||||
pressure: ^2.1.2
|
pressure: ^2.1.2
|
||||||
prettier: ^2.7.1
|
prettier: ^2.7.1
|
||||||
|
prop-types: 15.8.1
|
||||||
|
punycode: 2.1.1
|
||||||
react: ^18.2.0
|
react: ^18.2.0
|
||||||
react-dom: ^18.2.0
|
react-dom: ^18.2.0
|
||||||
react-lazyload: ^3.2.0
|
react-lazyload: ^3.2.0
|
||||||
|
|||||||
Reference in New Issue
Block a user