From aab16448a658900b8f577b1ebd8e2b5af6bca907 Mon Sep 17 00:00:00 2001 From: rhysd Date: Wed, 1 Jan 2020 00:46:04 +0900 Subject: [PATCH 1/2] fix: compilation error with the latest @types/node this patch will fix https://github.com/electron/electron/issues/21612 --- base/base_inner.ts | 2 ++ src/module-declaration.ts | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/base/base_inner.ts b/base/base_inner.ts index 33c6750..94e80e0 100644 --- a/base/base_inner.ts +++ b/base/base_inner.ts @@ -1,3 +1,5 @@ + const EventEmitter: typeof import('events').EventEmitter; + class Accelerator extends String { } \ No newline at end of file diff --git a/src/module-declaration.ts b/src/module-declaration.ts index 0ca5ab3..61b6289 100644 --- a/src/module-declaration.ts +++ b/src/module-declaration.ts @@ -44,7 +44,11 @@ export const generateModuleDeclaration = ( `${isClass ? 'class' : 'interface'} ${_.upperFirst( module.name, )} extends ${module.extends || - (module.name === 'remote' ? 'MainInterface' : 'NodeJS.EventEmitter')} {`, + (module.name === 'remote' + ? 'MainInterface' + : isClass + ? 'EventEmitter' + : 'NodeJS.EventEmitter')} {`, ); moduleAPI.push('', `// Docs: ${module.websiteUrl}`, ''); } else { From a372a33145880a05e37ec25aacfc42c7e7cf78c5 Mon Sep 17 00:00:00 2001 From: rhysd Date: Sun, 5 Jan 2020 14:49:22 +0900 Subject: [PATCH 2/2] apply suggestions by @MarshallOfSound --- base/base_inner.ts | 2 +- src/module-declaration.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/base/base_inner.ts b/base/base_inner.ts index 94e80e0..c4b7317 100644 --- a/base/base_inner.ts +++ b/base/base_inner.ts @@ -1,4 +1,4 @@ - const EventEmitter: typeof import('events').EventEmitter; + const NodeEventEmitter: typeof import('events').EventEmitter; class Accelerator extends String { diff --git a/src/module-declaration.ts b/src/module-declaration.ts index 61b6289..1bc7b39 100644 --- a/src/module-declaration.ts +++ b/src/module-declaration.ts @@ -47,7 +47,7 @@ export const generateModuleDeclaration = ( (module.name === 'remote' ? 'MainInterface' : isClass - ? 'EventEmitter' + ? 'NodeEventEmitter' : 'NodeJS.EventEmitter')} {`, ); moduleAPI.push('', `// Docs: ${module.websiteUrl}`, '');