Refactor routing in App component to enhance navigation and improve error handling by integrating dynamic routes and updating the NotFound route.
This commit is contained in:
88
node_modules/find-yarn-workspace-root2/core.js
generated
vendored
Normal file
88
node_modules/find-yarn-workspace-root2/core.js
generated
vendored
Normal file
@@ -0,0 +1,88 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.readPackageJSON = exports.extractWorkspaces = exports.isMatchWorkspaces = exports.checkWorkspaces = exports.findWorkspaceRoot = void 0;
|
||||
const path_1 = __importDefault(require("path"));
|
||||
const pkg_dir_1 = __importDefault(require("pkg-dir"));
|
||||
const fs_1 = require("fs");
|
||||
const micromatch_1 = __importDefault(require("micromatch"));
|
||||
/**
|
||||
* Adapted from:
|
||||
* https://github.com/yarnpkg/yarn/blob/ddf2f9ade211195372236c2f39a75b00fa18d4de/src/config.js#L612
|
||||
* @param {string} [initial]
|
||||
* @return {string|null}
|
||||
*/
|
||||
function findWorkspaceRoot(initial) {
|
||||
if (!initial) {
|
||||
initial = process.cwd();
|
||||
}
|
||||
let _pkg = pkg_dir_1.default.sync(initial);
|
||||
if (!_pkg) {
|
||||
return null;
|
||||
}
|
||||
initial = path_1.default.normalize(_pkg);
|
||||
let previous = null;
|
||||
let current = initial;
|
||||
do {
|
||||
const manifest = readPackageJSON(current);
|
||||
const workspaces = extractWorkspaces(manifest);
|
||||
let { done, found } = checkWorkspaces(current, initial);
|
||||
if (done) {
|
||||
return found;
|
||||
}
|
||||
previous = current;
|
||||
current = path_1.default.dirname(current);
|
||||
} while (current !== previous);
|
||||
return null;
|
||||
}
|
||||
exports.findWorkspaceRoot = findWorkspaceRoot;
|
||||
function checkWorkspaces(current, initial) {
|
||||
const manifest = readPackageJSON(current);
|
||||
const workspaces = extractWorkspaces(manifest);
|
||||
let done = false;
|
||||
let found;
|
||||
let relativePath;
|
||||
if (workspaces) {
|
||||
done = true;
|
||||
relativePath = path_1.default.relative(current, initial);
|
||||
if (relativePath === '' || isMatchWorkspaces(relativePath, workspaces)) {
|
||||
found = current;
|
||||
}
|
||||
else {
|
||||
found = null;
|
||||
}
|
||||
}
|
||||
return {
|
||||
done,
|
||||
found,
|
||||
relativePath,
|
||||
};
|
||||
}
|
||||
exports.checkWorkspaces = checkWorkspaces;
|
||||
function isMatchWorkspaces(relativePath, workspaces) {
|
||||
let ls = micromatch_1.default([relativePath], workspaces);
|
||||
return ls.length > 0;
|
||||
}
|
||||
exports.isMatchWorkspaces = isMatchWorkspaces;
|
||||
function extractWorkspaces(manifest) {
|
||||
const workspaces = (manifest || {}).workspaces;
|
||||
return (workspaces && workspaces.packages) || (Array.isArray(workspaces) ? workspaces : null);
|
||||
}
|
||||
exports.extractWorkspaces = extractWorkspaces;
|
||||
function readPackageJSON(dir) {
|
||||
const file = path_1.default.join(dir, 'package.json');
|
||||
if (fs_1.existsSync(file)) {
|
||||
return JSON.parse(fs_1.readFileSync(file, 'utf8'));
|
||||
}
|
||||
return null;
|
||||
}
|
||||
exports.readPackageJSON = readPackageJSON;
|
||||
findWorkspaceRoot.findWorkspaceRoot = findWorkspaceRoot;
|
||||
findWorkspaceRoot.readPackageJSON = readPackageJSON;
|
||||
findWorkspaceRoot.extractWorkspaces = extractWorkspaces;
|
||||
findWorkspaceRoot.isMatchWorkspaces = isMatchWorkspaces;
|
||||
findWorkspaceRoot.default = findWorkspaceRoot;
|
||||
exports.default = findWorkspaceRoot;
|
||||
//# sourceMappingURL=core.js.map
|
Reference in New Issue
Block a user