Rollup-plugin-typescript2: μ΅œμ‹  버전은 js νŒŒμΌμ— ν¬ν•¨λœ ts νŒŒμΌμ„ ν™•μΈν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2019λ…„ 09μ›” 11일  Β·  10μ½”λ©˜νŠΈ  Β·  좜처: ezolenko/rollup-plugin-typescript2

무슨 일이 μΌμ–΄λ‚˜κ³  μ™œ 그것이 잘λͺ»λœ 것인가

μ΅œμ‹  rpt2(0.24.1)λŠ” js νŒŒμΌμ— ν¬ν•¨λœ ts νŒŒμΌμ„ ν•΄μ„ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

이것은 rpt2 0.22.1 μ΄ν•˜μ—μ„œ μž‘λ™ν•©λ‹ˆλ‹€.

버전

  • νƒ€μ΄ν”„μŠ€ν¬λ¦½νŠΈ: 3.6.2
  • λ‘€μ—…: 1.21.2
  • λ‘€μ—… ν”ŒλŸ¬κ·ΈμΈ μœ ν˜• 슀크립트2: 0.24.1

λ‘€μ—….config.js

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
    })
  ]
};

tsconfig.json

{
  "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"]
}

μžμ„Έν•œ ν‘œμ‹œκ°€ 3인 ν”ŒλŸ¬κ·ΈμΈ 좜λ ₯

μ‹€νŒ¨

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.

μΌν•˜κ³ μžˆλŠ”

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.

λͺ¨λ“  10 λŒ“κΈ€

같은 λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€. κ°€μ Έμ˜¬ λ•Œ λ†€λžκ²Œλ„μ΄ μž‘λ™ν•˜λŠ” 것 κ°™λ‹€ ./myfile.ts λŒ€μ‹  ./myfile ν•˜μ§€λ§Œ VScode μ‡Όλ₯Ό 였λ₯˜ An import path cannot end with a '.ts' extension. Consider importing './myfile' instead.

λΉ„ μƒλŒ€ κ²½λ‘œλ„ μ†μƒλœ 것 κ°™μŠ΅λ‹ˆλ‹€(tsconfig.jsonμ—μ„œ baseUrl μ˜΅μ…˜ μ‚¬μš©).

0.22.1μ—μ„œ:

.js νŒŒμΌμ—μ„œ typescript λͺ¨λ“ˆμ„ κ°€μ Έμ˜¬ λ•Œ
import m1 from "./module1" => μž‘λ™
import m1 from "./module1.ts" => μž‘λ™
import m2 from "lib/module2" => μž‘λ™
import m2 from "lib/module2.ts" => μž‘λ™ν•˜μ§€ μ•ŠμŒ
import m2 from "./lib/module2.ts" => μž‘λ™

0.23.0+μ—μ„œ:

.js νŒŒμΌμ—μ„œ typescript λͺ¨λ“ˆμ„ κ°€μ Έμ˜¬ λ•Œ
import m1 from "./module1" => 더 이상 μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€
import m1 from "./module1.ts" => μž‘λ™
import m2 from "lib/module2" => 더 이상 μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€
import m2 from "lib/module2.ts" => μž‘λ™ν•˜μ§€ μ•ŠμŒ
import m2 from "./lib/module2.ts" => μž‘λ™

@kyle-johnson μ‹€μ œλ‘œ 파일 λͺ©λ‘μ„ κ²Œμ‹œν•  수 μžˆμŠ΅λ‹ˆκΉŒ? 0.23.0 이후 ν”ŒλŸ¬κ·ΈμΈμ€ tsconfig 섀정을 기반으둜 ν•˜λŠ” typescriptμ—μ„œ 찾을 수 μ—†λŠ” νŒŒμΌμ—μ„œ κ°€μ Έμ˜€κΈ°λ₯Ό ν™•μΈν•˜λŠ” 것을 λ°©μ§€ν•©λ‹ˆλ‹€. λ‚˜λ„ ꢁ금 src/processors/new-message-processor.js λͺ©λ‘μ— (μ’‹μ•„ λ³΄μ΄λŠ”ν•΄μ•Ό 당신이 가지고 있기 λ•Œλ¬Έμ—, allowJs: true )

    "fileNames": [
// these don't differ between runs
    ],

예, 거기에 μžˆμŠ΅λ‹ˆλ‹€.

    "fileNames": [
[...]
        "/Users/kylejohnson/Demeter/backend/src/utils.ts",
[...]
        "/Users/kylejohnson/Demeter/backend/src/processors/new-message-processor.js",
[...]
    ],

ν”ŒλŸ¬κ·ΈμΈ μ˜΅μ…˜μ— include: ["*.ts+(|x)", "**/*.ts+(|x)", "*.js"] 을 μΆ”κ°€ν•˜κ³  μ‹œλ„ν•΄ μ£Όμ‹œκ² μŠ΅λ‹ˆκΉŒ? μž‘λ™ν•˜λ©΄ tsconfig에 allowJsκ°€ μ„€μ •λ˜μ–΄ 있으면 js ν™•μž₯을 μΆ”κ°€ν•˜κ² μŠ΅λ‹ˆλ‹€.

@kyle-johnson 0.24.3을 μ‹œλ„ν•΄ μ£Όμ‹œκ² μŠ΅λ‹ˆκΉŒ? μ§€κΈˆ μˆ˜μ •λ  수 μžˆμŠ΅λ‹ˆλ‹€.

0.24.3으둜 λ¬Έμ œκ°€ ν•΄κ²°λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 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

λ‹€μŒ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.

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이 λ‚΄ 경우λ₯Ό μˆ˜μ •ν•©λ‹ˆλ‹€.

@nickbabcock importλ₯Ό ./core/vigenere-cipher.ts λ³€κ²½ν•˜λ©΄ κ·€ν•˜μ˜ 물건이 μ»΄νŒŒμΌλ˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. 묢음이 λ§žλŠ”μ§€ μ•„λ‹Œμ§€ μ•Œ 수 μ—†μŠ΅λ‹ˆλ‹€.

μ†ŒμŠ€ 파일이 jsκ°€ μ•„λ‹ˆκ³  둀업에 λŒ€ν•œ κ°€μ Έμ˜€κΈ°λ₯Ό ν•΄κ²°ν•˜λŠ” 것이 ts νŒŒμΌμ„ μΈμ‹ν•˜μ§€ λͺ»ν•˜κΈ° λ•Œλ¬Έμ— rpt2κ°€ κ°€μ Έμ˜€κΈ° 자체λ₯Ό ν•΄κ²°ν•˜μ§€ μ•ŠλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

톡찰λ ₯을 μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€. μ €μ˜ μ„¬μ„Έν•˜κ³  λ‘€μ—… 지식은 초보 λ‹¨κ³„μž…λ‹ˆλ‹€. λ²ˆλ“€μ΄ μ˜¬λ°”λ₯Έ κ²ƒμœΌλ‘œ 판λͺ…λ˜μ—ˆμŠ΅λ‹ˆλ‹€. πŸŽ‰

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰