getVNodeHelper,
locStub,
} from './ast'
-import { type RawSourceMap, SourceMapGenerator } from 'source-map-js'
+import { SourceMapGenerator } from 'source-map-js'
import {
advancePositionWithMutation,
assert,
} from './runtimeHelpers'
import type { ImportItem } from './transform'
+/**
+ * The `SourceMapGenerator` type from `source-map-js` is a bit incomplete as it
+ * misses `toJSON()`. We also need to add types for internal properties which we
+ * need to access for better performance.
+ *
+ * Since TS 5.3, dts generation starts to strangely include broken triple slash
+ * references for source-map-js, so we are inlining all source map related types
+ * here to to workaround that.
+ */
+export interface CodegenSourceMapGenerator {
+ setSourceContent(sourceFile: string, sourceContent: string): void
+ // SourceMapGenerator has this method but the types do not include it
+ toJSON(): RawSourceMap
+ _sources: Set<string>
+ _names: Set<string>
+ _mappings: {
+ add(mapping: MappingItem): void
+ }
+}
+
+export interface RawSourceMap {
+ file?: string
+ sourceRoot?: string
+ version: string
+ sources: string[]
+ names: string[]
+ sourcesContent?: string[]
+ mappings: string
+}
+
+interface MappingItem {
+ source: string
+ generatedLine: number
+ generatedColumn: number
+ originalLine: number
+ originalColumn: number
+ name: string | null
+}
+
const PURE_ANNOTATION = `/*#__PURE__*/`
const aliasHelper = (s: symbol) => `${helperNameMap[s]}: _${helperNameMap[s]}`
offset: number
indentLevel: number
pure: boolean
- map?: SourceMapGenerator
+ map?: CodegenSourceMapGenerator
helper(key: symbol): string
push(code: string, newlineIndex?: number, node?: CodegenNode): void
indent(): void
generatedLine: context.line,
generatedColumn: context.column - 1,
source: filename,
- // @ts-expect-error it is possible to be null
name,
})
}
if (!__BROWSER__ && sourceMap) {
// lazy require source-map implementation, only in non-browser builds
- context.map = new SourceMapGenerator()
+ context.map =
+ new SourceMapGenerator() as unknown as CodegenSourceMapGenerator
context.map.setSourceContent(filename, context.source)
context.map._sources.add(filename)
}
version: 7.5.8
'@typescript-eslint/eslint-plugin':
specifier: ^7.4.0
- version: 7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.2.2)
+ version: 7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.4.5)
'@typescript-eslint/parser':
specifier: ^7.4.0
- version: 7.4.0(eslint@8.57.0)(typescript@5.2.2)
+ version: 7.4.0(eslint@8.57.0)(typescript@5.4.5)
'@vitest/coverage-istanbul':
specifier: ^1.4.0
version: 1.4.0(vitest@1.4.0)
version: /eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)
eslint-plugin-jest:
specifier: ^27.9.0
- version: 27.9.0(@typescript-eslint/eslint-plugin@7.4.0)(eslint@8.57.0)(typescript@5.2.2)
+ version: 27.9.0(@typescript-eslint/eslint-plugin@7.4.0)(eslint@8.57.0)(typescript@5.4.5)
estree-walker:
specifier: ^2.0.2
version: 2.0.2
version: 3.0.2
puppeteer:
specifier: ~22.6.3
- version: 22.6.3(typescript@5.2.2)
+ version: 22.6.3(typescript@5.4.5)
rimraf:
specifier: ^5.0.5
version: 5.0.5
version: 4.13.2
rollup-plugin-dts:
specifier: ^6.1.0
- version: 6.1.0(rollup@4.13.2)(typescript@5.2.2)
+ version: 6.1.0(rollup@4.13.2)(typescript@5.4.5)
rollup-plugin-esbuild:
specifier: ^6.1.1
version: 6.1.1(esbuild@0.20.2)(rollup@4.13.2)
specifier: ^4.7.2
version: 4.7.2
typescript:
- specifier: ^5.2.2
- version: 5.2.2
+ specifier: ~5.4.5
+ version: 5.4.5
vite:
specifier: ^5.2.7
version: 5.2.7(@types/node@20.12.5)(terser@5.30.1)
dev: true
optional: true
- /@typescript-eslint/eslint-plugin@7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.2.2):
+ /@typescript-eslint/eslint-plugin@7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.4.5):
resolution: {integrity: sha512-yHMQ/oFaM7HZdVrVm/M2WHaNPgyuJH4WelkSVEWSSsir34kxW2kDJCxlXRhhGWEsMN0WAW/vLpKfKVcm8k+MPw==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
optional: true
dependencies:
'@eslint-community/regexpp': 4.9.1
- '@typescript-eslint/parser': 7.4.0(eslint@8.57.0)(typescript@5.2.2)
+ '@typescript-eslint/parser': 7.4.0(eslint@8.57.0)(typescript@5.4.5)
'@typescript-eslint/scope-manager': 7.4.0
- '@typescript-eslint/type-utils': 7.4.0(eslint@8.57.0)(typescript@5.2.2)
- '@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.2.2)
+ '@typescript-eslint/type-utils': 7.4.0(eslint@8.57.0)(typescript@5.4.5)
+ '@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.4.5)
'@typescript-eslint/visitor-keys': 7.4.0
debug: 4.3.4
eslint: 8.57.0
ignore: 5.2.4
natural-compare: 1.4.0
semver: 7.6.0
- ts-api-utils: 1.0.3(typescript@5.2.2)
- typescript: 5.2.2
+ ts-api-utils: 1.0.3(typescript@5.4.5)
+ typescript: 5.4.5
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/parser@7.4.0(eslint@8.57.0)(typescript@5.2.2):
+ /@typescript-eslint/parser@7.4.0(eslint@8.57.0)(typescript@5.4.5):
resolution: {integrity: sha512-ZvKHxHLusweEUVwrGRXXUVzFgnWhigo4JurEj0dGF1tbcGh6buL+ejDdjxOQxv6ytcY1uhun1p2sm8iWStlgLQ==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
dependencies:
'@typescript-eslint/scope-manager': 7.4.0
'@typescript-eslint/types': 7.4.0
- '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.2.2)
+ '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.5)
'@typescript-eslint/visitor-keys': 7.4.0
debug: 4.3.4
eslint: 8.57.0
- typescript: 5.2.2
+ typescript: 5.4.5
transitivePeerDependencies:
- supports-color
dev: true
'@typescript-eslint/visitor-keys': 7.4.0
dev: true
- /@typescript-eslint/type-utils@7.4.0(eslint@8.57.0)(typescript@5.2.2):
+ /@typescript-eslint/type-utils@7.4.0(eslint@8.57.0)(typescript@5.4.5):
resolution: {integrity: sha512-247ETeHgr9WTRMqHbbQdzwzhuyaJ8dPTuyuUEMANqzMRB1rj/9qFIuIXK7l0FX9i9FXbHeBQl/4uz6mYuCE7Aw==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
typescript:
optional: true
dependencies:
- '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.2.2)
- '@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.2.2)
+ '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.5)
+ '@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.4.5)
debug: 4.3.4
eslint: 8.57.0
- ts-api-utils: 1.0.3(typescript@5.2.2)
- typescript: 5.2.2
+ ts-api-utils: 1.0.3(typescript@5.4.5)
+ typescript: 5.4.5
transitivePeerDependencies:
- supports-color
dev: true
engines: {node: ^18.18.0 || >=20.0.0}
dev: true
- /@typescript-eslint/typescript-estree@5.62.0(typescript@5.2.2):
+ /@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.5):
resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
globby: 11.1.0
is-glob: 4.0.3
semver: 7.6.0
- tsutils: 3.21.0(typescript@5.2.2)
- typescript: 5.2.2
+ tsutils: 3.21.0(typescript@5.4.5)
+ typescript: 5.4.5
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/typescript-estree@7.4.0(typescript@5.2.2):
+ /@typescript-eslint/typescript-estree@7.4.0(typescript@5.4.5):
resolution: {integrity: sha512-A99j5AYoME/UBQ1ucEbbMEmGkN7SE0BvZFreSnTd1luq7yulcHdyGamZKizU7canpGDWGJ+Q6ZA9SyQobipePg==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
is-glob: 4.0.3
minimatch: 9.0.3
semver: 7.6.0
- ts-api-utils: 1.0.3(typescript@5.2.2)
- typescript: 5.2.2
+ ts-api-utils: 1.0.3(typescript@5.4.5)
+ typescript: 5.4.5
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.2.2):
+ /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.5):
resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
'@types/semver': 7.5.8
'@typescript-eslint/scope-manager': 5.62.0
'@typescript-eslint/types': 5.62.0
- '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2)
+ '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5)
eslint: 8.57.0
eslint-scope: 5.1.1
semver: 7.6.0
- typescript
dev: true
- /@typescript-eslint/utils@7.4.0(eslint@8.57.0)(typescript@5.2.2):
+ /@typescript-eslint/utils@7.4.0(eslint@8.57.0)(typescript@5.4.5):
resolution: {integrity: sha512-NQt9QLM4Tt8qrlBVY9lkMYzfYtNz8/6qwZg8pI3cMGlPnj6mOpRxxAm7BMJN9K0AiY+1BwJ5lVC650YJqYOuNg==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
'@types/semver': 7.5.8
'@typescript-eslint/scope-manager': 7.4.0
'@typescript-eslint/types': 7.4.0
- '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.2.2)
+ '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.5)
eslint: 8.57.0
semver: 7.6.0
transitivePeerDependencies:
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
dev: false
- /cosmiconfig@9.0.0(typescript@5.2.2):
+ /cosmiconfig@9.0.0(typescript@5.4.5):
resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==}
engines: {node: '>=14'}
peerDependencies:
import-fresh: 3.3.0
js-yaml: 4.1.0
parse-json: 5.2.0
- typescript: 5.2.2
+ typescript: 5.4.5
dev: true
/cross-spawn@7.0.3:
eslint-import-resolver-webpack:
optional: true
dependencies:
- '@typescript-eslint/parser': 7.4.0(eslint@8.57.0)(typescript@5.2.2)
+ '@typescript-eslint/parser': 7.4.0(eslint@8.57.0)(typescript@5.4.5)
debug: 3.2.7
eslint: 8.57.0
eslint-import-resolver-node: 0.3.9
- supports-color
dev: true
- /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.4.0)(eslint@8.57.0)(typescript@5.2.2):
+ /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.4.0)(eslint@8.57.0)(typescript@5.4.5):
resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
peerDependencies:
jest:
optional: true
dependencies:
- '@typescript-eslint/eslint-plugin': 7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.2.2)
- '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.2.2)
+ '@typescript-eslint/eslint-plugin': 7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.4.5)
+ '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5)
eslint: 8.57.0
transitivePeerDependencies:
- supports-color
- utf-8-validate
dev: true
- /puppeteer@22.6.3(typescript@5.2.2):
+ /puppeteer@22.6.3(typescript@5.4.5):
resolution: {integrity: sha512-KZOnthMbvr4+7cPKFeeOCJPe8DzOKGC0GbMXmZKOP/YusXQ6sqxA0vt6frstZq3rUJ277qXHlZNFf01VVwdHKw==}
engines: {node: '>=18'}
hasBin: true
requiresBuild: true
dependencies:
'@puppeteer/browsers': 2.2.1
- cosmiconfig: 9.0.0(typescript@5.2.2)
+ cosmiconfig: 9.0.0(typescript@5.4.5)
devtools-protocol: 0.0.1262051
puppeteer-core: 22.6.3
transitivePeerDependencies:
glob: 10.3.10
dev: true
- /rollup-plugin-dts@6.1.0(rollup@4.13.2)(typescript@5.2.2):
+ /rollup-plugin-dts@6.1.0(rollup@4.13.2)(typescript@5.4.5):
resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==}
engines: {node: '>=16'}
peerDependencies:
dependencies:
magic-string: 0.30.8
rollup: 4.13.2
- typescript: 5.2.2
+ typescript: 5.4.5
optionalDependencies:
'@babel/code-frame': 7.23.5
dev: true
punycode: 2.3.1
dev: true
- /ts-api-utils@1.0.3(typescript@5.2.2):
+ /ts-api-utils@1.0.3(typescript@5.4.5):
resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==}
engines: {node: '>=16.13.0'}
peerDependencies:
typescript: '>=4.2.0'
dependencies:
- typescript: 5.2.2
+ typescript: 5.4.5
dev: true
/tslib@1.14.1:
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
dev: true
- /tsutils@3.21.0(typescript@5.2.2):
+ /tsutils@3.21.0(typescript@5.4.5):
resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
engines: {node: '>= 6'}
peerDependencies:
typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
dependencies:
tslib: 1.14.1
- typescript: 5.2.2
+ typescript: 5.4.5
dev: true
/tsx@4.7.2:
resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==}
engines: {node: '>=14.17'}
hasBin: true
+ dev: false
+
+ /typescript@5.4.5:
+ resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+ dev: true
/ufo@1.3.1:
resolution: {integrity: sha512-uY/99gMLIOlJPwATcMVYfqDSxUR9//AUcgZMzwfSTJPDKzA1S8mX4VLqa+fiAtveraQUBCz4FFcwVZBGbwBXIw==}