Skip to content

Commit 91fb093

Browse files
committed
PRefix imports
1 parent da9770b commit 91fb093

File tree

1 file changed

+22
-6
lines changed

1 file changed

+22
-6
lines changed

deploy/createTypesPackages.mjs

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ export const packages = [
1010
readme: "./readmes/web.md",
1111
files: [
1212
{ from: "../generated/dom.generated.d.ts", to: "index.d.ts" },
13-
{ from: "../generated/dom.iterable.generated.d.ts", to: "index.iterable.d.ts" },
13+
{ from: "../generated/dom.iterable.generated.d.ts", to: "index.iterable.d.ts", autoImport: true },
1414
],
1515
},
1616
{
@@ -19,7 +19,7 @@ export const packages = [
1919
readme: "./readmes/serviceworker.md",
2020
files: [
2121
{ from: "../generated/serviceworker.generated.d.ts", to: "index.d.ts" },
22-
{ from: "../generated/serviceworker.iterable.generated.d.ts", to: "index.iterable.d.ts" },
22+
{ from: "../generated/serviceworker.iterable.generated.d.ts", to: "index.iterable.d.ts", autoImport: true },
2323
],
2424
},
2525
{
@@ -28,7 +28,7 @@ export const packages = [
2828
readme: "./readmes/audioworklet.md",
2929
files: [
3030
{ from: "../generated/audioworklet.generated.d.ts", to: "index.d.ts" },
31-
{ from: "../generated/audioworklet.iterable.generated.d.ts", to: "index.iterable.d.ts" },
31+
{ from: "../generated/audioworklet.iterable.generated.d.ts", to: "index.iterable.d.ts", autoImport: true },
3232
],
3333
},
3434
{
@@ -37,7 +37,7 @@ export const packages = [
3737
readme: "./readmes/sharedworker.md",
3838
files: [
3939
{ from: "../generated/sharedworker.generated.d.ts", to: "index.d.ts" },
40-
{ from: "../generated/sharedworker.iterable.generated.d.ts", to: "index.iterable.d.ts" },
40+
{ from: "../generated/sharedworker.iterable.generated.d.ts", to: "index.iterable.d.ts", autoImport: true },
4141
],
4242
},
4343
];
@@ -85,16 +85,18 @@ const go = async () => {
8585
);
8686
});
8787

88+
prependAutoImports(pkg, packagePath);
89+
8890
// Setup the files in the repo
89-
const newPkgJSON = await updatePackageJSON(packagePath, pkg, gitSha);
91+
const newPkgJSON = await updatePackageJSON(pkg, packagePath, gitSha);
9092
copyREADME(pkg, newPkgJSON, new URL("README.md", packagePath));
9193

9294
// Done
9395
console.log("Built:", pkg.name);
9496
}
9597
};
9698

97-
async function updatePackageJSON(packagePath, pkg, gitSha) {
99+
async function updatePackageJSON(pkg, packagePath, gitSha) {
98100
const pkgJSONPath = new URL("package.json", packagePath);
99101
const packageText = fs.readFileSync(pkgJSONPath, "utf8");
100102
const packageJSON = JSON.parse(packageText);
@@ -155,6 +157,20 @@ function copyREADME(pkg, pkgJSON, writePath) {
155157
fs.writeFileSync(writePath, readme);
156158
}
157159

160+
// Appends any files marked as autoImport in the metadata.
161+
function prependAutoImports(pkg, packagePath) {
162+
const index = new URL("index.d.ts", packagePath);
163+
if (!fs.existsSync(index)) return;
164+
165+
const toPrepend = pkg.files
166+
.filter((f) => !!f.autoImport)
167+
.map((f) => `/// <reference path="./${f.to}" />`)
168+
.join("\n");
169+
170+
let indexText = fs.readFileSync(index, "utf-8");
171+
fs.writeFileSync(index, `${toPrepend}\n\n${indexText}`);
172+
}
173+
158174
if (process.argv[1] === fileURLToPath(import.meta.url)) {
159175
await go();
160176
}

0 commit comments

Comments
 (0)