Add loose build mode

This commit is contained in:
Vanilagy
2026-07-14 17:09:03 +02:00
parent f0a2bbae37
commit 748c0eace4
3 changed files with 32 additions and 18 deletions
+1
View File
@@ -40,6 +40,7 @@
"sideEffects": false,
"scripts": {
"build": "./scripts/build.sh",
"build-loose": "./scripts/build.sh --loose",
"watch": "tsx scripts/bundle.ts --watch",
"lint": "eslint .",
"test": "npm run pre-test && npx vitest --run",
+30 -17
View File
@@ -3,6 +3,17 @@ set -e
# This script must be executed via `npm run build`
LOOSE=false
if [ "$1" = "--loose" ]; then
LOOSE=true
fi
if [ "$LOOSE" = true ]; then
API_EXTRACTOR_FLAGS="--local"
else
API_EXTRACTOR_FLAGS=""
fi
# Clear the stuff from last build
rm -rf dist
rm -rf packages/mp3-encoder/dist
@@ -36,25 +47,27 @@ npm run fix-build-import-paths
tsx scripts/bundle.ts
# Declaration file rollup and checks
api-extractor run
api-extractor run -c packages/mp3-encoder/api-extractor.json
api-extractor run -c packages/ac3/api-extractor.json
api-extractor run -c packages/aac-encoder/api-extractor.json
api-extractor run -c packages/flac-encoder/api-extractor.json
api-extractor run -c packages/prores/api-extractor.json
api-extractor run -c packages/server/api-extractor.json
api-extractor run $API_EXTRACTOR_FLAGS
api-extractor run $API_EXTRACTOR_FLAGS -c packages/mp3-encoder/api-extractor.json
api-extractor run $API_EXTRACTOR_FLAGS -c packages/ac3/api-extractor.json
api-extractor run $API_EXTRACTOR_FLAGS -c packages/aac-encoder/api-extractor.json
api-extractor run $API_EXTRACTOR_FLAGS -c packages/flac-encoder/api-extractor.json
api-extractor run $API_EXTRACTOR_FLAGS -c packages/prores/api-extractor.json
api-extractor run $API_EXTRACTOR_FLAGS -c packages/server/api-extractor.json
# Checks that all symbols are documented
tsx scripts/check-docblocks.ts dist/mediabunny.d.ts
tsx scripts/check-docblocks.ts packages/mp3-encoder/dist/mediabunny-mp3-encoder.d.ts
tsx scripts/check-docblocks.ts packages/ac3/dist/mediabunny-ac3.d.ts
tsx scripts/check-docblocks.ts packages/aac-encoder/dist/mediabunny-aac-encoder.d.ts
tsx scripts/check-docblocks.ts packages/flac-encoder/dist/mediabunny-flac-encoder.d.ts
tsx scripts/check-docblocks.ts packages/prores/dist/mediabunny-prores.d.ts
tsx scripts/check-docblocks.ts packages/server/dist/mediabunny-server.d.ts
if [ "$LOOSE" = false ]; then
# Checks that all symbols are documented
tsx scripts/check-docblocks.ts dist/mediabunny.d.ts
tsx scripts/check-docblocks.ts packages/mp3-encoder/dist/mediabunny-mp3-encoder.d.ts
tsx scripts/check-docblocks.ts packages/ac3/dist/mediabunny-ac3.d.ts
tsx scripts/check-docblocks.ts packages/aac-encoder/dist/mediabunny-aac-encoder.d.ts
tsx scripts/check-docblocks.ts packages/flac-encoder/dist/mediabunny-flac-encoder.d.ts
tsx scripts/check-docblocks.ts packages/prores/dist/mediabunny-prores.d.ts
tsx scripts/check-docblocks.ts packages/server/dist/mediabunny-server.d.ts
# Checks that API docs are generatable
npm run docs:generate -- --dry
# Checks that API docs are generatable
npm run docs:generate -- --dry
fi
# Appends stuff to the declaration files to register the global variables these libraries expose
echo 'export as namespace Mediabunny;' >> dist/mediabunny.d.ts
+1 -1
View File
@@ -1,5 +1,5 @@
/*!
* Copyright (c) 2025-present, Vanilagy and contributors
* Copyright (c) 2026-present, Vanilagy and contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this