NRWL / NX Nestjs не будет переопределять глобальный tsconfig.json - PullRequest
0 голосов
/ 15 июня 2019

Я создал рабочее пространство nx и запустил внутри него проект nestjs, основанный на проекте https://github.com/nartc/nest-mean.
При первой попытке обслуживания проекта он компилируется, но не запускается с сообщением об ошибке

/mnt/LinuxData/linuxDev/nest-mean-nrwl/node_modules/config/lib/config.js:844
    throw new Error("Cannot parse config file: '" + fullFilename + "': " + e3);
          ^
Error: Cannot parse config file: '/mnt/LinuxData/linuxDev/nest-mean-nrwl/config/development.ts': SyntaxError: Unexpected token export
    at Config.util.parseFile (/mnt/LinuxData/linuxDev/nest-mean-nrwl/node_modules/config/lib/config.js:844:11)
    at /mnt/LinuxData/linuxDev/nest-mean-nrwl/node_modules/config/lib/config.js:600:28
    at Array.forEach (<anonymous>)
    at /mnt/LinuxData/linuxDev/nest-mean-nrwl/node_modules/config/lib/config.js:596:14
    at Array.forEach (<anonymous>)
    at Config.util.loadFileConfigs (/mnt/LinuxData/linuxDev/nest-mean-nrwl/node_modules/config/lib/config.js:595:13)
    at new Config (/mnt/LinuxData/linuxDev/nest-mean-nrwl/node_modules/config/lib/config.js:136:27)
    at Object.<anonymous> (/mnt/LinuxData/linuxDev/nest-mean-nrwl/node_modules/config/lib/config.js:1649:31)
    at Module._compile (internal/modules/cjs/loader.js:701:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
    at Module.load (internal/modules/cjs/loader.js:600:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
    at Function.Module._load (internal/modules/cjs/loader.js:531:3)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:22:18)
    at Object.config (/mnt/LinuxData/linuxDev/nest-mean-nrwl/dist/apps/mean-be/webpack:/external "config":1:1)

Я поиграл с кодом в отдельном проекте nestjs и обнаружил, что tsconfig.json требует, чтобы модуль был commonjs вместо esnext.

Я предполагал, что переопределить этот параметр в среднестатистическом tsconfig.json будет просто. Файл apps / mean-be / tsconfig.json становится:

{
  "extends": "../../tsconfig.json",
  "compilerOptions": {
  "module": "commonjs",  *<-- override to module added here*.
    "types": [
      "node",
      "jest"
    ]
  },
  "include": [
    "**/*.ts"
  ]
}

но похоже, что это ничего не делает, оно компилируется, но не запускается с тем же сообщением об ошибке, что и раньше.

Мне нужно изменить настройку в глобальном файле tsconfig.json, чтобы tsconfig.json стал:

{
  "compileOnSave": false,
  "compilerOptions": {
    "rootDir": ".",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "importHelpers": true,
    "target": "es2015",
    "module": "commonjs",           <-- changed from esnext to commonjs 
    "typeRoots": ["node_modules/@types"],
    "lib": ["es2017", "dom"],
    "skipLibCheck": true,
    "skipDefaultLibCheck": true,
    "baseUrl": ".",
    "paths": {}
  },
  "exclude": ["node_modules", "tmp"]
}

(Полная копия проекта доступна по адресу https://github.com/DouglasWebster/nest-mean-nrwl)

Я что-то не так делаю, пытаясь переопределить модуль в файле проекта tsconfig.json, или это ошибка, о которой следует сообщить?

Кроме того, если это так, как оно должно работать, то оставит ли глобальный tsconfig.json с "module": "commonjs" проблемы при попытке добавить угловой сервер переднего плана в проект?

Любая помощь будет с благодарностью, спасибо.

...