Skip to content

Commit e67b241

Browse files
committed
Leverage terser to mangle/compress the generated js messages
Fix: #1085
1 parent a725c65 commit e67b241

File tree

2 files changed

+11
-9
lines changed

2 files changed

+11
-9
lines changed

package.json

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,15 @@
1818
"rebuild": "npm run clean && node-gyp -j 16 rebuild",
1919
"rebuild:dev": "npm run clean && node-gyp -j 16 rebuild --debug",
2020
"generate-messages": "node scripts/generate_messages.js",
21-
"generate-messages:dev": "node scripts/generate_messages.js --debug",
21+
"generate-messages:dev": "node scripts/generate_messages.js --debug && npx --yes prettier --ignore-path --write generated/**/*.js",
2222
"generate-tsd-messages": "node scripts/generate_tsd.js",
23-
"clean": "node-gyp clean && npx rimraf@6.0.1 ./generated",
23+
"clean": "node-gyp clean && npx rimraf ./generated",
2424
"install": "npm run rebuild",
2525
"postinstall": "npm run generate-messages",
2626
"docs": "cd docs && make",
27-
"test": "nyc node --expose-gc ./scripts/run_test.js && npx tsd",
27+
"test": "nyc node --expose-gc ./scripts/run_test.js && tsd",
2828
"lint": "eslint && node ./scripts/cpplint.js",
29-
"format": "clang-format -i -style=file ./src/*.cpp ./src/*.hpp && prettier --write \"{lib,rosidl_gen,rostsd_gen,rosidl_parser,types,example,test,scripts,benchmark,rostsd_gen}/**/*.{js,md,ts}\" ./*.{js,md,ts}",
29+
"format": "clang-format -i -style=file ./src/*.cpp ./src/*.hpp && npx --yes prettier --write \"{lib,rosidl_gen,rostsd_gen,rosidl_parser,types,example,test,scripts,benchmark,rostsd_gen}/**/*.{js,md,ts}\" ./*.{js,md,ts}",
3030
"prepare": "husky",
3131
"coverage": "cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js"
3232
},
@@ -62,6 +62,7 @@
6262
"lint-staged": "^15.2.10",
6363
"mocha": "^11.0.2",
6464
"nyc": "^17.1.0",
65+
"rimraf": "^6.0.1",
6566
"sinon": "^19.0.2",
6667
"tree-kill": "^1.2.2",
6768
"tsd": "^0.31.2",
@@ -79,7 +80,7 @@
7980
"is-close": "^1.3.3",
8081
"json-bigint": "^1.0.0",
8182
"nan": "^2.22.0",
82-
"prettier": "^3.4.2",
83+
"terser": "^5.39.0",
8384
"walk": "^2.3.15"
8485
},
8586
"husky": {

rosidl_gen/idl_generator.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
'use strict';
1616

1717
const dot = require('dot');
18-
const prettier = require('prettier');
18+
const { minify } = require('terser');
1919
const fse = require('fs-extra');
2020
const path = require('path');
2121
const parser = require('../rosidl_parser/rosidl_parser.js');
@@ -41,11 +41,12 @@ function removeEmptyLines(str) {
4141
* @param {string} code
4242
*/
4343
async function writeGeneratedCode(dir, fileName, code) {
44-
if (fileName.endsWith('.js')) {
45-
code = await prettier.format(code, { parser: 'babel' });
44+
let result = null;
45+
if (!isDebug && fileName.endsWith('.js')) {
46+
result = await minify(code);
4647
}
4748
await fse.mkdirs(dir);
48-
await fse.writeFile(path.join(dir, fileName), code);
49+
await fse.writeFile(path.join(dir, fileName), result ? result.code : code);
4950
}
5051

5152
async function generateServiceJSStruct(

0 commit comments

Comments
 (0)