@kb1rma/libcomm14cux-ts 0.0.0 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # comm14cux-ts
1
+ # libcomm14cux-ts
2
2
 
3
3
  TypeScript library for communicating with the Lucas 14CUX engine ECU over its serial diagnostic port, using the Web Serial API.
4
4
 
@@ -12,10 +12,16 @@ The existing tool for this is [RoverGauge](https://github.com/colinbourassa/rove
12
12
 
13
13
  This project is not affiliated with or endorsed by the author of libcomm14cux or RoverGauge.
14
14
 
15
+ ## Installation
16
+
17
+ ```sh
18
+ npm install @kb1rma/libcomm14cux-ts
19
+ ```
20
+
15
21
  ## Usage
16
22
 
17
23
  ```ts
18
- import { Ecu, WebSerialTransport, AirflowType } from 'comm14cux-ts';
24
+ import { Ecu, WebSerialTransport, AirflowType } from '@kb1rma/libcomm14cux-ts';
19
25
 
20
26
  const port = await navigator.serial.requestPort();
21
27
  const ecu = new Ecu(new WebSerialTransport(port));
@@ -138,6 +144,26 @@ This project is therefore licensed under the **GNU General Public License v3.0 o
138
144
 
139
145
  Parts of this project were written with the help of an AI assistant. The original libcomm14cux and RoverGauge projects do not accept AI-generated contributions, so nothing from this repository will be submitted to them.
140
146
 
147
+ ## Verifying a release
148
+
149
+ Every version is published from GitHub Actions with npm trusted publishing, and npm records a signed [SLSA provenance](https://slsa.dev/) statement for it (the "Built and signed on GitHub Actions" badge on the package page). In a project that depends on the package, `npm audit signatures` checks the registry signatures and the provenance.
150
+
151
+ Each stable release also has three attestations signed with Sigstore and stored on this repository, all about the exact tarball published to npm:
152
+
153
+ - SLSA build provenance: which workflow, commit and runner built it
154
+ - a CycloneDX SBOM of its runtime dependencies
155
+ - an in-toto test result listing the unit and acceptance tests that passed against it
156
+
157
+ Download the tarball from the [release](https://github.com/KB1RMA/libcomm14cux-ts/releases) (or with `npm pack @kb1rma/libcomm14cux-ts@<version>`) and verify it with the [GitHub CLI](https://cli.github.com/):
158
+
159
+ ```sh
160
+ gh attestation verify kb1rma-libcomm14cux-ts-<version>.tgz --repo KB1RMA/libcomm14cux-ts
161
+ gh attestation verify kb1rma-libcomm14cux-ts-<version>.tgz --repo KB1RMA/libcomm14cux-ts \
162
+ --predicate-type https://in-toto.io/attestation/test-result/v0.1 --format json
163
+ ```
164
+
165
+ The release also carries each attestation as a `.sigstore.json` bundle, so it can be checked offline with `--bundle`. Beta versions published under the `next` dist-tag have the npm provenance only.
166
+
141
167
  ## Development
142
168
 
143
169
  Requires Node.js (see `.nvmrc`).
package/dist/version.d.ts CHANGED
@@ -13,6 +13,5 @@ export interface Version {
13
13
  */
14
14
  patch: number;
15
15
  }
16
- /** Must match `version` in package.json (enforced by a test). */
17
16
  export declare const LIBRARY_VERSION: Version;
18
17
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAGA,oEAAoE;AACpE,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED,iEAAiE;AACjE,eAAO,MAAM,eAAe,EAAE,OAA0C,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAGA,oEAAoE;AACpE,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAQD,eAGA,MAAM,eAAe,EAAE,OAAiC,CAAC"}
package/dist/version.js CHANGED
@@ -1,5 +1,9 @@
1
1
  // SPDX-License-Identifier: GPL-3.0-only
2
2
  // Copyright (C) 2026 comm14cux-ts contributors
3
- /** Must match `version` in package.json (enforced by a test). */
4
- export const LIBRARY_VERSION = { major: 0, minor: 0, patch: 0 };
3
+ /** Updated by release-please; must match `version` in package.json (enforced by a test). */
4
+ const PACKAGE_VERSION = '0.1.0'; // x-release-please-version
5
+ const [major = 0, minor = 0, patch = 0] = PACKAGE_VERSION.split('.').map(Number);
6
+ export /**
7
+ *
8
+ */ const LIBRARY_VERSION = { major, minor, patch };
5
9
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,+CAA+C;AAkB/C,iEAAiE;AACjE,MAAM,CAAC,MAAM,eAAe,GAAY,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC","sourcesContent":["// SPDX-License-Identifier: GPL-3.0-only\n// Copyright (C) 2026 comm14cux-ts contributors\n\n/** Major/minor/patch version of this library (`c14cux_version`). */\nexport interface Version {\n /**\n * Major version number.\n */\n major: number;\n /**\n * Minor version number.\n */\n minor: number;\n /**\n * Patch version number.\n */\n patch: number;\n}\n\n/** Must match `version` in package.json (enforced by a test). */\nexport const LIBRARY_VERSION: Version = { major: 0, minor: 0, patch: 0 };\n"]}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,+CAA+C;AAkB/C,4FAA4F;AAC5F,MAAM,eAAe,GAAG,OAAO,CAAC,CAAC,2BAA2B;AAE5D,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,GACrC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAEzC,MAAM,CAAC;;GAEJ,CACH,MAAM,eAAe,GAAY,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC","sourcesContent":["// SPDX-License-Identifier: GPL-3.0-only\n// Copyright (C) 2026 comm14cux-ts contributors\n\n/** Major/minor/patch version of this library (`c14cux_version`). */\nexport interface Version {\n /**\n * Major version number.\n */\n major: number;\n /**\n * Minor version number.\n */\n minor: number;\n /**\n * Patch version number.\n */\n patch: number;\n}\n\n/** Updated by release-please; must match `version` in package.json (enforced by a test). */\nconst PACKAGE_VERSION = '0.1.0'; // x-release-please-version\n\nconst [major = 0, minor = 0, patch = 0] =\n PACKAGE_VERSION.split('.').map(Number);\n\nexport /**\n *\n */\nconst LIBRARY_VERSION: Version = { major, minor, patch };\n"]}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@kb1rma/libcomm14cux-ts",
3
- "version": "0.0.0",
3
+ "version": "0.1.0",
4
4
  "description": "TypeScript library for communicating with the Lucas 14CUX engine ECU over a serial port using the Web Serial API",
5
5
  "license": "GPL-3.0-only",
6
6
  "repository": {
7
7
  "type": "git",
8
- "url": "git+https://github.com/KB1RMA/comm14cux-ts.git"
8
+ "url": "git+https://github.com/KB1RMA/libcomm14cux-ts.git"
9
9
  },
10
10
  "type": "module",
11
11
  "packageManager": "npm@11.8.0",
package/src/version.ts CHANGED
@@ -17,5 +17,13 @@ export interface Version {
17
17
  patch: number;
18
18
  }
19
19
 
20
- /** Must match `version` in package.json (enforced by a test). */
21
- export const LIBRARY_VERSION: Version = { major: 0, minor: 0, patch: 0 };
20
+ /** Updated by release-please; must match `version` in package.json (enforced by a test). */
21
+ const PACKAGE_VERSION = '0.1.0'; // x-release-please-version
22
+
23
+ const [major = 0, minor = 0, patch = 0] =
24
+ PACKAGE_VERSION.split('.').map(Number);
25
+
26
+ export /**
27
+ *
28
+ */
29
+ const LIBRARY_VERSION: Version = { major, minor, patch };