UNPKG

@lerna/publish

Version:

Publish packages in the current project

43 lines (42 loc) 5.44 kB
const Module = require("module"); const path = require("path"); const fs = require("fs"); const originalResolveFilename = Module._resolveFilename; const distPath = __dirname; const manifest = [{ "module": "@lerna/commands/bootstrap/*", "pattern": "libs/commands/bootstrap/src/*" }, { "module": "@lerna/commands/changed/*", "pattern": "libs/commands/changed/src/*" }, { "module": "@lerna/commands/publish/*", "pattern": "libs/commands/publish/src/*" }, { "module": "@lerna/commands/version/*", "pattern": "libs/commands/version/src/*" }, { "module": "@lerna/commands/create/*", "pattern": "libs/commands/create/src/*" }, { "module": "@lerna/commands/import/*", "pattern": "libs/commands/import/src/*" }, { "module": "@lerna/commands/clean/*", "pattern": "libs/commands/clean/src/*" }, { "module": "@lerna/commands/diff/*", "pattern": "libs/commands/diff/src/*" }, { "module": "@lerna/commands/exec/*", "pattern": "libs/commands/exec/src/*" }, { "module": "@lerna/commands/info/*", "pattern": "libs/commands/info/src/*" }, { "module": "@lerna/commands/init/*", "pattern": "libs/commands/init/src/*" }, { "module": "@lerna/commands/link/*", "pattern": "libs/commands/link/src/*" }, { "module": "@lerna/commands/list/*", "pattern": "libs/commands/list/src/*" }, { "module": "@lerna/commands/add/*", "pattern": "libs/commands/add/src/*" }, { "module": "@lerna/commands/run/*", "pattern": "libs/commands/run/src/*" }, { "module": "@lerna/test-helpers/*", "pattern": "libs/test-helpers/*" }, { "module": "@lerna/bootstrap", "exactMatch": "packages/legacy-structure/commands/bootstrap/src/index.js", "pattern": "packages/legacy-structure/commands/bootstrap/src/index.ts" }, { "module": "@lerna/commands/add", "exactMatch": "libs/commands/add/src/index.js", "pattern": "libs/commands/add/src/index.ts" }, { "module": "@lerna/commands/bootstrap", "exactMatch": "libs/commands/bootstrap/src/index.js", "pattern": "libs/commands/bootstrap/src/index.ts" }, { "module": "@lerna/commands/changed", "exactMatch": "libs/commands/changed/src/index.js", "pattern": "libs/commands/changed/src/index.ts" }, { "module": "@lerna/commands/clean", "exactMatch": "libs/commands/clean/src/index.js", "pattern": "libs/commands/clean/src/index.ts" }, { "module": "@lerna/commands/create", "exactMatch": "libs/commands/create/src/index.js", "pattern": "libs/commands/create/src/index.ts" }, { "module": "@lerna/commands/diff", "exactMatch": "libs/commands/diff/src/index.js", "pattern": "libs/commands/diff/src/index.ts" }, { "module": "@lerna/commands/exec", "exactMatch": "libs/commands/exec/src/index.js", "pattern": "libs/commands/exec/src/index.ts" }, { "module": "@lerna/commands/import", "exactMatch": "libs/commands/import/src/index.js", "pattern": "libs/commands/import/src/index.ts" }, { "module": "@lerna/commands/info", "exactMatch": "libs/commands/info/src/index.js", "pattern": "libs/commands/info/src/index.ts" }, { "module": "@lerna/commands/init", "exactMatch": "libs/commands/init/src/index.js", "pattern": "libs/commands/init/src/index.ts" }, { "module": "@lerna/commands/link", "exactMatch": "libs/commands/link/src/index.js", "pattern": "libs/commands/link/src/index.ts" }, { "module": "@lerna/commands/list", "exactMatch": "libs/commands/list/src/index.js", "pattern": "libs/commands/list/src/index.ts" }, { "module": "@lerna/commands/publish", "exactMatch": "libs/commands/publish/src/index.js", "pattern": "libs/commands/publish/src/index.ts" }, { "module": "@lerna/commands/run", "exactMatch": "libs/commands/run/src/index.js", "pattern": "libs/commands/run/src/index.ts" }, { "module": "@lerna/commands/version", "exactMatch": "libs/commands/version/src/index.js", "pattern": "libs/commands/version/src/index.ts" }, { "module": "@lerna/core", "exactMatch": "libs/core/src/index.js", "pattern": "libs/core/src/index.ts" }, { "module": "@lerna/create", "pattern": "packages/legacy-structure/commands/create" }, { "module": "@lerna/e2e-utils", "exactMatch": "libs/e2e-utils/src/index.js", "pattern": "libs/e2e-utils/src/index.ts" }, { "module": "@lerna/nx-plugin", "exactMatch": "libs/nx-plugin/src/index.js", "pattern": "libs/nx-plugin/src/index.ts" }, { "module": "@lerna/test-helpers", "exactMatch": "libs/test-helpers/src/index.js", "pattern": "libs/test-helpers/src/index.ts" }]; Module._resolveFilename = function(request, parent) { let found; for (const entry of manifest) { if (request === entry.module && entry.exactMatch) { const entry2 = manifest.find((x) => request === x.module || request.startsWith(x.module + "/")); const candidate = path.join(distPath, entry2.exactMatch); if (isFile(candidate)) { found = candidate; break; } } else { const re = new RegExp(entry.module.replace(/\*$/, "(?<rest>.*)")); const match = request.match(re); if (match?.groups) { const candidate = path.join(distPath, entry.pattern.replace("*", ""), match.groups.rest + ".js"); if (isFile(candidate)) { found = candidate; } } } } if (found) { const modifiedArguments = [found, ...[].slice.call(arguments, 1)]; return originalResolveFilename.apply(this, modifiedArguments); } else { return originalResolveFilename.apply(this, arguments); } }; function isFile(s) { try { return fs.statSync(s).isFile(); } catch (_e) { return false; } } require("./packages/legacy-structure/commands/publish/src/index.js");