nrwl nx - Använda Bree med NX-monorepo och TypeScript


Jag skulle vilja köra Bree som en del av ett monorepo. Så småningom bör denna applikation kunna köras i en Docker-container. Jag har satt upp Bree som en applikation (apps/application), där jag skulle vilja ladda ett bibliotek (libs/lib). I applikationens rot (index.ts) är detta bibliotek tillgängligt, men det hittas inte i jobs/job.ts. Min gissning är att det har något att göra med de workers som Bree använder, men jag har inte hittat något relaterat till mitt problem.

Felet jag får när jag kör nx serve application är:

Worker for job "job" had an error {
  err: [worker eval]:2
      console.log((0, lib_1.lib)());
                      ^
  
  ReferenceError: lib_1 is not defined

Jag har satt upp ett demoförråd, men jag kommer också att posta några relevanta filer här:

app/apps/project.json:

{
  "root": "apps/application",
  "sourceRoot": "apps/application/src",
  "projectType": "application",
  "targets": {
    "build": {
      "executor": "@nrwl/node:build",
      "outputs": ["{options.outputPath}"],
      "options": {
        "outputPath": "dist/apps/application",
        "main": "apps/application/src/index.ts",
        "tsConfig": "apps/application/tsconfig.app.json"
      },
      "dependsOn": [
        {
          "target": "build",
          "projects": "dependencies"
        }
      ]
    },
    "serve": {
      "executor": "@nrwl/node:execute",
      "options": {
        "buildTarget": "application:build"
      }
    },
    "lint": {
      "executor": "@nrwl/linter:eslint",
      "outputs": ["{options.outputFile}"],
      "options": {
        "lintFilePatterns": ["apps/application/**/*.ts"]
      }
    },
    "test": {
      "executor": "@nrwl/jest:jest",
      "outputs": ["coverage/apps/application"],
      "options": {
        "jestConfig": "apps/application/jest.config.js",
        "passWithNoTests": true
      }
    }
  },
  "tags": []
}
app/application/src/index.ts
import Bree from 'bree';
import { lib } from '@nx-bree-typescript/lib';

import { job } from './jobs/job';

console.log(lib()); // <--- works

const bree = new Bree({
  root: false,
  jobs: [job],
});

bree.start();
apps/application/jobs/job.ts
import { lib } from '@nx-bree-typescript/lib';

export const job = () => {
  console.log(lib()); // doesn't work
};