Simplified c3-lib build.

This commit is contained in:
Davide Tantillo 2025-11-04 12:03:02 +01:00
parent a64ec68c3f
commit c175c1c5d0
2 changed files with 1 additions and 53 deletions

View File

@ -18,7 +18,7 @@
"build:core:esm": "npx esbuild --bundle spine-core/src/index.ts --tsconfig=spine-core/tsconfig.json --sourcemap --outfile=spine-core/dist/esm/spine-core.mjs --format=esm --global-name=spine",
"build:construct3": "npx tsc --project spine-construct3/tsconfig.json && npm run build:construct3:copy-assets",
"build:construct3:copy-assets": "npx copyfiles -u 2 \"spine-construct3/src/**/*.json\" \"spine-construct3/src/**/*.svg\" spine-construct3/dist/ && npx copyfiles -u 3 spine-construct3-lib/dist/iife/spine-construct3-lib.js spine-construct3/dist/c3runtime",
"build:construct3-lib": "node spine-construct3-lib/esbuild.config.js",
"build:construct3-lib": "npx esbuild --bundle spine-construct3-lib/src/index.ts --tsconfig=spine-construct3-lib/tsconfig.json --sourcemap --outfile=spine-construct3-lib/dist/iife/spine-construct3-lib.js --format=iife --global-name=spine --footer:js='if(!globalThis.spine)globalThis.spine=spine;'",
"build:canvas:iife": "npx esbuild --bundle spine-canvas/src/index.ts --tsconfig=spine-canvas/tsconfig.json --sourcemap --outfile=spine-canvas/dist/iife/spine-canvas.js --format=iife --global-name=spine",
"build:canvas:esm": "npx esbuild --bundle spine-canvas/src/index.ts --tsconfig=spine-canvas/tsconfig.json --sourcemap --outfile=spine-canvas/dist/esm/spine-canvas.mjs --format=esm --global-name=spine",
"build:canvaskit:iife": "npx esbuild --bundle spine-canvaskit/src/index.ts --tsconfig=spine-canvaskit/tsconfig.json --sourcemap --outfile=spine-canvaskit/dist/iife/spine-canvaskit.js --external:canvaskit-wasm --format=iife --global-name=spine",

View File

@ -1,52 +0,0 @@
// build.js
import * as fs from 'node:fs';
import * as esbuild from 'esbuild';
// Plugin to append string after build
const appendStringPlugin = {
name: 'append-string',
setup(build) {
build.onEnd((result) => {
if (result.errors.length === 0) {
const outputFile = 'spine-construct3-lib/dist/iife/spine-construct3-lib.js';
try {
const content = fs.readFileSync(outputFile, 'utf8');
const appendString = 'if(!globalThis.spine)globalThis.spine=spine';
// Only append if not already present
if (!content.includes(appendString)) {
fs.writeFileSync(outputFile, `${content}\n${appendString}`);
console.log('✓ Appended spine global assignment');
}
} catch (err) {
console.error('Error appending string:', err);
}
}
});
}
};
// Check if watch mode is requested
const isWatch = process.argv.includes('--watch');
// Build configuration
const buildOptions = {
entryPoints: ['spine-construct3-lib/src/index.ts'],
bundle: true,
outfile: 'spine-construct3-lib/dist/iife/spine-construct3-lib.js',
tsconfig: 'spine-construct3-lib/tsconfig.json',
sourcemap: true,
format: 'iife',
globalName: 'spine',
plugins: [appendStringPlugin],
};
if (isWatch) {
const ctx = await esbuild.context(buildOptions);
await ctx.watch();
console.log('👀 Watching for changes...');
} else {
await esbuild.build(buildOptions);
console.log('✅ Build complete');
}