Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tools: refactor tools/license2rtf to ESM #43232

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -1096,7 +1096,7 @@ endif
$(MACOSOUTDIR)/dist/npm/usr/local/lib/node_modules
unlink $(MACOSOUTDIR)/dist/node/usr/local/bin/npm
unlink $(MACOSOUTDIR)/dist/node/usr/local/bin/npx
$(NODE) tools/license2rtf.js < LICENSE > \
$(NODE) tools/license2rtf.mjs < LICENSE > \
$(MACOSOUTDIR)/installer/productbuild/Resources/license.rtf
cp doc/osx_installer_logo.png $(MACOSOUTDIR)/installer/productbuild/Resources
pkgbuild --version $(FULLVERSION) \
Expand Down
34 changes: 16 additions & 18 deletions tools/license2rtf.js → tools/license2rtf.mjs
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
'use strict';

const assert = require('assert');
const Stream = require('stream');

import assert from 'node:assert';
import Stream from 'node:stream';
import { pipeline } from 'node:stream/promises';
import { stdin, stdout } from 'node:process';

/*
* This filter consumes a stream of characters and emits one string per line.
Expand All @@ -28,6 +27,7 @@ class LineSplitter extends Stream {
if (this.buffer) {
this.emit('data', this.buffer);
}
this.writable = false;
this.emit('end');
}
}
Expand All @@ -53,6 +53,7 @@ class ParagraphParser extends Stream {
if (data)
this.parseLine(data + '');
this.flushParagraph();
this.writable = false;
this.emit('end');
}

Expand Down Expand Up @@ -212,6 +213,7 @@ class Unwrapper extends Stream {
end(data) {
if (data)
this.write(data);
this.writable = false;
this.emit('end');
}
}
Expand Down Expand Up @@ -273,6 +275,7 @@ class RtfGenerator extends Stream {
this.write(data);
if (this.didWriteAnything)
this.emitFooter();
this.writable = false;
this.emit('end');
}

Expand All @@ -287,19 +290,14 @@ class RtfGenerator extends Stream {
}
}


const stdin = process.stdin;
const stdout = process.stdout;
const lineSplitter = new LineSplitter();
const paragraphParser = new ParagraphParser();
const unwrapper = new Unwrapper();
const rtfGenerator = new RtfGenerator();

stdin.setEncoding('utf-8');
stdin.resume();

stdin.pipe(lineSplitter);
lineSplitter.pipe(paragraphParser);
paragraphParser.pipe(unwrapper);
unwrapper.pipe(rtfGenerator);
rtfGenerator.pipe(stdout);
await pipeline(
stdin,
new LineSplitter(),
new ParagraphParser(),
new Unwrapper(),
new RtfGenerator(),
stdout,
);
10 changes: 5 additions & 5 deletions vcbuild.bat
Original file line number Diff line number Diff line change
Expand Up @@ -405,7 +405,7 @@ if errorlevel 1 echo "Could not create junction to 'out\%config%'." & exit /B
if not defined sign goto licensertf

call tools\sign.bat Release\node.exe
if errorlevel 1 echo Failed to sign exe&goto exit
if errorlevel 1 echo Failed to sign exe, got error code %errorlevel%&goto exit

:licensertf
@rem Skip license.rtf generation if not requested.
Expand All @@ -426,12 +426,12 @@ if "%use_x64_node_exe%"=="true" (
set exit_code=1
goto exit
)
%x64_node_exe% tools\license2rtf.js < LICENSE > %config%\license.rtf
%x64_node_exe% tools\license2rtf.mjs < LICENSE > %config%\license.rtf
) else (
%node_exe% tools\license2rtf.js < LICENSE > %config%\license.rtf
%node_exe% tools\license2rtf.mjs < LICENSE > %config%\license.rtf
)

if errorlevel 1 echo Failed to generate license.rtf&goto exit
if errorlevel 1 echo Failed to generate license.rtf, got error code %errorlevel%&goto exit

:stage_package
if not defined stage_package goto install-doctools
Expand Down Expand Up @@ -538,7 +538,7 @@ if errorlevel 1 goto exit

if not defined sign goto upload
call tools\sign.bat node-v%FULLVERSION%-%target_arch%.msi
if errorlevel 1 echo Failed to sign msi&goto exit
if errorlevel 1 echo Failed to sign msi, got error code %errorlevel%&goto exit

:upload
@rem Skip upload if not requested
Expand Down