Closed
Description
TypeScript Version: 2.5.2
Code
// a.ts
const template = document.createElement('template')
template.innerHTML = `...`
class Foo extends HTMLElement {}
customElements.define('my-foo',Foo)
// b.ts
const template = document.createElement('template')
template.innerHTML = `...`
class Bar extends HTMLElement {}
customElements.define('my-bar',Bar)
// main.ts
import './a'
import './b'
tsconfig:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"sourceMap": true,
"outDir": "./ts-output",
"strict": true,
"pretty": true,
"moduleResolution": "node"
},
"include": ["./src"],
"exclude": ["node_modules"]
}
Expected behavior:
every file is isolated module, variable definitions should not be leaking, as they are private if not exported
Actual behavior:
will get TS error unless export
or import
is used within a.ts or b.ts