diff --git a/binding.gyp b/binding.gyp index f3bbf2ec..50a2b604 100644 --- a/binding.gyp +++ b/binding.gyp @@ -8,10 +8,10 @@ } }, 'variables': { - 'ros_version': ' 2105', { 'include_dirs': [ - " console.log(JSON.stringify(p)))\")" + " console.log(JSON.stringify(p)))\")" ], 'library_dirs': [ '<(ros_lib_dir)', diff --git a/example/rosidl/README.md b/example/rosidl/README.md index 1cefc448..a618fcd8 100644 --- a/example/rosidl/README.md +++ b/example/rosidl/README.md @@ -289,7 +289,7 @@ Each parsed field contains these properties: ### Message Parsing ```javascript -const parser = require('../rosidl_parser/rosidl_parser.js'); +const parser = require('../rosidl_parser/rosidl_parser.cjs'); parser.parseMessageFile(packageName, packagePath).then((spec) => { console.log(`Message: ${spec.msgName}`); diff --git a/example/rosidl/rosidl-parse-action-example.js b/example/rosidl/rosidl-parse-action-example.js index e95d3778..28b23b78 100644 --- a/example/rosidl/rosidl-parse-action-example.js +++ b/example/rosidl/rosidl-parse-action-example.js @@ -15,7 +15,7 @@ const rosInstallPath = process.env.AMENT_PREFIX_PATH; const packageName = 'test_msgs'; const packagePath = rosInstallPath + '/share/test_msgs/action/Fibonacci.action'; -const parser = require('../../rosidl_parser/rosidl_parser.js'); +const parser = require('../../rosidl_parser/rosidl_parser.cjs'); parser .parseActionFile(packageName, packagePath) diff --git a/example/rosidl/rosidl-parse-msg-example.js b/example/rosidl/rosidl-parse-msg-example.js index 1d01ceba..a592aada 100644 --- a/example/rosidl/rosidl-parse-msg-example.js +++ b/example/rosidl/rosidl-parse-msg-example.js @@ -14,7 +14,7 @@ 'use strict'; -const parser = require('../../rosidl_parser/rosidl_parser.js'); +const parser = require('../../rosidl_parser/rosidl_parser.cjs'); const rosInstallPath = process.env.AMENT_PREFIX_PATH; const packageName = 'std_msgs'; diff --git a/example/rosidl/rosidl-parse-srv-example.js b/example/rosidl/rosidl-parse-srv-example.js index 44b72cb8..f2384a09 100644 --- a/example/rosidl/rosidl-parse-srv-example.js +++ b/example/rosidl/rosidl-parse-srv-example.js @@ -14,7 +14,7 @@ 'use strict'; -const parser = require('../../rosidl_parser/rosidl_parser.js'); +const parser = require('../../rosidl_parser/rosidl_parser.cjs'); const rosInstallPath = process.env.AMENT_PREFIX_PATH; const packageName = 'std_srvs'; diff --git a/index.js b/index.js index 847085f7..7c301be6 100644 --- a/index.js +++ b/index.js @@ -25,7 +25,7 @@ const Context = require('./lib/context.js'); const debug = require('debug')('rclnodejs'); const Duration = require('./lib/duration.js'); const fs = require('fs'); -const generator = require('./rosidl_gen/index.js'); +const generator = require('./rosidl_gen/index.cjs'); const loader = require('./lib/interface_loader.js'); const logging = require('./lib/logging.js'); const NodeOptions = require('./lib/node_options.js'); @@ -40,7 +40,7 @@ const { const path = require('path'); const QoS = require('./lib/qos.js'); const rclnodejs = require('./lib/native_loader.js'); -const tsdGenerator = require('./rostsd_gen/index.js'); +const tsdGenerator = require('./rostsd_gen/index.cjs'); const validator = require('./lib/validator.js'); const Time = require('./lib/time.js'); const ActionClient = require('./lib/action/client.js'); diff --git a/lib/interface_loader.js b/lib/interface_loader.js index 94accd9f..d0dbb47c 100644 --- a/lib/interface_loader.js +++ b/lib/interface_loader.js @@ -16,7 +16,7 @@ const path = require('path'); const fs = require('fs'); -const generator = require('../rosidl_gen/index.js'); +const generator = require('../rosidl_gen/index.cjs'); const { TypeValidationError, ValidationError } = require('./errors.js'); let interfaceLoader = { diff --git a/lib/message_introspector.js b/lib/message_introspector.js index 2b0c82ad..17c09024 100644 --- a/lib/message_introspector.js +++ b/lib/message_introspector.js @@ -15,7 +15,7 @@ 'use strict'; const loader = require('./interface_loader.js'); -const { toPlainObject } = require('../rosidl_gen/message_translator.js'); +const { toPlainObject } = require('../rosidl_gen/message_translator.cjs'); const { TypeValidationError } = require('./errors.js'); /** diff --git a/package.json b/package.json index 4964498d..f6e23c47 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "rclnodejs", "version": "1.7.0", "description": "ROS2.0 JavaScript client with Node.js", - "main": "index.js", + "main": "./index.js", "types": "types/index.d.ts", "keywords": [ "rclnodejs", @@ -17,24 +17,24 @@ "build:dev": "node-gyp -j 16 build --debug", "rebuild": "npm run clean && node-gyp -j 16 rebuild", "rebuild:dev": "npm run clean && node-gyp -j 16 rebuild --debug", - "generate-messages": "node scripts/generate_messages.js", - "generate-messages-idl": "node scripts/generate_messages.js --idl", - "generate-messages:dev": "node scripts/generate_messages.js --debug", - "generate-tsd-messages": "node scripts/generate_tsd.js", + "generate-messages": "node scripts/generate_messages.cjs", + "generate-messages-idl": "node scripts/generate_messages.cjs --idl", + "generate-messages:dev": "node scripts/generate_messages.cjs --debug", + "generate-tsd-messages": "node scripts/generate_tsd.cjs", "clean": "node-gyp clean && npx rimraf ./generated", - "install": "node scripts/install.js", + "install": "node scripts/install.cjs", "postinstall": "npm run generate-messages", "docs": "cd docs && make", - "test": "nyc node --expose-gc ./scripts/run_test.js && tsd", - "test-idl": "nyc node --expose-gc ./scripts/run_test.js --idl", - "lint": "eslint && node ./scripts/cpplint.js", + "test": "nyc node --expose-gc ./scripts/run_test.cjs && tsd", + "test-idl": "nyc node --expose-gc ./scripts/run_test.cjs --idl", + "lint": "eslint && node ./scripts/cpplint.cjs", "format": "clang-format -i -style=file ./src/*.cpp ./src/*.h && npx --yes prettier --write \"{lib,rosidl_gen,rostsd_gen,rosidl_parser,types,example,test,scripts,benchmark,rostsd_gen}/**/*.{js,md,ts}\" ./*.{js,md,ts}", "prepare": "husky", "coverage": "cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js", - "prebuild": "prebuildify --napi --strip --target 16.20.2 --target electron@23.0.0 && node scripts/tag_prebuilds.js" + "prebuild": "prebuildify --napi --strip --target 16.20.2 --target electron@23.0.0 && node scripts/tag_prebuilds.cjs" }, "bin": { - "generate-ros-messages": "./scripts/generate_messages.js" + "generate-ros-messages": "./scripts/generate_messages.cjs" }, "authors": [ "Minggang Wang ", @@ -100,6 +100,6 @@ "directory": "test/types" }, "engines": { - "node": ">= 16.13.0" + "node": ">= 18.0.0" } } diff --git a/rosidl_convertor/idl_convertor.js b/rosidl_convertor/idl_convertor.cjs similarity index 95% rename from rosidl_convertor/idl_convertor.js rename to rosidl_convertor/idl_convertor.cjs index 3bd077e6..4d97a158 100644 --- a/rosidl_convertor/idl_convertor.js +++ b/rosidl_convertor/idl_convertor.cjs @@ -19,7 +19,7 @@ const path = require('path'); const fse = require('../lib/utils.js'); const execFile = require('child_process').execFile; const pythonExecutable = - require('../rosidl_parser/py_utils').getPythonExecutable('python3'); + require('../rosidl_parser/py_utils.cjs').getPythonExecutable('python3'); async function convertIDLToROS2IDL(pkgName, idlFilePath, outputDir) { const packagePath = path.join(outputDir, pkgName); diff --git a/rosidl_gen/action_msgs.js b/rosidl_gen/action_msgs.cjs similarity index 100% rename from rosidl_gen/action_msgs.js rename to rosidl_gen/action_msgs.cjs diff --git a/rosidl_gen/deallocator.js b/rosidl_gen/deallocator.cjs similarity index 100% rename from rosidl_gen/deallocator.js rename to rosidl_gen/deallocator.cjs diff --git a/rosidl_gen/filter.js b/rosidl_gen/filter.cjs similarity index 100% rename from rosidl_gen/filter.js rename to rosidl_gen/filter.cjs diff --git a/rosidl_gen/generate_worker.js b/rosidl_gen/generate_worker.cjs similarity index 94% rename from rosidl_gen/generate_worker.js rename to rosidl_gen/generate_worker.cjs index 921306bb..47a6859b 100644 --- a/rosidl_gen/generate_worker.js +++ b/rosidl_gen/generate_worker.cjs @@ -13,10 +13,10 @@ // limitations under the License. const fse = require('../lib/utils.js'); -const generateJSStructFromIDL = require('./idl_generator.js'); -const packages = require('./packages.js'); +const generateJSStructFromIDL = require('./idl_generator.cjs'); +const packages = require('./packages.cjs'); const path = require('path'); -const idlConvertor = require('../rosidl_convertor/idl_convertor.js'); +const idlConvertor = require('../rosidl_convertor/idl_convertor.cjs'); const generatedRoot = path.join(__dirname, '../generated/'); const idlPath = path.join(generatedRoot, 'share'); diff --git a/rosidl_gen/idl_generator.js b/rosidl_gen/idl_generator.cjs similarity index 96% rename from rosidl_gen/idl_generator.js rename to rosidl_gen/idl_generator.cjs index 1cf8aa1f..a6409a19 100644 --- a/rosidl_gen/idl_generator.js +++ b/rosidl_gen/idl_generator.cjs @@ -16,13 +16,13 @@ const fse = require('../lib/utils.js'); const path = require('path'); -const parser = require('../rosidl_parser/rosidl_parser.js'); -const actionMsgs = require('./action_msgs.js'); +const parser = require('../rosidl_parser/rosidl_parser.cjs'); +const actionMsgs = require('./action_msgs.cjs'); const DistroUtils = require('../lib/distro.js'); -const generateMessage = require('./templates/message-template.js'); -const generateService = require('./templates/service-template.js'); -const generateAction = require('./templates/action-template.js'); -const generateServiceEvent = require('./templates/service-event-template.js'); +const generateMessage = require('./templates/message-template.cjs'); +const generateService = require('./templates/service-template.cjs'); +const generateAction = require('./templates/action-template.cjs'); +const generateServiceEvent = require('./templates/service-event-template.cjs'); const isDebug = !!process.argv.find((arg) => arg === '--debug'); diff --git a/rosidl_gen/index.js b/rosidl_gen/index.cjs similarity index 95% rename from rosidl_gen/index.js rename to rosidl_gen/index.cjs index 1e53b81e..6278c465 100644 --- a/rosidl_gen/index.js +++ b/rosidl_gen/index.cjs @@ -15,10 +15,10 @@ 'use strict'; const fse = require('../lib/utils.js'); -const generateJSStructFromIDL = require('./idl_generator.js'); -const packages = require('./packages.js'); +const generateJSStructFromIDL = require('./idl_generator.cjs'); +const packages = require('./packages.cjs'); const path = require('path'); -const idlConvertor = require('../rosidl_convertor/idl_convertor.js'); +const idlConvertor = require('../rosidl_convertor/idl_convertor.cjs'); const generatedRoot = path.join(__dirname, '../generated/'); const serviceMsgPath = path.join(generatedRoot, 'srv_msg'); const idlPath = path.join(generatedRoot, 'share'); @@ -58,7 +58,7 @@ function generateInPathSyncWorker(targetPath) { // Use child_process.spawnSync for truly synchronous execution const result = require('child_process').spawnSync( 'node', - [path.join(__dirname, 'generate_worker.js')], + [path.join(__dirname, 'generate_worker.cjs')], { env: { ...process.env, WORKER_TARGET_PATH: targetPath }, encoding: 'utf8', diff --git a/rosidl_gen/message_translator.js b/rosidl_gen/message_translator.cjs similarity index 100% rename from rosidl_gen/message_translator.js rename to rosidl_gen/message_translator.cjs diff --git a/rosidl_gen/packages.js b/rosidl_gen/packages.cjs similarity index 99% rename from rosidl_gen/packages.js rename to rosidl_gen/packages.cjs index ee37461c..c239e583 100644 --- a/rosidl_gen/packages.js +++ b/rosidl_gen/packages.cjs @@ -20,7 +20,7 @@ const readline = require('readline'); const path = require('path'); const walk = require('walk'); const os = require('os'); -const pkgFilters = require('../rosidl_gen/filter.js'); +const pkgFilters = require('../rosidl_gen/filter.cjs'); const fsp = fs.promises; diff --git a/rosidl_gen/primitive_types.js b/rosidl_gen/primitive_types.cjs similarity index 100% rename from rosidl_gen/primitive_types.js rename to rosidl_gen/primitive_types.cjs diff --git a/rosidl_gen/templates/action-template.js b/rosidl_gen/templates/action-template.cjs similarity index 100% rename from rosidl_gen/templates/action-template.js rename to rosidl_gen/templates/action-template.cjs diff --git a/rosidl_gen/templates/message-template.js b/rosidl_gen/templates/message-template.cjs similarity index 99% rename from rosidl_gen/templates/message-template.js rename to rosidl_gen/templates/message-template.cjs index f91ad6cf..51923b5e 100644 --- a/rosidl_gen/templates/message-template.js +++ b/rosidl_gen/templates/message-template.cjs @@ -295,9 +295,9 @@ ${willUseTypedArray ? "const rclnodejs = require('../../lib/native_loader.js');" const ref = require('../../third_party/ref-napi'); const StructType = require('@rclnodejs/ref-struct-di')(ref); const ArrayType = require('@rclnodejs/ref-array-di')(ref); -const primitiveTypes = require('../../rosidl_gen/primitive_types.js'); -const deallocator = require('../../rosidl_gen/deallocator.js'); -const translator = require('../../rosidl_gen/message_translator.js'); +const primitiveTypes = require('../../rosidl_gen/primitive_types.cjs'); +const deallocator = require('../../rosidl_gen/deallocator.cjs'); +const translator = require('../../rosidl_gen/message_translator.cjs'); ${spec.fields .map((field) => { diff --git a/rosidl_gen/templates/service-event-template.js b/rosidl_gen/templates/service-event-template.cjs similarity index 100% rename from rosidl_gen/templates/service-event-template.js rename to rosidl_gen/templates/service-event-template.cjs diff --git a/rosidl_gen/templates/service-template.js b/rosidl_gen/templates/service-template.cjs similarity index 100% rename from rosidl_gen/templates/service-template.js rename to rosidl_gen/templates/service-template.cjs diff --git a/rosidl_parser/py_utils.js b/rosidl_parser/py_utils.cjs similarity index 100% rename from rosidl_parser/py_utils.js rename to rosidl_parser/py_utils.cjs diff --git a/rosidl_parser/rosidl_parser.js b/rosidl_parser/rosidl_parser.cjs similarity index 97% rename from rosidl_parser/rosidl_parser.js rename to rosidl_parser/rosidl_parser.cjs index 04e2e52b..da6c6aea 100644 --- a/rosidl_parser/rosidl_parser.js +++ b/rosidl_parser/rosidl_parser.cjs @@ -18,7 +18,7 @@ const { compareVersions } = require('../lib/utils.js'); const path = require('path'); const execFile = require('child_process').execFile; -const pythonExecutable = require('./py_utils').getPythonExecutable('python3'); +const pythonExecutable = require('./py_utils.cjs').getPythonExecutable('python3'); const contextSupportedVersion = '21.0.0.0'; const currentVersion = process.version; diff --git a/rostsd_gen/index.js b/rostsd_gen/index.cjs similarity index 99% rename from rostsd_gen/index.js rename to rostsd_gen/index.cjs index 957252db..62a210ef 100644 --- a/rostsd_gen/index.js +++ b/rostsd_gen/index.cjs @@ -29,7 +29,7 @@ const os = require('os'); const path = require('path'); const fs = require('fs'); const loader = require('../lib/interface_loader.js'); -const pkgFilters = require('../rosidl_gen/filter.js'); +const pkgFilters = require('../rosidl_gen/filter.cjs'); const descriptorInterfaceNamespace = 'descriptor'; diff --git a/rostsd_gen/readme.md b/rostsd_gen/readme.md index 11e24c1d..acc98da1 100644 --- a/rostsd_gen/readme.md +++ b/rostsd_gen/readme.md @@ -9,5 +9,5 @@ Run this script every time new interfaces are generated, see script/generate_mes You can update the interfaces.d.ts types manually by running the generate_tsd.js script. ``` -node node_modules/rclnodejs/scripts/generate_tsd.js +node node_modules/rclnodejs/scripts/generate_tsd.cjs ``` diff --git a/scripts/config.js b/scripts/config.cjs similarity index 100% rename from scripts/config.js rename to scripts/config.cjs diff --git a/scripts/cpplint.js b/scripts/cpplint.cjs similarity index 100% rename from scripts/cpplint.js rename to scripts/cpplint.cjs diff --git a/scripts/generate_messages.js b/scripts/generate_messages.cjs similarity index 91% rename from scripts/generate_messages.js rename to scripts/generate_messages.cjs index 57b239f8..b6ce6232 100755 --- a/scripts/generate_messages.js +++ b/scripts/generate_messages.cjs @@ -17,8 +17,8 @@ /* eslint-disable camelcase */ 'use strict'; -const generator = require('../rosidl_gen/index.js'); -const tsdGenerator = require('../rostsd_gen/index.js'); +const generator = require('../rosidl_gen/index.cjs'); +const tsdGenerator = require('../rostsd_gen/index.cjs'); const useIDL = !!process.argv.find((arg) => arg === '--idl'); async function main() { diff --git a/scripts/generate_tsd.js b/scripts/generate_tsd.cjs similarity index 93% rename from scripts/generate_tsd.js rename to scripts/generate_tsd.cjs index da29fd06..36739ab3 100644 --- a/scripts/generate_tsd.js +++ b/scripts/generate_tsd.cjs @@ -12,7 +12,7 @@ 'use strict'; -const tsdGenerator = require('../rostsd_gen/index.js'); +const tsdGenerator = require('../rostsd_gen/index.cjs'); console.log('Start TypeScript declaration file generation...'); try { diff --git a/scripts/install.js b/scripts/install.cjs similarity index 100% rename from scripts/install.js rename to scripts/install.cjs diff --git a/scripts/ros_distro.js b/scripts/ros_distro.cjs similarity index 100% rename from scripts/ros_distro.js rename to scripts/ros_distro.cjs diff --git a/scripts/run_test.js b/scripts/run_test.cjs similarity index 100% rename from scripts/run_test.js rename to scripts/run_test.cjs diff --git a/scripts/tag_prebuilds.js b/scripts/tag_prebuilds.cjs similarity index 100% rename from scripts/tag_prebuilds.js rename to scripts/tag_prebuilds.cjs diff --git a/test/test-array-data.js b/test/test-array-data.js index dfc2b58c..164895bb 100644 --- a/test/test-array-data.js +++ b/test/test-array-data.js @@ -17,7 +17,7 @@ const assert = require('assert'); const deepEqual = require('deep-equal'); const rclnodejs = require('../index.js'); -const translator = require('../rosidl_gen/message_translator.js'); +const translator = require('../rosidl_gen/message_translator.cjs'); const arrayGen = require('./array_generator.js'); const { isTypedArray } = require('./utils.js'); diff --git a/test/test-lifecycle.js b/test/test-lifecycle.js index b628ad3d..3fc81b2b 100644 --- a/test/test-lifecycle.js +++ b/test/test-lifecycle.js @@ -321,7 +321,7 @@ describe('LifecycleNode test suite', function () { // TODO: refactor the version info to reusable location const GALACTIC_VERSION = 2105; const versionInfo = childProcess - .execSync('node scripts/ros_distro.js') + .execSync('node scripts/ros_distro.cjs') .toString('utf-8'); const version = versionInfo && versionInfo.length > 0 diff --git a/test/test-message-object.js b/test/test-message-object.js index b0efc449..95c4f818 100644 --- a/test/test-message-object.js +++ b/test/test-message-object.js @@ -30,7 +30,7 @@ describe('Rclnodejs createMessage() testing', function () { }); it('Test .createMessage() for every message in system', function () { - const packages = require('../rosidl_gen/packages.js'); + const packages = require('../rosidl_gen/packages.cjs'); const installedPackagesRoot = os.type() === 'Windows_NT' ? process.env.AMENT_PREFIX_PATH.split(';') @@ -171,7 +171,7 @@ describe('Rclnodejs createMessageObject() testing', function () { }); it('Test .createMessageObject() for every message in system', function () { - const packages = require('../rosidl_gen/packages.js'); + const packages = require('../rosidl_gen/packages.cjs'); const installedPackagesRoot = os.type() === 'Windows_NT' ? process.env.AMENT_PREFIX_PATH.split(';') diff --git a/test/test-messsage-generation-overlay.js b/test/test-messsage-generation-overlay.js index 08edc862..eb6a9f43 100644 --- a/test/test-messsage-generation-overlay.js +++ b/test/test-messsage-generation-overlay.js @@ -19,7 +19,7 @@ const childProcess = require('child_process'); const fs = require('fs'); const path = require('path'); const rclnodejs = require('../index.js'); -const generator = require('../rosidl_gen/index.js'); +const generator = require('../rosidl_gen/index.cjs'); const GENERATED_PATH = path.join(__dirname, '..', 'generated'); const POINT_PATH = path.join( diff --git a/test/test-rosidl-message-generator.js b/test/test-rosidl-message-generator.js index f94c2261..ce78456f 100644 --- a/test/test-rosidl-message-generator.js +++ b/test/test-rosidl-message-generator.js @@ -101,7 +101,7 @@ describe('ROSIDL Node.js message generator test suite', function () { it('Try require all message classes', function () { this.timeout(60 * 1000); - const packages = require('../rosidl_gen/packages.js'); + const packages = require('../rosidl_gen/packages.cjs'); const installedPackagesRoot = os.type() === 'Windows_NT' ? process.env.AMENT_PREFIX_PATH.split(';') diff --git a/test/test-security-related.js b/test/test-security-related.js index a975e0a5..5492c87e 100644 --- a/test/test-security-related.js +++ b/test/test-security-related.js @@ -17,7 +17,7 @@ const assert = require('assert'); const rclnodejs = require('../index.js'); const assertThrowsError = require('./utils.js').assertThrowsError; -const translator = require('../rosidl_gen/message_translator.js'); +const translator = require('../rosidl_gen/message_translator.cjs'); const arrayGen = require('./array_generator.js'); describe('Destroying non-existent objects testing', function () {