From 253d9c9ceef86a2030e3e27db252cc9a7fedced9 Mon Sep 17 00:00:00 2001 From: achingbrain Date: Wed, 18 Mar 2026 13:18:51 +0100 Subject: [PATCH 1/2] chore: import using .ts To support type stripping in recent node.js releases, import files from `.ts` instead of `.js`. --- .../src/implementations/index.ts | 10 +++++----- packages/protons-benchmark/src/numbers/index.ts | 4 ++-- packages/protons-runtime/src/codec.ts | 2 +- packages/protons-runtime/src/codecs/enum.ts | 4 ++-- packages/protons-runtime/src/codecs/message.ts | 4 ++-- packages/protons-runtime/src/decode.ts | 4 ++-- packages/protons-runtime/src/encode.ts | 4 ++-- packages/protons-runtime/src/index.ts | 16 ++++++++-------- packages/protons-runtime/src/utils/reader.ts | 8 ++++---- packages/protons-runtime/src/utils/writer.ts | 10 +++++----- packages/protons/README.md | 2 +- packages/protons/bin/protons.ts | 2 +- packages/protons/src/index.ts | 2 +- packages/protons/test/compatibility.spec.ts | 14 +++++++------- packages/protons/test/custom-options.spec.ts | 2 +- packages/protons/test/maps.spec.ts | 4 ++-- packages/protons/test/proto2.spec.ts | 2 +- packages/protons/test/protons-options.spec.ts | 2 +- packages/protons/test/repeated.spec.ts | 2 +- packages/protons/test/unsupported.spec.ts | 2 +- 20 files changed, 50 insertions(+), 50 deletions(-) diff --git a/packages/protons-benchmark/src/implementations/index.ts b/packages/protons-benchmark/src/implementations/index.ts index 6b267c6..9242598 100644 --- a/packages/protons-benchmark/src/implementations/index.ts +++ b/packages/protons-benchmark/src/implementations/index.ts @@ -8,11 +8,11 @@ $ npx playwright-test dist/src/index.js --runner benchmark import { create, toBinary, fromBinary } from '@bufbuild/protobuf' import { expect } from 'aegir/chai' import Benchmark from 'benchmark' -import { encodeTest as pbjsEncodeTest, decodeTest as pbjsDecodeTest } from './pbjs/bench.js' -import { TestSchema as ProtobufEsTest } from './protobuf-es/bench_pb.js' -import { Test as ProtobufTsTest } from './protobuf-ts/bench.js' -import { Test as ProtobufjsTest } from './protobufjs/bench.js' -import { Test as ProtonsTest } from './protons/bench.js' +import { encodeTest as pbjsEncodeTest, decodeTest as pbjsDecodeTest } from './pbjs/bench.ts' +import { TestSchema as ProtobufEsTest } from './protobuf-es/bench_pb.ts' +import { Test as ProtobufTsTest } from './protobuf-ts/bench.ts' +import { Test as ProtobufjsTest } from './protobufjs/bench.ts' +import { Test as ProtonsTest } from './protons/bench.ts' const message = { meh: { diff --git a/packages/protons-benchmark/src/numbers/index.ts b/packages/protons-benchmark/src/numbers/index.ts index 6af16cd..7739682 100644 --- a/packages/protons-benchmark/src/numbers/index.ts +++ b/packages/protons-benchmark/src/numbers/index.ts @@ -5,8 +5,8 @@ $ node dist/src/numbers/index.js $ npx playwright-test dist/src/numbers/index.js --runner benchmark */ -import { readBenchmark } from './read.js' -import { writeBenchmark } from './write.js' +import { readBenchmark } from './read.ts' +import { writeBenchmark } from './write.ts' console.info('-- read --') await readBenchmark() diff --git a/packages/protons-runtime/src/codec.ts b/packages/protons-runtime/src/codec.ts index 8de608b..bf02047 100644 --- a/packages/protons-runtime/src/codec.ts +++ b/packages/protons-runtime/src/codec.ts @@ -1,4 +1,4 @@ -import type { Writer, Reader } from './index.js' +import type { Writer, Reader } from './index.ts' // https://developers.google.com/protocol-buffers/docs/encoding#structure export enum CODEC_TYPES { diff --git a/packages/protons-runtime/src/codecs/enum.ts b/packages/protons-runtime/src/codecs/enum.ts index ceda735..fb83643 100644 --- a/packages/protons-runtime/src/codecs/enum.ts +++ b/packages/protons-runtime/src/codecs/enum.ts @@ -1,5 +1,5 @@ -import { createCodec, CODEC_TYPES } from '../codec.js' -import type { DecodeFunction, EncodeFunction, Codec } from '../codec.js' +import { createCodec, CODEC_TYPES } from '../codec.ts' +import type { DecodeFunction, EncodeFunction, Codec } from '../codec.ts' export function enumeration (v: any): Codec { function findValue (val: string | number): number { diff --git a/packages/protons-runtime/src/codecs/message.ts b/packages/protons-runtime/src/codecs/message.ts index aa6b929..0c7c2d5 100644 --- a/packages/protons-runtime/src/codecs/message.ts +++ b/packages/protons-runtime/src/codecs/message.ts @@ -1,5 +1,5 @@ -import { createCodec, CODEC_TYPES } from '../codec.js' -import type { EncodeFunction, DecodeFunction, Codec } from '../codec.js' +import { createCodec, CODEC_TYPES } from '../codec.ts' +import type { EncodeFunction, DecodeFunction, Codec } from '../codec.ts' export interface Factory { new (obj: A): T diff --git a/packages/protons-runtime/src/decode.ts b/packages/protons-runtime/src/decode.ts index bb59ec2..18ef696 100644 --- a/packages/protons-runtime/src/decode.ts +++ b/packages/protons-runtime/src/decode.ts @@ -1,5 +1,5 @@ -import { createReader } from './utils/reader.js' -import type { Codec, DecodeOptions } from './codec.js' +import { createReader } from './utils/reader.ts' +import type { Codec, DecodeOptions } from './codec.ts' import type { Uint8ArrayList } from 'uint8arraylist' export function decodeMessage (buf: Uint8Array | Uint8ArrayList, codec: Pick, 'decode'>, opts?: DecodeOptions): T { diff --git a/packages/protons-runtime/src/encode.ts b/packages/protons-runtime/src/encode.ts index 0127c53..5ac8c39 100644 --- a/packages/protons-runtime/src/encode.ts +++ b/packages/protons-runtime/src/encode.ts @@ -1,5 +1,5 @@ -import { createWriter } from './utils/writer.js' -import type { Codec } from './codec.js' +import { createWriter } from './utils/writer.ts' +import type { Codec } from './codec.ts' export function encodeMessage (message: Partial, codec: Pick, 'encode'>): Uint8Array { const w = createWriter() diff --git a/packages/protons-runtime/src/index.ts b/packages/protons-runtime/src/index.ts index f2f9cb5..29d4279 100644 --- a/packages/protons-runtime/src/index.ts +++ b/packages/protons-runtime/src/index.ts @@ -10,7 +10,7 @@ * ``` */ -import type { Codec } from './codec.js' +import type { Codec } from './codec.ts' export interface FieldDef { name: string @@ -22,17 +22,17 @@ export interface FieldDef { export { decodeMessage -} from './decode.js' +} from './decode.ts' export { encodeMessage -} from './encode.js' +} from './encode.ts' -export { enumeration } from './codecs/enum.js' -export { message } from './codecs/message.js' -export { createReader as reader } from './utils/reader.js' -export { createWriter as writer } from './utils/writer.js' -export type { Codec, EncodeOptions, DecodeOptions } from './codec.js' +export { enumeration } from './codecs/enum.ts' +export { message } from './codecs/message.ts' +export { createReader as reader } from './utils/reader.ts' +export { createWriter as writer } from './utils/writer.ts' +export type { Codec, EncodeOptions, DecodeOptions } from './codec.ts' export interface Writer { /** diff --git a/packages/protons-runtime/src/utils/reader.ts b/packages/protons-runtime/src/utils/reader.ts index 39beb83..5074e38 100644 --- a/packages/protons-runtime/src/utils/reader.ts +++ b/packages/protons-runtime/src/utils/reader.ts @@ -1,8 +1,8 @@ import { decodeUint8Array, encodingLength } from 'uint8-varint' -import { readFloatLE, readDoubleLE } from './float.js' -import { LongBits } from './longbits.js' -import * as utf8 from './utf8.js' -import type { Reader } from '../index.js' +import { readFloatLE, readDoubleLE } from './float.ts' +import { LongBits } from './longbits.ts' +import * as utf8 from './utf8.ts' +import type { Reader } from '../index.ts' import type { Uint8ArrayList } from 'uint8arraylist' /* istanbul ignore next */ diff --git a/packages/protons-runtime/src/utils/writer.ts b/packages/protons-runtime/src/utils/writer.ts index 33639d1..785729c 100644 --- a/packages/protons-runtime/src/utils/writer.ts +++ b/packages/protons-runtime/src/utils/writer.ts @@ -1,11 +1,11 @@ import { encodeUint8Array, encodingLength } from 'uint8-varint' import { allocUnsafe } from 'uint8arrays/alloc' import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' -import { writeFloatLE, writeDoubleLE } from './float.js' -import { LongBits } from './longbits.js' -import pool from './pool.js' -import * as utf8 from './utf8.js' -import type { Writer } from '../index.js' +import { writeFloatLE, writeDoubleLE } from './float.ts' +import { LongBits } from './longbits.ts' +import pool from './pool.ts' +import * as utf8 from './utf8.ts' +import type { Writer } from '../index.ts' interface WriterOperation { (val: T, buf: Uint8Array, pos: number): any diff --git a/packages/protons/README.md b/packages/protons/README.md index dd64788..32dd657 100644 --- a/packages/protons/README.md +++ b/packages/protons/README.md @@ -54,7 +54,7 @@ $ tsc In your code import the generated classes and use them to transform to/from bytes: ```js -import { Foo } from './foo.js' +import { Foo } from './foo.ts' const foo = { message: 'hello world' diff --git a/packages/protons/bin/protons.ts b/packages/protons/bin/protons.ts index 4215170..cbe281a 100755 --- a/packages/protons/bin/protons.ts +++ b/packages/protons/bin/protons.ts @@ -1,7 +1,7 @@ #! /usr/bin/env node import meow from 'meow' -import { generate } from '../src/index.js' +import { generate } from '../src/index.ts' async function main (): Promise { const cli = meow(` diff --git a/packages/protons/src/index.ts b/packages/protons/src/index.ts index 4e7d6f9..570715d 100644 --- a/packages/protons/src/index.ts +++ b/packages/protons/src/index.ts @@ -33,7 +33,7 @@ * In your code import the generated classes and use them to transform to/from bytes: * * ```js - * import { Foo } from './foo.js' + * import { Foo } from './foo.ts' * * const foo = { * message: 'hello world' diff --git a/packages/protons/test/compatibility.spec.ts b/packages/protons/test/compatibility.spec.ts index 55211f5..e30cd9c 100644 --- a/packages/protons/test/compatibility.spec.ts +++ b/packages/protons/test/compatibility.spec.ts @@ -5,13 +5,13 @@ import { expect } from 'aegir/chai' import Long from 'long' import pbjs from 'pbjs' import protobufjs from 'protobufjs' -import { Basic, Empty } from './fixtures/basic.js' -import { Message as Bitswap } from './fixtures/bitswap.js' -import { CircuitRelay } from './fixtures/circuit.js' -import { Optional, OptionalEnum } from './fixtures/optional.js' -import { Peer } from './fixtures/peer.js' -import { Singular, SingularEnum } from './fixtures/singular.js' -import { AllTheTypes, AnEnum } from './fixtures/test.js' +import { Basic, Empty } from './fixtures/basic.ts' +import { Message as Bitswap } from './fixtures/bitswap.ts' +import { CircuitRelay } from './fixtures/circuit.ts' +import { Optional, OptionalEnum } from './fixtures/optional.ts' +import { Peer } from './fixtures/peer.ts' +import { Singular, SingularEnum } from './fixtures/singular.ts' +import { AllTheTypes, AnEnum } from './fixtures/test.ts' import type { Type as PBType } from 'protobufjs' function longifyBigInts (obj: any): any { diff --git a/packages/protons/test/custom-options.spec.ts b/packages/protons/test/custom-options.spec.ts index 5392060..dc93853 100644 --- a/packages/protons/test/custom-options.spec.ts +++ b/packages/protons/test/custom-options.spec.ts @@ -1,7 +1,7 @@ /* eslint-env mocha */ import { expect } from 'aegir/chai' -import { CustomOptionNumber, CustomOptionString } from './fixtures/custom-option-jstype.js' +import { CustomOptionNumber, CustomOptionString } from './fixtures/custom-option-jstype.ts' describe('custom options', () => { it('should allow overriding 64 bit numbers with numbers', () => { diff --git a/packages/protons/test/maps.spec.ts b/packages/protons/test/maps.spec.ts index e268ee3..d712a79 100644 --- a/packages/protons/test/maps.spec.ts +++ b/packages/protons/test/maps.spec.ts @@ -3,8 +3,8 @@ import { expect } from 'aegir/chai' import Long from 'long' import protobufjs from 'protobufjs' -import { MapTypes } from './fixtures/maps.js' -import type { SubMessage, EnumValue } from './fixtures/maps.js' +import { MapTypes } from './fixtures/maps.ts' +import type { SubMessage, EnumValue } from './fixtures/maps.ts' function longifyBigInts (obj: any): any { const output = { diff --git a/packages/protons/test/proto2.spec.ts b/packages/protons/test/proto2.spec.ts index 3397a75..b0fd46f 100644 --- a/packages/protons/test/proto2.spec.ts +++ b/packages/protons/test/proto2.spec.ts @@ -1,7 +1,7 @@ /* eslint-env mocha */ import { expect } from 'aegir/chai' -import { MessageWithRequired } from './fixtures/proto2.js' +import { MessageWithRequired } from './fixtures/proto2.ts' describe('proto2 support', () => { it('should write a required field with a default value', () => { diff --git a/packages/protons/test/protons-options.spec.ts b/packages/protons/test/protons-options.spec.ts index d760bdc..c7031fd 100644 --- a/packages/protons/test/protons-options.spec.ts +++ b/packages/protons/test/protons-options.spec.ts @@ -1,7 +1,7 @@ /* eslint-env mocha */ import { expect } from 'aegir/chai' -import { MessageWithSizeLimitedMap, MessageWithSizeLimitedRepeatedField } from './fixtures/protons-options.js' +import { MessageWithSizeLimitedMap, MessageWithSizeLimitedRepeatedField } from './fixtures/protons-options.ts' describe('protons options', () => { it('should not decode message with map that is too big', () => { diff --git a/packages/protons/test/repeated.spec.ts b/packages/protons/test/repeated.spec.ts index 8527a75..b38ae5f 100644 --- a/packages/protons/test/repeated.spec.ts +++ b/packages/protons/test/repeated.spec.ts @@ -1,7 +1,7 @@ /* eslint-env mocha */ import { expect } from 'aegir/chai' -import { RepeatedTypes } from './fixtures/repeated.js' +import { RepeatedTypes } from './fixtures/repeated.ts' describe('repeated', () => { it('should encode repeated fields', () => { diff --git a/packages/protons/test/unsupported.spec.ts b/packages/protons/test/unsupported.spec.ts index c9862f0..e0bb49a 100644 --- a/packages/protons/test/unsupported.spec.ts +++ b/packages/protons/test/unsupported.spec.ts @@ -1,7 +1,7 @@ /* eslint-env mocha */ import { expect } from 'aegir/chai' -import { generate } from '../src/index.js' +import { generate } from '../src/index.ts' describe('unsupported', () => { it('should refuse to generate source from proto2 definition', async () => { From be649c4e8236ada57be5a3f237d312504c153a14 Mon Sep 17 00:00:00 2001 From: achingbrain Date: Wed, 18 Mar 2026 13:20:32 +0100 Subject: [PATCH 2/2] chore: linting --- packages/protons/test/compatibility.spec.ts | 2 -- packages/protons/test/custom-options.spec.ts | 2 -- packages/protons/test/maps.spec.ts | 2 -- packages/protons/test/oneof.spec.ts | 2 -- packages/protons/test/proto2.spec.ts | 2 -- packages/protons/test/protons-options.spec.ts | 2 -- packages/protons/test/repeated.spec.ts | 2 -- packages/protons/test/unsupported.spec.ts | 2 -- 8 files changed, 16 deletions(-) diff --git a/packages/protons/test/compatibility.spec.ts b/packages/protons/test/compatibility.spec.ts index e30cd9c..f501924 100644 --- a/packages/protons/test/compatibility.spec.ts +++ b/packages/protons/test/compatibility.spec.ts @@ -1,5 +1,3 @@ -/* eslint-env mocha */ - import fs from 'fs' import { expect } from 'aegir/chai' import Long from 'long' diff --git a/packages/protons/test/custom-options.spec.ts b/packages/protons/test/custom-options.spec.ts index dc93853..6d8e756 100644 --- a/packages/protons/test/custom-options.spec.ts +++ b/packages/protons/test/custom-options.spec.ts @@ -1,5 +1,3 @@ -/* eslint-env mocha */ - import { expect } from 'aegir/chai' import { CustomOptionNumber, CustomOptionString } from './fixtures/custom-option-jstype.ts' diff --git a/packages/protons/test/maps.spec.ts b/packages/protons/test/maps.spec.ts index d712a79..73214af 100644 --- a/packages/protons/test/maps.spec.ts +++ b/packages/protons/test/maps.spec.ts @@ -1,5 +1,3 @@ -/* eslint-env mocha */ - import { expect } from 'aegir/chai' import Long from 'long' import protobufjs from 'protobufjs' diff --git a/packages/protons/test/oneof.spec.ts b/packages/protons/test/oneof.spec.ts index 5ecbcfe..c1f0c7e 100644 --- a/packages/protons/test/oneof.spec.ts +++ b/packages/protons/test/oneof.spec.ts @@ -1,5 +1,3 @@ -/* eslint-env mocha */ - import { expect } from 'aegir/chai' import Long from 'long' import protobufjs from 'protobufjs' diff --git a/packages/protons/test/proto2.spec.ts b/packages/protons/test/proto2.spec.ts index b0fd46f..ffa4da1 100644 --- a/packages/protons/test/proto2.spec.ts +++ b/packages/protons/test/proto2.spec.ts @@ -1,5 +1,3 @@ -/* eslint-env mocha */ - import { expect } from 'aegir/chai' import { MessageWithRequired } from './fixtures/proto2.ts' diff --git a/packages/protons/test/protons-options.spec.ts b/packages/protons/test/protons-options.spec.ts index c7031fd..bf8ab14 100644 --- a/packages/protons/test/protons-options.spec.ts +++ b/packages/protons/test/protons-options.spec.ts @@ -1,5 +1,3 @@ -/* eslint-env mocha */ - import { expect } from 'aegir/chai' import { MessageWithSizeLimitedMap, MessageWithSizeLimitedRepeatedField } from './fixtures/protons-options.ts' diff --git a/packages/protons/test/repeated.spec.ts b/packages/protons/test/repeated.spec.ts index b38ae5f..74515a6 100644 --- a/packages/protons/test/repeated.spec.ts +++ b/packages/protons/test/repeated.spec.ts @@ -1,5 +1,3 @@ -/* eslint-env mocha */ - import { expect } from 'aegir/chai' import { RepeatedTypes } from './fixtures/repeated.ts' diff --git a/packages/protons/test/unsupported.spec.ts b/packages/protons/test/unsupported.spec.ts index e0bb49a..f11a288 100644 --- a/packages/protons/test/unsupported.spec.ts +++ b/packages/protons/test/unsupported.spec.ts @@ -1,5 +1,3 @@ -/* eslint-env mocha */ - import { expect } from 'aegir/chai' import { generate } from '../src/index.ts'