UNPKG

@strapi/strapi

Version:

An open source headless CMS solution to create and manage your own API. It provides a powerful dashboard and features to make your life easier. Databases supported: MySQL, MariaDB, PostgreSQL, SQLite

39 lines (33 loc) 1.4 kB
'use strict'; var path = require('node:path'); var readPkgUp = require('read-pkg-up'); var resolveFrom = require('resolve-from'); function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } var path__default = /*#__PURE__*/_interopDefault(path); var readPkgUp__default = /*#__PURE__*/_interopDefault(readPkgUp); var resolveFrom__default = /*#__PURE__*/_interopDefault(resolveFrom); let adminPkgDir; /** * Package root of @strapi/admin — admin Vite aliases must resolve from here so pnpm * workspaces cannot pick up a hoisted incompatible major from another package * (e.g. @reduxjs/toolkit@2.x elsewhere while admin pins 1.9.x). */ const getAdminPkgDir = ()=>{ if (!adminPkgDir) { adminPkgDir = path__default.default.dirname(require.resolve('@strapi/admin/package.json')); } return adminPkgDir; }; /** * Resolve module to package root for use in aliases. * Ensures pnpm's strict node_modules structure can resolve packages when bundling plugin chunks. * * @internal */ const getModulePath = (mod)=>{ const modulePath = resolveFrom__default.default(getAdminPkgDir(), mod); const pkg = readPkgUp__default.default.sync({ cwd: path__default.default.dirname(modulePath) }); return pkg ? path__default.default.dirname(pkg.path) : modulePath; }; exports.getModulePath = getModulePath; //# sourceMappingURL=resolve-module.js.map