У меня есть проект машинописного текста, который я пытаюсь создать с помощью rollup и @ rollup / plugin-typescript. Проект строится, за исключением случаев, когда я импортирую модуль ../src/lib/pages.
Репозиторий для воспроизведения доступен здесь: https://github.com/igorovic/mangoost
Проблема возникает в файле: cli/cli.ts
.
Ошибка
[!] Error: Unexpected token (Note that you need plugins to import files that are not JavaScript)
src/lib/filesystem.ts (4:29)
2: import path from 'path';
3:
4: export function WalkSync(Path: string, prefix?: string, options={ignoreDirs: false}){
^
5: let Files: string[] = [];
6: let Listing = fs.readdirSync(Path, {withFileTypes: true});
Error: Unexpected token (Note that you need plugins to import files that are not JavaScript)
at error (/Users/gor00/DEV/mangoost/node_modules/rollup/dist/shared/rollup.js:5195:30)
at Module.error (/Users/gor00/DEV/mangoost/node_modules/rollup/dist/shared/rollup.js:9676:16)
at tryParse (/Users/gor00/DEV/mangoost/node_modules/rollup/dist/shared/rollup.js:9590:23)
at Module.setSource (/Users/gor00/DEV/mangoost/node_modules/rollup/dist/shared/rollup.js:9982:30)
at ModuleLoader.addModuleSource (/Users/gor00/DEV/mangoost/node_modules/rollup/dist/shared/rollup.js:18101:20)
at async ModuleLoader.fetchModule (/Users/gor00/DEV/mangoost/node_modules/rollup/dist/shared/rollup.js:18155:9)
at async Promise.all (index 1)
at async ModuleLoader.fetchStaticDependencies (/Users/gor00/DEV/mangoost/node_modules/rollup/dist/shared/rollup.js:18179:34)
at async Promise.all (index 0)
at async ModuleLoader.fetchModule (/Users/gor00/DEV/mangoost/node_modules/rollup/dist/shared/rollup.js:18156:9)
Как воспроизвести
Раскомментируйте строки в cli/cli.ts
//import { pages } from '../src/lib/pages';
//console.log(pages());
Запустите npm run build
После целого дня поисков повсюду я не нашел ни малейшего намека на то, что может вызвать эту ошибку.
В конце концов я решил свою проблему, используя два отдельных
tsconfig.json
, один для сборки пакета с помощью Rollup, а другой для преобразования файлов*.ts
с помощью инструмента машинописного текстаtsc
cli.Основная проблема заключалась в том, чтобы понять, что параметр конфигурации @ rollup / plugin-typescript
inlude
не имеет отношения к включению параметраtsconfig.json
. Он используется для какого-то внутреннего механизма, в который я не копался.