Skip to content

Building multiple projects with same top-level configs (Rollup, tsconfig) results in declarations for *all* projects output for each project #72

@Alxandr

Description

@Alxandr

What happens and why it is wrong

I'm building 2 projects with one rollup.config file, and the result is this:

image

As can be seen, I get the .d.ts files for both projects in both dist folders.

Environment

OSX.

Versions

  • typescript: 2.8.1
  • rollup: 0.57.1
  • rollup-plugin-typescript2: 0.12.0

rollup.config.js

It's auto-generated, so I can't really paste it.

tsconfig.json

{
  "compilerOptions": {
    "strict": true,
    "module": "esnext",
    "target": "es2016",
    "declaration": true
  },
  "exclude": ["node_modules", "**/node_modules/*"]
}

plugin output with verbosity 3

log
/Users/alxandr/hub/yolodev-aspnet-utils/packages/before-exit/src/before-exit.ts → packages/before-exit/dist/before-exit.js, packages/before-exit/dist/before-exit.mjs...
rpt2: typescript version: 2.8.1
rpt2: rollup-plugin-typescript2 version: 0.12.0
rpt2: plugin options:
{
    "verbosity": 3,
    "cacheRoot": "/Users/alxandr/hub/yolodev-aspnet-utils/packages/before-exit/.rpt2_cache",
    "exclude": [
        "*.d.ts",
        "**/*.d.ts",
        "/Users/alxandr/hub/yolodev-aspnet-utils/packages/workdir-pid/*"
    ],
    "check": true,
    "clean": false,
    "include": [
        "*.ts+(|x)",
        "**/*.ts+(|x)"
    ],
    "abortOnError": true,
    "rollupCommonJSResolveHack": false,
    "typescript": "version 2.8.1",
    "useTsconfigDeclarationDir": false,
    "tsconfigOverride": {},
    "tsconfigDefaults": {}
}
rpt2: rollup config:
{
    "external": [
        "",
        "assert",
        "buffer",
        "child_process",
        "cluster",
        "console",
        "constants",
        "crypto",
        "dgram",
        "dns",
        "domain",
        "events",
        "fs",
        "http",
        "https",
        "module",
        "net",
        "os",
        "path",
        "punycode",
        "querystring",
        "readline",
        "repl",
        "stream",
        "string_decoder",
        "sys",
        "timers",
        "tls",
        "tty",
        "url",
        "util",
        "vm",
        "zlib",
        "v8",
        "process",
        "async_hooks",
        "http2",
        "perf_hooks"
    ],
    "input": "/Users/alxandr/hub/yolodev-aspnet-utils/packages/before-exit/src/before-exit.ts",
    "perf": false,
    "plugins": [
        {
            "name": "auto-external"
        },
        {
            "name": "rpt2"
        }
    ],
    "entry": "/Users/alxandr/hub/yolodev-aspnet-utils/packages/before-exit/src/before-exit.ts"
}
rpt2: built-in options overrides: {
    "noEmitHelpers": false,
    "importHelpers": true,
    "noResolve": false,
    "noEmit": false,
    "outDir": "/Users/alxandr/hub/yolodev-aspnet-utils",
    "moduleResolution": 2,
    "declarationDir": "/Users/alxandr/hub/yolodev-aspnet-utils"
}
rpt2: parsed tsconfig: {
    "options": {
        "module": 6,
        "strict": true,
        "target": 3,
        "declaration": true,
        "noEmitHelpers": false,
        "importHelpers": true,
        "noResolve": false,
        "noEmit": false,
        "outDir": "/Users/alxandr/hub/yolodev-aspnet-utils",
        "moduleResolution": 2,
        "declarationDir": "/Users/alxandr/hub/yolodev-aspnet-utils",
        "configFilePath": "/Users/alxandr/hub/yolodev-aspnet-utils/tsconfig.json"
    },
    "fileNames": [
        "/Users/alxandr/hub/yolodev-aspnet-utils/packages/before-exit/dist/before-exit/src/before-exit.d.ts",
        "/Users/alxandr/hub/yolodev-aspnet-utils/packages/before-exit/dist/workdir-pid/src/workdir-pid.d.ts",
        "/Users/alxandr/hub/yolodev-aspnet-utils/packages/before-exit/src/before-exit.ts",
        "/Users/alxandr/hub/yolodev-aspnet-utils/packages/workdir-pid/dist/before-exit/src/before-exit.d.ts",
        "/Users/alxandr/hub/yolodev-aspnet-utils/packages/workdir-pid/dist/workdir-pid/src/workdir-pid.d.ts",
        "/Users/alxandr/hub/yolodev-aspnet-utils/packages/workdir-pid/src/workdir-pid.ts"
    ],
    "typeAcquisition": {
        "enable": false,
        "include": [],
        "exclude": []
    },
    "raw": {
        "compilerOptions": {
            "module": "esnext",
            "strict": true,
            "target": "es2016",
            "declaration": true
        },
        "exclude": [
            "node_modules",
            "**/node_modules/*"
        ]
    },
    "errors": [],
    "wildcardDirectories": {
        "/users/alxandr/hub/yolodev-aspnet-utils": 1
    },
    "compileOnSave": false,
    "configFileSpecs": {
        "includeSpecs": [
            "**/*"
        ],
        "excludeSpecs": [
            "node_modules",
            "**/node_modules/*"
        ],
        "validatedIncludeSpecs": [
            "**/*"
        ],
        "validatedExcludeSpecs": [
            "node_modules",
            "**/node_modules/*"
        ],
        "wildcardDirectories": {
            "/users/alxandr/hub/yolodev-aspnet-utils": 1
        }
    }
}
rpt2: included:
'[
    "*.ts+(|x)",
    "**/*.ts+(|x)"
]'
rpt2: excluded:
'[
    "*.d.ts",
    "**/*.d.ts",
    "/Users/alxandr/hub/yolodev-aspnet-utils/packages/workdir-pid/*"
]'
rpt2: Ambient types:
rpt2:     /Users/alxandr/hub/yolodev-aspnet-utils/packages/before-exit/dist/before-exit/src/before-exit.d.ts
rpt2:     /Users/alxandr/hub/yolodev-aspnet-utils/packages/before-exit/dist/workdir-pid/src/workdir-pid.d.ts
rpt2:     /Users/alxandr/hub/yolodev-aspnet-utils/packages/workdir-pid/dist/before-exit/src/before-exit.d.ts
rpt2:     /Users/alxandr/hub/yolodev-aspnet-utils/packages/workdir-pid/dist/workdir-pid/src/workdir-pid.d.ts
rpt2:     /Users/alxandr/hub/yolodev-aspnet-utils/node_modules/@types/acorn/index.d.ts
rpt2:     /Users/alxandr/hub/yolodev-aspnet-utils/node_modules/@types/estree/index.d.ts
rpt2:     /Users/alxandr/hub/yolodev-aspnet-utils/node_modules/@types/node/index.d.ts
rpt2: ambient types changed, redoing all semantic diagnostics
rpt2: transpiling '/Users/alxandr/hub/yolodev-aspnet-utils/packages/before-exit/src/before-exit.ts'
rpt2:     cache: '/Users/alxandr/hub/yolodev-aspnet-utils/packages/before-exit/.rpt2_cache/0df88d81930e5b98b75cf91f784bf1ae5bbd236a/code/cache/2d9c6a3ef228d04e8594fac73f6ee4cdd1c12da5'
rpt2:     cache miss
rpt2:     cache: '/Users/alxandr/hub/yolodev-aspnet-utils/packages/before-exit/.rpt2_cache/0df88d81930e5b98b75cf91f784bf1ae5bbd236a/syntacticDiagnostics/cache/2d9c6a3ef228d04e8594fac73f6ee4cdd1c12da5'
rpt2:     cache miss
rpt2:     cache: '/Users/alxandr/hub/yolodev-aspnet-utils/packages/before-exit/.rpt2_cache/0df88d81930e5b98b75cf91f784bf1ae5bbd236a/semanticDiagnostics/cache/2d9c6a3ef228d04e8594fac73f6ee4cdd1c12da5'
rpt2:     cache miss
rpt2: generated declarations for '/Users/alxandr/hub/yolodev-aspnet-utils/packages/before-exit/src/before-exit.ts'
rpt2: generating target 1
rpt2: rolling caches
rpt2: generating missed declarations for '/Users/alxandr/hub/yolodev-aspnet-utils/packages/workdir-pid/src/workdir-pid.ts'
rpt2: writing declarations for '/Users/alxandr/hub/yolodev-aspnet-utils/packages/before-exit/src/before-exit.ts' to '/Users/alxandr/hub/yolodev-aspnet-utils/packages/before-exit/dist/before-exit/src/before-exit.d.ts'
rpt2: writing declarations for '/Users/alxandr/hub/yolodev-aspnet-utils/packages/workdir-pid/src/workdir-pid.ts' to '/Users/alxandr/hub/yolodev-aspnet-utils/packages/before-exit/dist/workdir-pid/src/workdir-pid.d.ts'
rpt2: generating target 2
rpt2: rolling caches
rpt2: writing declarations for '/Users/alxandr/hub/yolodev-aspnet-utils/packages/before-exit/src/before-exit.ts' to '/Users/alxandr/hub/yolodev-aspnet-utils/packages/before-exit/dist/before-exit/src/before-exit.d.ts'
rpt2: writing declarations for '/Users/alxandr/hub/yolodev-aspnet-utils/packages/workdir-pid/src/workdir-pid.ts' to '/Users/alxandr/hub/yolodev-aspnet-utils/packages/before-exit/dist/workdir-pid/src/workdir-pid.d.ts'
created packages/before-exit/dist/before-exit.js, packages/before-exit/dist/before-exit.mjs in 1s

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind: supportAsking for support with something or a specific use caseproblem: staleIssue has not been responded to in some timesolution: intended behaviorThis is not a bug and is expected behaviorsolution: tsc behaviorThis is tsc's behavior as well, so this is not a bug with this plugintopic: monorepo / symlinksRelated to monorepos and/or symlinks (Lerna, Yarn, PNPM, Rush, etc)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions