From c5e2df1d23047e7f467efa65dcdac2b47923f8c2 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com> Date: Wed, 4 Aug 2021 11:42:36 -0700 Subject: [PATCH 1/2] Remove static abort from AbortSignal @types/node doesn't have it, and it's not worth it to make @types/node create a new @types/node version. Co-authored-by: Orta Therox --- baselines/dom.generated.d.ts | 1 - baselines/serviceworker.generated.d.ts | 1 - baselines/sharedworker.generated.d.ts | 1 - baselines/webworker.generated.d.ts | 1 - inputfiles/removedTypes.jsonc | 8 ++++++++ 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 980c65030..808b9f3ff 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -1912,7 +1912,6 @@ interface AbortSignal extends EventTarget { declare var AbortSignal: { prototype: AbortSignal; new(): AbortSignal; - abort(): AbortSignal; }; interface AbstractRange { diff --git a/baselines/serviceworker.generated.d.ts b/baselines/serviceworker.generated.d.ts index 36afdffee..a5271ec6f 100644 --- a/baselines/serviceworker.generated.d.ts +++ b/baselines/serviceworker.generated.d.ts @@ -697,7 +697,6 @@ interface AbortSignal extends EventTarget { declare var AbortSignal: { prototype: AbortSignal; new(): AbortSignal; - abort(): AbortSignal; }; interface AbstractWorkerEventMap { diff --git a/baselines/sharedworker.generated.d.ts b/baselines/sharedworker.generated.d.ts index e5555d938..51b34a52b 100644 --- a/baselines/sharedworker.generated.d.ts +++ b/baselines/sharedworker.generated.d.ts @@ -669,7 +669,6 @@ interface AbortSignal extends EventTarget { declare var AbortSignal: { prototype: AbortSignal; new(): AbortSignal; - abort(): AbortSignal; }; interface AbstractWorkerEventMap { diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index e64742eba..31186c713 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -703,7 +703,6 @@ interface AbortSignal extends EventTarget { declare var AbortSignal: { prototype: AbortSignal; new(): AbortSignal; - abort(): AbortSignal; }; interface AbstractWorkerEventMap { diff --git a/inputfiles/removedTypes.jsonc b/inputfiles/removedTypes.jsonc index 67220d5cf..88b6b6074 100644 --- a/inputfiles/removedTypes.jsonc +++ b/inputfiles/removedTypes.jsonc @@ -166,6 +166,14 @@ "Text": { "implements": ["GeometryUtils"] }, + // This is hard to get in sync with @types/node + "AbortSignal": { + "methods": { + "method": { + "abort": null + } + } + }, "WebGLBuffer": { "extends": null }, From e79b67fd066ab90608097a744e56ec0d963bb620 Mon Sep 17 00:00:00 2001 From: Orta Date: Fri, 6 Aug 2021 17:21:02 +0100 Subject: [PATCH 2/2] Moves removing the static abort function to a part of the deploy process --- baselines/dom.generated.d.ts | 1 + baselines/serviceworker.generated.d.ts | 1 + baselines/sharedworker.generated.d.ts | 1 + baselines/webworker.generated.d.ts | 1 + deploy/README.md | 8 +++++++- deploy/createTypesPackages.js | 25 +++++++++++++++++++++++++ inputfiles/removedTypes.jsonc | 8 -------- 7 files changed, 36 insertions(+), 9 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 808b9f3ff..980c65030 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -1912,6 +1912,7 @@ interface AbortSignal extends EventTarget { declare var AbortSignal: { prototype: AbortSignal; new(): AbortSignal; + abort(): AbortSignal; }; interface AbstractRange { diff --git a/baselines/serviceworker.generated.d.ts b/baselines/serviceworker.generated.d.ts index a5271ec6f..36afdffee 100644 --- a/baselines/serviceworker.generated.d.ts +++ b/baselines/serviceworker.generated.d.ts @@ -697,6 +697,7 @@ interface AbortSignal extends EventTarget { declare var AbortSignal: { prototype: AbortSignal; new(): AbortSignal; + abort(): AbortSignal; }; interface AbstractWorkerEventMap { diff --git a/baselines/sharedworker.generated.d.ts b/baselines/sharedworker.generated.d.ts index 51b34a52b..e5555d938 100644 --- a/baselines/sharedworker.generated.d.ts +++ b/baselines/sharedworker.generated.d.ts @@ -669,6 +669,7 @@ interface AbortSignal extends EventTarget { declare var AbortSignal: { prototype: AbortSignal; new(): AbortSignal; + abort(): AbortSignal; }; interface AbstractWorkerEventMap { diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index 31186c713..e64742eba 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -703,6 +703,7 @@ interface AbortSignal extends EventTarget { declare var AbortSignal: { prototype: AbortSignal; new(): AbortSignal; + abort(): AbortSignal; }; interface AbstractWorkerEventMap { diff --git a/deploy/README.md b/deploy/README.md index 81c992372..fda165754 100644 --- a/deploy/README.md +++ b/deploy/README.md @@ -1,3 +1,9 @@ ## Deploys -We want to generate @types/xyz \ No newline at end of file +We want to take the `d.ts` files inside `generated` into a set of different `@types` packages. This infra all lives inside these files as multiple steps. For debugging you mostly want to run: + +```sh +node deploy/createTypesPackages.js +``` + +Then look at `deploy/generated` to see the set of NPM packages. \ No newline at end of file diff --git a/deploy/createTypesPackages.js b/deploy/createTypesPackages.js index 027f629dd..3ba88a80b 100644 --- a/deploy/createTypesPackages.js +++ b/deploy/createTypesPackages.js @@ -90,6 +90,7 @@ const go = async () => { }); prependAutoImports(pkg, packagePath); + postProcessDTSFiles(pkg, packagePath); // Setup the files in the repo const newPkgJSON = await updatePackageJSON(pkg, packagePath); @@ -188,6 +189,30 @@ function prependAutoImports(pkg, packagePath) { fs.writeFileSync(index, `${toPrepend}\n\n${indexText}`); } +/** + * Handles any post-processing we do for deployment. + * @param {Package} pkg + * @param {URL} packagePath + */ +function postProcessDTSFiles(pkg, packagePath) { + iterateThroughFiles((content) => { + return content.replace( + "abort(): AbortSignal;", + "// abort(): AbortSignal; - To be re-added in the future" + ); + }); + + /** @param {(str:string) => string} contentReplacer */ + function iterateThroughFiles(contentReplacer) { + pkg.files.forEach((fileRef) => { + const dtsFileURL = new URL(fileRef.to, packagePath); + let dtsContent = fs.readFileSync(dtsFileURL, "utf-8"); + dtsContent = contentReplacer(dtsContent); + fs.writeFileSync(dtsFileURL, dtsContent); + }); + } +} + if (process.argv[1] === fileURLToPath(import.meta.url)) { await go(); } diff --git a/inputfiles/removedTypes.jsonc b/inputfiles/removedTypes.jsonc index 88b6b6074..67220d5cf 100644 --- a/inputfiles/removedTypes.jsonc +++ b/inputfiles/removedTypes.jsonc @@ -166,14 +166,6 @@ "Text": { "implements": ["GeometryUtils"] }, - // This is hard to get in sync with @types/node - "AbortSignal": { - "methods": { - "method": { - "abort": null - } - } - }, "WebGLBuffer": { "extends": null },