diff --git a/.lunteignore b/.lunteignore new file mode 100644 index 0000000..af7b3d3 --- /dev/null +++ b/.lunteignore @@ -0,0 +1,2 @@ +bench/ +build/ diff --git a/npm/index.d.ts b/npm/index.d.ts index 001a73d..3fe20b0 100644 --- a/npm/index.d.ts +++ b/npm/index.d.ts @@ -29,7 +29,7 @@ interface Bare extends EventEmitter { readonly pid: number exitCode: number readonly version: string - readonly versions: { readonly [package: string]: string } + readonly versions: { readonly [library: string]: string } exit(code?: number): never suspend(linger?: number): void diff --git a/package-lock.json b/package-lock.json index 78dbb7a..0441dce 100644 --- a/package-lock.json +++ b/package-lock.json @@ -35,6 +35,7 @@ "cmake-fetch": "^1.0.0", "cmake-harden": "^1.1.2", "cmake-napi": "^1.0.7", + "lunte": "^1.4.0", "prettier": "^3.3.3", "prettier-config-holepunch": "^2.0.0" } @@ -195,6 +196,17 @@ } } }, + "node_modules/bare-debug-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/bare-debug-log/-/bare-debug-log-2.0.0.tgz", + "integrity": "sha512-Vi42PkMQsNV9PUpx2Gl1hikshx5O9FzMJ6o9Nnopseg7qLBBK7Nl31d0RHcfwLEAfmcPApytpc0ZFfq68u22FQ==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "bare-os": "^3.0.1" + } + }, "node_modules/bare-dns": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/bare-dns/-/bare-dns-2.1.4.tgz", @@ -204,6 +216,33 @@ "bare": ">=1.7.0" } }, + "node_modules/bare-encoding": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/bare-encoding/-/bare-encoding-1.0.0.tgz", + "integrity": "sha512-9T5CSCaytaIWZpFWx9LQLJ6/z/m2Slnan9tQBKmOvoq/UtPBbOKT/B2fo29Xhi4X1FFtNx8DFdtrFgqm2yse/Q==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "peerDependencies": { + "bare-buffer": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + } + } + }, + "node_modules/bare-env": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bare-env/-/bare-env-3.0.0.tgz", + "integrity": "sha512-0u964P5ZLAxTi+lW4Kjp7YRJQ5gZr9ycYOtjLxsSrupgMz3sn5Z9n4SH/JIifHwvadsf1brA2JAjP+9IOWwTiw==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "bare-os": "^3.0.1" + } + }, "node_modules/bare-events": { "version": "2.8.2", "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", @@ -502,6 +541,23 @@ "bare": ">=1.16.0" } }, + "node_modules/bare-process": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/bare-process/-/bare-process-4.2.2.tgz", + "integrity": "sha512-ikzEw+HGLB+2lS/WLVEsqi8BXBwzleG3n7DYI0v6/YNklvNabOIGlLd1dof+7Jw5ob4jsBRPtyflweVahY7rFA==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "bare-env": "^3.0.0", + "bare-events": "^2.3.1", + "bare-hrtime": "^2.0.0", + "bare-os": "^3.5.0", + "bare-pipe": "^4.0.0", + "bare-signals": "^4.0.0", + "bare-tty": "^5.0.0" + } + }, "node_modules/bare-queue-microtask": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/bare-queue-microtask/-/bare-queue-microtask-1.0.0.tgz", @@ -599,6 +655,32 @@ } } }, + "node_modules/bare-subprocess": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bare-subprocess/-/bare-subprocess-5.2.2.tgz", + "integrity": "sha512-L6oXgQ1aWs25RtG5Ky0bDD06p3RAcVVrDDMWb1DfXpHtyEWxamcyIWUbSykxMTWrpLlmSj6ytbb6yoKehGFfmw==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "bare-env": "^3.0.0", + "bare-events": "^2.5.4", + "bare-os": "^3.0.1", + "bare-pipe": "^4.0.0", + "bare-url": "^2.2.2" + }, + "engines": { + "bare": ">=1.7.0" + }, + "peerDependencies": { + "bare-buffer": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + } + } + }, "node_modules/bare-system-logger": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bare-system-logger/-/bare-system-logger-1.0.2.tgz", @@ -694,6 +776,21 @@ "bare-path": "^3.0.0" } }, + "node_modules/bare-utils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/bare-utils/-/bare-utils-1.5.1.tgz", + "integrity": "sha512-mxCkFvmDU3mlD/mb+pT64kKXOsx2KMsWLQbngN1LB+NOXfhfnRnyvpy3VZc6m7gzQxe57Bsi+aTCBqA4/S3elQ==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "bare-debug-log": "^2.0.0", + "bare-encoding": "^1.0.0", + "bare-format": "^1.0.0", + "bare-inspect": "^3.0.0", + "bare-type": "^1.0.6" + } + }, "node_modules/bare-ws": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/bare-ws/-/bare-ws-2.0.4.tgz", @@ -1267,6 +1364,30 @@ "unix-path-resolve": "^1.0.2" } }, + "node_modules/lunte": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/lunte/-/lunte-1.4.0.tgz", + "integrity": "sha512-86IbXmvzkMYuejVmlVeoz/ubvI8oaxsV2N6TYhfCLL+rzOxpKRQSvhhXmL5w6OEZfLEf/FnP64/GWXYuyCinhg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "paparam": "^1.8.6" + }, + "bin": { + "lunte": "bin/lunte" + }, + "optionalDependencies": { + "bare-events": "^2.8.1", + "bare-fs": "^4.5.0", + "bare-module": "^6.1.2", + "bare-os": "^3.6.2", + "bare-path": "^3.0.0", + "bare-process": "^4.2.2", + "bare-subprocess": "^5.1.4", + "bare-url": "^2.3.2", + "bare-utils": "^1.5.1" + } + }, "node_modules/mirror-drive": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/mirror-drive/-/mirror-drive-1.10.0.tgz", diff --git a/package.json b/package.json index d758453..fdcd5f4 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,8 @@ "name": "bare", "description": "Small and modular JavaScript runtime for desktop and mobile", "scripts": { - "test": "prettier . --check" + "format": "prettier --write .", + "lint": "prettier --check . && lunte" }, "repository": { "type": "git", @@ -44,6 +45,7 @@ "cmake-fetch": "^1.0.0", "cmake-harden": "^1.1.2", "cmake-napi": "^1.0.7", + "lunte": "^1.4.0", "prettier": "^3.3.3", "prettier-config-holepunch": "^2.0.0" } diff --git a/src/addon.js b/src/addon.js index ac4327d..63b097e 100644 --- a/src/addon.js +++ b/src/addon.js @@ -1,3 +1,5 @@ +/* global bare */ + const resolve = require('bare-addon-resolve') const { fileURLToPath } = require('bare-url') const { AddonError } = require('./errors') diff --git a/src/bare.js b/src/bare.js index 25b4f6f..b5a5298 100644 --- a/src/bare.js +++ b/src/bare.js @@ -1,3 +1,5 @@ +/* global bare */ + /** * Step 0: * Declare the genesis addon entry point. All addons loaded by core modules diff --git a/src/thread.js b/src/thread.js index 2795941..4ca36d0 100644 --- a/src/thread.js +++ b/src/thread.js @@ -1,3 +1,5 @@ +/* global bare */ + const structuredClone = require('bare-structured-clone') module.exports = exports = class Thread { diff --git a/test/idle-before-suspend.js b/test/idle-before-suspend.js index f214757..0a2f587 100644 --- a/test/idle-before-suspend.js +++ b/test/idle-before-suspend.js @@ -1,3 +1,5 @@ +const t = require('bare-tap') + Bare.on('idle', onidle) Bare.idle()