Das neueste rpt2 (0.24.1) löst keine ts-Dateien aus js-Dateien auf.
Dies funktioniert unter rpt2 0.22.1 und früher.
import typescript from "rollup-plugin-typescript2";
import commonjs from "rollup-plugin-commonjs";
import autoExternal from "rollup-plugin-auto-external";
const OUTPUT_DIR = process.env.OUTPUT_DIR || "build";
export default {
input: ["src/processors/new-message-processor.js"]
output: {
dir: OUTPUT_DIR,
format: "cjs"
},
external: ["nanoid/async"], // this one doesn't autoExtenal properly
plugins: [
autoExternal({
builtins: true // handles nodeJS builtins
}),
commonjs(),
typescript({
typescript: require("typescript"),
verbosity: 3
})
]
};
{
"compilerOptions": {
"module": "ESNext",
"allowJs": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"moduleResolution": "node",
"noImplicitAny": true,
"outDir": "./build",
"target": "es2018",
"baseUrl": "./src"
},
"include": ["src/**/*"],
"exclude": ["node_modules", "build"]
}
Versagen
src/processors/new-message-processor.js → build...
rpt2: built-in options overrides: {
"noEmitHelpers": false,
"importHelpers": true,
"noResolve": false,
"noEmit": false,
"inlineSourceMap": false,
"outDir": "/Users/kylejohnson/Demeter/backend/node_modules/.cache/rollup-plugin-typescript2/placeholder",
"moduleResolution": 2,
"allowNonTsExtensions": true
}
rpt2: parsed tsconfig: {
"options": {
"module": 99,
"allowJs": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"moduleResolution": 2,
"noImplicitAny": true,
"outDir": "/Users/kylejohnson/Demeter/backend/node_modules/.cache/rollup-plugin-typescript2/placeholder",
"target": 5,
"baseUrl": "/Users/kylejohnson/Demeter/backend/src",
"configFilePath": "/Users/kylejohnson/Demeter/backend/tsconfig.json",
"noEmitHelpers": false,
"importHelpers": true,
"noResolve": false,
"noEmit": false,
"inlineSourceMap": false,
"allowNonTsExtensions": true
},
"fileNames": [
// these don't differ between runs
],
"typeAcquisition": {
"enable": false,
"include": [],
"exclude": []
},
"raw": {
"compilerOptions": {
"module": "ESNext",
"allowJs": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"moduleResolution": "node",
"noImplicitAny": true,
"outDir": "./build",
"target": "es2018",
"baseUrl": "./src"
},
"include": [
"src/**/*"
],
"exclude": [
"node_modules",
"build"
],
"compileOnSave": false
},
"errors": [],
"wildcardDirectories": {
"/users/kylejohnson/demeter/backend/src": 1
},
"compileOnSave": false,
"configFileSpecs": {
"includeSpecs": [
"src/**/*"
],
"excludeSpecs": [
"node_modules",
"build"
],
"validatedIncludeSpecs": [
"src/**/*"
],
"validatedExcludeSpecs": [
"node_modules",
"build"
],
"wildcardDirectories": {
"/users/kylejohnson/demeter/backend/src": 1
}
}
}
rpt2: typescript version: 3.6.2
rpt2: tslib version: 1.10.0
rpt2: rollup version: 1.21.2
rpt2: rollup-plugin-typescript2 version: 0.24.1
rpt2: plugin options:
{
"typescript": "version 3.6.2",
"verbosity": 3,
"check": true,
"clean": false,
"cacheRoot": "/Users/kylejohnson/Demeter/backend/node_modules/.cache/rollup-plugin-typescript2",
"include": [
"*.ts+(|x)",
"**/*.ts+(|x)"
],
"exclude": [
"*.d.ts",
"**/*.d.ts"
],
"abortOnError": true,
"rollupCommonJSResolveHack": false,
"useTsconfigDeclarationDir": false,
"tsconfigOverride": {},
"transformers": [],
"tsconfigDefaults": {},
"objectHashIgnoreUnknownHack": false
}
rpt2: rollup config:
{
"chunkGroupingSize": 5000,
"experimentalCacheExpiry": 10,
"external": [
// from node_modules, doesn't vary between runs
],
"inlineDynamicImports": false,
"input": [
"src/processors/new-message-processor.js"
],
"perf": false,
"plugins": [
{
"name": "auto-external"
},
{
"name": "commonjs"
},
{
"name": "rpt2"
}
],
"strictDeprecations": false
}
rpt2: tsconfig path: /Users/kylejohnson/Demeter/backend/tsconfig.json
rpt2: included:
[
"*.ts+(|x)",
"**/*.ts+(|x)"
]
rpt2: excluded:
[
"*.d.ts",
"**/*.d.ts"
]
[!] Error: Could not resolve '../utils' from src/processors/new-message-processor.js
Error: Could not resolve '../utils' from src/processors/new-message-processor.js
at error (/Users/kylejohnson/Demeter/backend/node_modules/rollup/dist/rollup.js:9558:30)
at ModuleLoader.handleMissingImports (/Users/kylejohnson/Demeter/backend/node_modules/rollup/dist/rollup.js:16628:17)
at ModuleLoader.<anonymous> (/Users/kylejohnson/Demeter/backend/node_modules/rollup/dist/rollup.js:16679:26)
at Generator.next (<anonymous>)
at fulfilled (/Users/kylejohnson/Demeter/backend/node_modules/rollup/dist/rollup.js:40:28)
error Command failed with exit code 1.
Arbeiten
src/processors/new-message-processor.js → build...
rpt2: built-in options overrides: {
"noEmitHelpers": false,
"importHelpers": true,
"noResolve": false,
"noEmit": false,
"inlineSourceMap": false,
"outDir": "/Users/kylejohnson/Demeter/backend/.rpt2_cache/placeholder",
"moduleResolution": 2,
"allowNonTsExtensions": true
}
rpt2: parsed tsconfig: {
"options": {
"module": 99,
"allowJs": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"moduleResolution": 2,
"noImplicitAny": true,
"outDir": "/Users/kylejohnson/Demeter/backend/.rpt2_cache/placeholder",
"target": 5,
"baseUrl": "/Users/kylejohnson/Demeter/backend/src",
"configFilePath": "/Users/kylejohnson/Demeter/backend/tsconfig.json",
"noEmitHelpers": false,
"importHelpers": true,
"noResolve": false,
"noEmit": false,
"inlineSourceMap": false,
"allowNonTsExtensions": true
},
"fileNames": [
// same as above
],
"typeAcquisition": {
"enable": false,
"include": [],
"exclude": []
},
"raw": {
"compilerOptions": {
"module": "ESNext",
"allowJs": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"moduleResolution": "node",
"noImplicitAny": true,
"outDir": "./build",
"target": "es2018",
"baseUrl": "./src"
},
"include": [
"src/**/*"
],
"exclude": [
"node_modules",
"build"
],
"compileOnSave": false
},
"errors": [],
"wildcardDirectories": {
"/users/kylejohnson/demeter/backend/src": 1
},
"compileOnSave": false,
"configFileSpecs": {
"includeSpecs": [
"src/**/*"
],
"excludeSpecs": [
"node_modules",
"build"
],
"validatedIncludeSpecs": [
"src/**/*"
],
"validatedExcludeSpecs": [
"node_modules",
"build"
],
"wildcardDirectories": {
"/users/kylejohnson/demeter/backend/src": 1
}
}
}
rpt2: typescript version: 3.6.2
rpt2: tslib version: 1.10.0
rpt2: rollup version: 1.21.2
rpt2: rollup-plugin-typescript2 version: 0.22.1
rpt2: plugin options:
{
"typescript": "version 3.6.2",
"verbosity": 3,
"check": true,
"clean": false,
"cacheRoot": "/Users/kylejohnson/Demeter/backend/.rpt2_cache",
"include": [
"*.ts+(|x)",
"**/*.ts+(|x)"
],
"exclude": [
"*.d.ts",
"**/*.d.ts"
],
"abortOnError": true,
"rollupCommonJSResolveHack": false,
"useTsconfigDeclarationDir": false,
"tsconfigOverride": {},
"transformers": [],
"tsconfigDefaults": {},
"objectHashIgnoreUnknownHack": false
}
rpt2: rollup config:
{
"chunkGroupingSize": 5000,
"experimentalCacheExpiry": 10,
"external": [
// same as above
],
"inlineDynamicImports": false,
"input": [
"src/processors/new-message-processor.js"
],
"perf": false,
"plugins": [
{
"name": "auto-external"
},
{
"name": "commonjs"
},
{
"name": "rpt2"
}
],
"strictDeprecations": false
}
rpt2: tsconfig path: /Users/kylejohnson/Demeter/backend/tsconfig.json
rpt2: included:
[
"*.ts+(|x)",
"**/*.ts+(|x)"
]
rpt2: excluded:
[
"*.d.ts",
"**/*.d.ts"
]
rpt2: Ambient types:
rpt2: /Users/kylejohnson/Demeter/backend/src/global.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/accepts/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/babel__core/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/babel__generator/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/babel__template/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/babel__traverse/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/bl/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/body-parser/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/caseless/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/connect/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/cookies/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/eslint-visitor-keys/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/estree/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/events/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/express/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/express-serve-static-core/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/form-data/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/formidable/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/http-assert/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/istanbul-lib-coverage/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/istanbul-lib-report/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/istanbul-reports/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/jest/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/jest-diff/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/json-schema/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/json5/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/jsonwebtoken/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/keygrip/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/koa/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/koa-compose/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/koa-router/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/long/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/mime/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/node/ts3.2/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/pg/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/pg-types/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/pino/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/pino-std-serializers/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/range-parser/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/request/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/resolve/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/serve-static/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/sonic-boom/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/stack-utils/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/stream-to-array/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/tough-cookie/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/yargs/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/yargs-parser/index.d.ts
rpt2: /Users/kylejohnson/Demeter/backend/node_modules/@types/yauzl/index.d.ts
rpt2: ambient types changed, redoing all semantic diagnostics
rpt2: dependency '/Users/kylejohnson/Demeter/backend/src/utils.ts'
rpt2: imported by '/Users/kylejohnson/Demeter/backend/src/processors/new-message-processor.js'
rpt2: resolving '../utils' imported by '/Users/kylejohnson/Demeter/backend/src/processors/new-message-processor.js'
rpt2: to '/Users/kylejohnson/Demeter/backend/src/utils.ts'
rpt2: dependency '/Users/kylejohnson/Demeter/backend/src/processors/message-handler-framework.ts'
rpt2: imported by '/Users/kylejohnson/Demeter/backend/src/processors/new-message-processor.js'
rpt2: resolving './message-handler-framework' imported by '/Users/kylejohnson/Demeter/backend/src/processors/new-message-processor.js'
rpt2: to '/Users/kylejohnson/Demeter/backend/src/processors/message-handler-framework.ts'
rpt2: dependency '/Users/kylejohnson/Demeter/backend/src/buffered-channel.ts'
rpt2: imported by '/Users/kylejohnson/Demeter/backend/src/processors/new-message-processor.js'
rpt2: resolving '../buffered-channel' imported by '/Users/kylejohnson/Demeter/backend/src/processors/new-message-processor.js'
rpt2: to '/Users/kylejohnson/Demeter/backend/src/buffered-channel.ts'
rpt2: transpiling '/Users/kylejohnson/Demeter/backend/src/utils.ts'
rpt2: cache: '/Users/kylejohnson/Demeter/backend/.rpt2_cache/rpt2_7949c609ec7b2114d4476feb47433d93ccf7c5ed/code/cache/6895f7e81850383bec8a4facc7e6e179d2c36c2a'
rpt2: cache miss
rpt2: cache: '/Users/kylejohnson/Demeter/backend/.rpt2_cache/rpt2_7949c609ec7b2114d4476feb47433d93ccf7c5ed/syntacticDiagnostics/cache/6895f7e81850383bec8a4facc7e6e179d2c36c2a'
rpt2: cache miss
rpt2: cache: '/Users/kylejohnson/Demeter/backend/.rpt2_cache/rpt2_7949c609ec7b2114d4476feb47433d93ccf7c5ed/semanticDiagnostics/cache/6895f7e81850383bec8a4facc7e6e179d2c36c2a'
rpt2: cache miss
rpt2: transpiling '/Users/kylejohnson/Demeter/backend/src/processors/message-handler-framework.ts'
rpt2: cache: '/Users/kylejohnson/Demeter/backend/.rpt2_cache/rpt2_7949c609ec7b2114d4476feb47433d93ccf7c5ed/code/cache/bd72d31b4317d7b2d9cd3f1d29bc790c76468d5a'
rpt2: cache miss
rpt2: cache: '/Users/kylejohnson/Demeter/backend/.rpt2_cache/rpt2_7949c609ec7b2114d4476feb47433d93ccf7c5ed/syntacticDiagnostics/cache/bd72d31b4317d7b2d9cd3f1d29bc790c76468d5a'
rpt2: cache miss
rpt2: cache: '/Users/kylejohnson/Demeter/backend/.rpt2_cache/rpt2_7949c609ec7b2114d4476feb47433d93ccf7c5ed/semanticDiagnostics/cache/bd72d31b4317d7b2d9cd3f1d29bc790c76468d5a'
rpt2: cache miss
rpt2: dependency '/Users/kylejohnson/Demeter/backend/src/aws.ts'
rpt2: imported by '/Users/kylejohnson/Demeter/backend/src/processors/message-handler-framework.ts'
rpt2: resolving '../aws' imported by '/Users/kylejohnson/Demeter/backend/src/processors/message-handler-framework.ts'
rpt2: to '/Users/kylejohnson/Demeter/backend/src/aws.ts'
rpt2: transpiling '/Users/kylejohnson/Demeter/backend/src/buffered-channel.ts'
rpt2: cache: '/Users/kylejohnson/Demeter/backend/.rpt2_cache/rpt2_7949c609ec7b2114d4476feb47433d93ccf7c5ed/code/cache/6a7cbb15c399dd3ba3546f1ccc0686609add6344'
rpt2: cache miss
rpt2: cache: '/Users/kylejohnson/Demeter/backend/.rpt2_cache/rpt2_7949c609ec7b2114d4476feb47433d93ccf7c5ed/syntacticDiagnostics/cache/6a7cbb15c399dd3ba3546f1ccc0686609add6344'
rpt2: cache miss
rpt2: cache: '/Users/kylejohnson/Demeter/backend/.rpt2_cache/rpt2_7949c609ec7b2114d4476feb47433d93ccf7c5ed/semanticDiagnostics/cache/6a7cbb15c399dd3ba3546f1ccc0686609add6344'
rpt2: cache miss
rpt2: dependency '/Users/kylejohnson/Demeter/backend/src/aws.ts'
rpt2: imported by '/Users/kylejohnson/Demeter/backend/src/buffered-channel.ts'
rpt2: resolving './aws' imported by '/Users/kylejohnson/Demeter/backend/src/buffered-channel.ts'
rpt2: to '/Users/kylejohnson/Demeter/backend/src/aws.ts'
rpt2: transpiling '/Users/kylejohnson/Demeter/backend/src/aws.ts'
rpt2: cache: '/Users/kylejohnson/Demeter/backend/.rpt2_cache/rpt2_7949c609ec7b2114d4476feb47433d93ccf7c5ed/code/cache/cc5447b8d6c1f999fb4bf4c04b2704ed191d0f41'
rpt2: cache miss
rpt2: cache: '/Users/kylejohnson/Demeter/backend/.rpt2_cache/rpt2_7949c609ec7b2114d4476feb47433d93ccf7c5ed/syntacticDiagnostics/cache/cc5447b8d6c1f999fb4bf4c04b2704ed191d0f41'
rpt2: cache miss
rpt2: cache: '/Users/kylejohnson/Demeter/backend/.rpt2_cache/rpt2_7949c609ec7b2114d4476feb47433d93ccf7c5ed/semanticDiagnostics/cache/cc5447b8d6c1f999fb4bf4c04b2704ed191d0f41'
rpt2: cache miss
rpt2: generating target 1
rpt2: rolling caches
created build in 18.3s
✨ Done in 19.30s.
Ich habe das gleiche Problem. Überraschenderweise scheint es zu funktionieren, wenn ./myfile.ts
anstelle von ./myfile
importiert wird, aber VScode zeigt einen Fehler an An import path cannot end with a '.ts' extension. Consider importing './myfile' instead.
nicht-relative Pfade scheinen auch unterbrochen zu sein (mit der Option baseUrl
in tsconfig.json)
Beim Importieren eines Typescript-Moduls aus einer .js-Datei
import m1 from "./module1"
=> funktioniert
import m1 from "./module1.ts"
=> funktioniert
import m2 from "lib/module2"
=> funktioniert
import m2 from "lib/module2.ts"
=> funktioniert nicht
import m2 from "./lib/module2.ts"
=> funktioniert
Beim Importieren eines Typescript-Moduls aus einer .js-Datei
import m1 from "./module1"
=> funktioniert nicht mehr
import m1 from "./module1.ts"
=> funktioniert
import m2 from "lib/module2"
=> funktioniert nicht mehr
import m2 from "lib/module2.ts"
=> funktioniert nicht
import m2 from "./lib/module2.ts"
=> funktioniert
Dies liegt wahrscheinlich an https://github.com/ezolenko/rollup-plugin-typescript2/commit/b0a0ecb5ee8752a1e60962036beb52e9f5dcfff9
@kyle-johnson könnten Sie die Dateiliste tatsächlich posten? Seit 0.23.0 vermeidet das Plugin das Auflösen von Importen aus Dateien, die von Typskript basierend auf den tsconfig-Einstellungen nicht gefunden werden. Ich bin gespannt, ob src/processors/new-message-processor.js
in der Liste enthalten ist (sieht aus wie es sein sollte, da Sie allowJs: true
)
"fileNames": [
// these don't differ between runs
],
Ja, es steht drin:
"fileNames": [
[...]
"/Users/kylejohnson/Demeter/backend/src/utils.ts",
[...]
"/Users/kylejohnson/Demeter/backend/src/processors/new-message-processor.js",
[...]
],
Könnten Sie include: ["*.ts+(|x)", "**/*.ts+(|x)", "*.js"]
zu den Plugin-Optionen hinzufügen und es versuchen? Wenn es funktioniert, füge ich js-Erweiterungen hinzu, wenn allowJs in tsconfig gesetzt ist.
@kyle-johnson könntest du 0.24.3 versuchen? könnte jetzt behoben werden.
0.24.3 behebt das Problem für mich nicht. Ich habe ein einfaches Projekt, das zuletzt an 0.22.1 . gearbeitet hat
git clone https://github.com/nickbabcock/vigenere.git
cd vigenere
git checkout dependabot/npm_and_yarn/rollup-plugin-typescript2-0.24.3
npm ci
npm run build
Führt zu folgendem Fehler:
src/main.js → public/bundle.js...
[!] Error: Could not resolve './core/vigenere-cipher' from src/App.svelte
Error: Could not resolve './core/vigenere-cipher' from src/App.svelte
at error (/tmp/vigenere/node_modules/rollup/dist/rollup.js:9558:30)
at ModuleLoader.handleMissingImports (/tmp/vigenere/node_modules/rollup/dist/rollup.js:16628:17)
at ModuleLoader.<anonymous> (/tmp/vigenere/node_modules/rollup/dist/rollup.js:16679:26)
at Generator.next (<anonymous>)
at fulfilled (/tmp/vigenere/node_modules/rollup/dist/rollup.js:40:28)
0.24.3 behebt es für meinen Fall
@nickbabcock Ihre Sachen scheinen zu kompilieren, wenn ich den Import in ./core/vigenere-cipher.ts
ändere. Ich kann nicht sagen, ob das Paket korrekt ist oder nicht.
Sieht so aus, als würde rpt2 den Import selbst nicht auflösen, da die Quelldatei nicht einmal js ist und was auch immer den Import für das Rollup auflöst, ts-Dateien nicht erkennt.
Vielen Dank für den Einblick, mein schlankes und rollup-Wissen ist noch in den Kinderschuhen - das Bundle hat sich als richtig herausgestellt. 🎉