El último rpt2 (0.24.1) no resuelve los archivos ts incluidos en los archivos js.
Esto funciona con rpt2 0.22.1 y versiones anteriores.
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"]
}
Defecto
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.
Laboral
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.
Tengo el mismo problema. Sorprendentemente, parece funcionar al importar ./myfile.ts
lugar de ./myfile
pero VScode muestra un error An import path cannot end with a '.ts' extension. Consider importing './myfile' instead.
Las rutas no relativas también parecen estar rotas (usando la opción baseUrl
en tsconfig.json)
Al importar un módulo mecanografiado desde un archivo .js
import m1 from "./module1"
=> funciona
import m1 from "./module1.ts"
=> funciona
import m2 from "lib/module2"
=> funciona
import m2 from "lib/module2.ts"
=> no funciona
import m2 from "./lib/module2.ts"
=> funciona
Al importar un módulo mecanografiado desde un archivo .js
import m1 from "./module1"
=> ya no funciona
import m1 from "./module1.ts"
=> funciona
import m2 from "lib/module2"
=> ya no funciona
import m2 from "lib/module2.ts"
=> no funciona
import m2 from "./lib/module2.ts"
=> funciona
Esto probablemente se deba a https://github.com/ezolenko/rollup-plugin-typescript2/commit/b0a0ecb5ee8752a1e60962036beb52e9f5dcfff9
@ kyle-johnson, ¿podrías publicar la lista de archivos? Dado que el complemento 0.23.0 evita la resolución de importaciones de archivos que no se encuentran mediante mecanografiado en función de la configuración de tsconfig. Tengo curiosidad por saber si src/processors/new-message-processor.js
está en la lista (parece que debería estarlo, ya que tienes allowJs: true
)
"fileNames": [
// these don't differ between runs
],
Sí, está ahí:
"fileNames": [
[...]
"/Users/kylejohnson/Demeter/backend/src/utils.ts",
[...]
"/Users/kylejohnson/Demeter/backend/src/processors/new-message-processor.js",
[...]
],
¿Podrías agregar include: ["*.ts+(|x)", "**/*.ts+(|x)", "*.js"]
a las opciones del complemento y probarlo? Si funciona, agregaré extensiones js si allowJs está configurado en tsconfig.
@ kyle-johnson, ¿podrías probar 0.24.3? podría arreglarse ahora.
0.24.3 no me soluciona el problema. Tengo un proyecto simple que funcionó por última vez en 0.22.1
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
Da como resultado el siguiente error:
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 lo corrige para mi caso
@nickbabcock tus cosas parecen compilarse si cambio la importación a ./core/vigenere-cipher.ts
. No puedo decir si el paquete es correcto o no.
Parece que rpt2 no resuelve la importación en sí porque el archivo de origen ni siquiera es js y lo que sea que termine resolviendo la importación para el resumen no reconoce los archivos ts.
Gracias por la información, mi conocimiento esbelto y acumulado es incipiente: el paquete resultó correcto. 🎉