mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-15 06:33:55 +01:00
Merge pull request #34850 from overleaf/acf-ar-yarn-pnp-redux
[monorepo] yarn pnp redux GitOrigin-RevId: fb04cab879b04ead2665b5e985a44053ceea33f3
This commit is contained in:
@@ -51,13 +51,11 @@ globSync(
|
||||
})
|
||||
|
||||
function getModuleDirectory(moduleName) {
|
||||
const entrypointPath = require.resolve(moduleName)
|
||||
const suffix = `node_modules/${moduleName}`
|
||||
const idx = entrypointPath.indexOf(suffix)
|
||||
if (idx === -1) {
|
||||
throw new Error(`could not find Node module: ${moduleName}`)
|
||||
try {
|
||||
return path.dirname(require.resolve(`${moduleName}/package.json`))
|
||||
} catch (err) {
|
||||
throw new Error(`could not find Node module: ${moduleName}`, { cause: err })
|
||||
}
|
||||
return entrypointPath.slice(0, idx + suffix.length)
|
||||
}
|
||||
|
||||
const mathjaxDir = getModuleDirectory('mathjax')
|
||||
@@ -314,6 +312,21 @@ module.exports = {
|
||||
// Ensure all packages use the same jQuery instance (prevents duplicate
|
||||
// copies from Yarn hoisting breaking jQuery plugins like daterangepicker)
|
||||
jquery: require.resolve('jquery'),
|
||||
// Under Yarn PnP, babel-injected core-js polyfill imports cannot be
|
||||
// resolved from third-party packages (e.g. @uppy, pdfjs-dist) because
|
||||
// they don't declare core-js as a dependency. Alias to the web
|
||||
// workspace's copy so all packages can resolve it.
|
||||
'core-js': getModuleDirectory('core-js'),
|
||||
// writefull's tsconfig uses importHelpers: true, which emits tslib
|
||||
// imports that must be resolvable from the web workspace.
|
||||
tslib: getModuleDirectory('tslib'),
|
||||
// Under PnP, packages like cypress/react that import react/react-dom
|
||||
// can't resolve them from their own scope. Alias to web's copies.
|
||||
react: getModuleDirectory('react'),
|
||||
'react-dom': getModuleDirectory('react-dom'),
|
||||
// ai-sdk packages declare zod as a peer dep but PnP can't resolve it
|
||||
// from their scope in the Docker build.
|
||||
zod: getModuleDirectory('zod'),
|
||||
},
|
||||
// symlinks: false, // enable this while using `npm link`
|
||||
extensions: ['.js', '.jsx', '.ts', '.tsx', '.mjs', '.cjs', '.json'],
|
||||
|
||||
Reference in New Issue
Block a user