switch to tsdown for building library

This commit is contained in:
Joel Wetzell
2026-05-15 11:29:42 -05:00
parent a2fbd2a2b0
commit 3ab3fcbcd8
16 changed files with 923 additions and 57 deletions
+877 -3
View File
File diff suppressed because it is too large Load Diff
+10 -12
View File
@@ -2,22 +2,17 @@
"name": "@jwetzell/osc",
"version": "1.7.0",
"description": "",
"main": "./dist/cjs/index.js",
"module": "./dist/esm/index.js",
"types": "./dist/types/index.d.ts",
"types": "./dist/index.d.cts",
"exports": {
".": {
"import": "./dist/esm/index.js",
"require": "./dist/cjs/index.js",
"types": "./dist/types/index.d.ts"
}
"import": "./dist/index.mjs",
"require": "./dist/index.cjs"
},
"./package.json": "./package.json"
},
"scripts": {
"prebuild": "rimraf dist",
"build": "npm run build:cjs && npm run build:esm && npm run build:types",
"build:cjs": "tsc -p tsconfig.cjs.json && echo '{\"type\": \"commonjs\"}' > dist/cjs/package.json",
"build:esm": "tsc -p tsconfig.esm.json && echo '{\"type\": \"module\"}' > dist/esm/package.json",
"build:types": "tsc -p tsconfig.types.json",
"build": "tsdown",
"prepublishOnly": "npm run build",
"pretest": "npm run build",
"test": "node --test --experimental-test-coverage"
@@ -38,6 +33,9 @@
"devDependencies": {
"@types/node": "24.5.2",
"rimraf": "6.1.3",
"tsdown": "0.22.0",
"typescript": "5.9.3"
}
},
"main": "./dist/index.cjs",
"module": "./dist/index.mjs"
}
+4 -4
View File
@@ -1,5 +1,5 @@
import { messageFromBuffer, messageToBuffer } from './message.js';
import { OSCBundle } from './models.js';
import { type OSCBundle } from './models.js';
import { oscTypeConverterMap } from './osc-types.js';
export function bundleFromBuffer(bytes: Uint8Array): [OSCBundle | undefined, Uint8Array | undefined] {
@@ -11,7 +11,7 @@ export function bundleFromBuffer(bytes: Uint8Array): [OSCBundle | undefined, Uin
throw new Error('bundle must start with #bundle');
}
const [bundleHeader, bytesAfterHeader] = oscTypeConverterMap.s.fromBuffer(bytes);
const [, bytesAfterHeader] = oscTypeConverterMap.s.fromBuffer(bytes);
const [timeTag, bytesAfterTimeTag] = oscTypeConverterMap.t.fromBuffer(bytesAfterHeader);
if (!Array.isArray(timeTag)) {
@@ -42,12 +42,12 @@ export function bundleFromBuffer(bytes: Uint8Array): [OSCBundle | undefined, Uin
if (bundleContentBytes[0] === 35) {
// # character indicating contents is a bundle
const [content, bytesAfterContent] = bundleFromBuffer(bundleContentBytes);
const [content] = bundleFromBuffer(bundleContentBytes);
if (content) {
bundleContents.push(content);
}
} else if (bundleContentBytes[0] === 47) {
const [content, bytesAfterContent] = messageFromBuffer(bundleContentBytes);
const [content] = messageFromBuffer(bundleContentBytes);
if (content && content !== undefined) {
bundleContents.push(content);
}
+1 -1
View File
@@ -1,6 +1,6 @@
import { bundleFromBuffer } from './bundle.js';
import { messageFromBuffer } from './message.js';
import { OSCBundle, OSCMessage } from './models.js';
import type { OSCBundle, OSCMessage } from './models.js';
export * from './models.js';
export * from './message.js';
+1 -1
View File
@@ -1,4 +1,4 @@
import { OSCMessage, OSCArg, OSCType } from './models.js';
import type { OSCMessage, OSCArg, OSCType } from './models.js';
import { oscTypeConverterMap } from './osc-types.js';
function argsToBuffer(args: OSCArg[]) {
+1 -1
View File
@@ -1,4 +1,4 @@
import { OSCTypeConverter, OSCTimeTag } from './models.js';
import type { OSCTypeConverter, OSCTimeTag } from './models.js';
export const oscTypeConverterMap: { [key: string]: OSCTypeConverter } = {
s: {
+1 -1
View File
@@ -1,6 +1,6 @@
const { deepEqual, equal, throws } = require('assert');
const { describe, it } = require('node:test');
const osc = require('../dist/cjs/index');
const osc = require('../');
const goodTests = [
{
+1 -1
View File
@@ -1,6 +1,6 @@
const { deepEqual } = require('assert');
const { describe, it } = require('node:test');
const osc = require('../dist/cjs/index');
const osc = require('../');
const tests = [
{
+1 -1
View File
@@ -1,6 +1,6 @@
const { deepEqual, equal } = require('assert');
const { describe, it } = require('node:test');
const osc = require('../dist/cjs/index');
const osc = require('../');
const tests = [
{
+1 -1
View File
@@ -1,6 +1,6 @@
const { deepEqual, throws, equal } = require('assert');
const { describe, it } = require('node:test');
const osc = require('../dist/cjs/index');
const osc = require('../');
const goodTests = [
{
+1 -1
View File
@@ -1,6 +1,6 @@
const { deepEqual, throws } = require('assert');
const { describe, it } = require('node:test');
const osc = require('../dist/cjs/index');
const osc = require('../');
const goodTests = [
{
-8
View File
@@ -1,8 +0,0 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"module": "CommonJS",
"declaration": false,
"outDir": "./dist/cjs"
}
}
-8
View File
@@ -1,8 +0,0 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"module": "ESNext",
"declaration": false,
"outDir": "./dist/esm"
}
}
+14 -6
View File
@@ -1,12 +1,20 @@
{
"compilerOptions": {
"moduleResolution": "Node",
"lib": ["ESNext"],
"target": "ESNext",
"target": "esnext",
"lib": ["es2023"],
"moduleDetection": "force",
"module": "preserve",
"moduleResolution": "bundler",
"resolveJsonModule": true,
"types": ["node"],
"strict": true,
"noUnusedLocals": true,
"declaration": true,
"emitDeclarationOnly": true,
"esModuleInterop": true,
"isolatedModules": true,
"rootDir": "src/",
"strict": true
"verbatimModuleSyntax": true,
"skipLibCheck": true
},
"include": ["src/"]
"include": ["src"]
}
-8
View File
@@ -1,8 +0,0 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"emitDeclarationOnly": true,
"declaration": true,
"outDir": "./dist/types"
}
}
+10
View File
@@ -0,0 +1,10 @@
import { defineConfig } from 'tsdown'
export default defineConfig({
entry: 'src/index.ts',
exports: true,
format: {
esm: {},
cjs: {},
},
})