Веб-пакет с несколькими проектами typscript в рабочих областях yarn

#typescript #webpack #yarn-workspaces

Вопрос:

У меня есть настройка рабочих пространств пряжи. В нем у меня есть 3 рабочих пространства в зависимости от другого:

  • ботинок (электрон)
  • основной (использует react)
  • моя основная библиотека (использует три js) «forkengine-core»

Оба написаны на машинке. Теперь для разработки я хотел бы обслуживать «основной» проект с помощью webpack, который запускается правильно, но почему-то не может получить доступ к другой рабочей области во время выполнения. Даже если это сработает, я бы хотел разместить обслуживаемую страницу через electron.

При прямом доступе к обслуживаемой странице (локальный хост:9000) Я получаю:

 external "react":1 Uncaught ReferenceError: require is not defined
    at Object.react (external "react":1)
    at __webpack_require__ (bootstrap:19)
    at Object../src/renderer.tsx (renderer.tsx:1)
    at __webpack_require__ (bootstrap:19)
    at startup:4
    at startup:5
 

При доступе к нему через электрон я получаю

 Uncaught Error: Cannot find module 'forkengine-core/src/SceneManager'
Require stack:
- electron/js2c/renderer_init
    at Module._resolveFilename (internal/modules/cjs/loader.js:887)
    at Function.o._resolveFilename (electron/js2c/renderer_init.js:33)
    at Module._load (internal/modules/cjs/loader.js:732)
    at Function.f._load (electron/js2c/asar_bundle.js:5)
    at Function.o._load (electron/js2c/renderer_init.js:33)
    at Module.require (internal/modules/cjs/loader.js:959)
    at require (internal/modules/cjs/helpers.js:88)
    at Object.forkengine-core/src/SceneManager (SceneManager":1)
    at __webpack_require__ (bootstrap:19)
    at Object../src/Scene.tsx (Scene.tsx:6)
 

Структура моего проекта выглядит следующим образом:

Иерархия

My wepack config for the react module is: https://hastebin.com/ocayihaqes.typescript

EDIT: if I remove the nodeExternals it will load at least something though all my core classes error on compile

 ERROR in /home/gerolmed/forkengine/forkengine-template/modules/forkengine-core/src/GameObject.ts
../forkengine-core/src/GameObject.ts 3:35-68
[tsl] ERROR in /home/gerolmed/forkengine/forkengine-template/modules/forkengine-core/src/GameObject.ts(3,36)
      TS6059: File '/home/gerolmed/forkengine/forkengine-template/modules/forkengine-core/src/components/TransformComponent.ts' is not under 'rootDir' '/home/gerolmed/forkengine/forkengine-template/modules/main/src'. 'rootDir' is expected to contain all source files.
  The file is in the program because:
    Imported via "./components/TransformComponent" from file '/home/gerolmed/forkengine/forkengine-template/modules/forkengine-core/src/GameObject.ts'
    Imported via "./components/TransformComponent" from file '/home/gerolmed/forkengine/forkengine-template/modules/forkengine-core/src/GameObject.ts'
    Root file specified for compilation
 @ ../forkengine-core/src/SceneManager.ts 5:19-42
 @ ./src/renderer.tsx 9:21-64