Files
Nico Martin 4e1b4b653f [v4] Restructure repo to use pnpm workspaces (#1504)
* switched to pnpm workspaces

* updated github actions

* added comments

* Update tensor.js

* Formatting

* Update tsconfig.json

* Update tsconfig.json

* fixed circular reference error in pipelines/zero-shot-audio-classification.js

* Post-tsconfig updates

* Move transformers.js docs to package folder

* Move additional tests

* JSDoc update

* Version bumps

* Update incorrect test

* Update test_modeling_musicgen.js

* Update test_modeling_musicgen.js

* Update test_modeling_musicgen.js

* fixed broken symlink

* fixes after review

* Remove old conversion scripts

Users should use onnxruntime-genai or optimum directly

* Update .prettierrc

* Formatting

* Update readme/docs

* Move build scripts to parent folder

* Remove unused tests

* Remove old compare function

* Fix JSDoc

* Update generate.js

* Update inline descriptions

* Bump versions

* Update node imports

* Add module header to FileCache.js

* JSDoc updates

* Update tensor.js

* Move prettier config to package.json key

* Update FileCache.js

* Remove unused import

* Remove non-existent file include

* Prefer non-default exports

* Update doc module exports

* Update docs generation script

* merged tsconfigs and added contributing.md

* Update path_to_docs

* Formatting

* Formatting

* Formatting

* Update prettier usage

* Remove <code> tags from headers

* Swap docs-preview and docs-build commands

* ONNXRUNTIME_NODE_INSTALL=skip for doc-builder

* Update buildAll.mjs

* Update index

---------

Co-authored-by: Joshua Lochner <26504141+xenova@users.noreply.github.com>
2026-01-28 22:34:29 -05:00

43 lines
1.4 KiB
JavaScript

import { colors } from "./logger.mjs";
/**
* Plugin to log rebuild information in watch mode
* @param {string} targetName - Name of the build target
* @param {Object} log - Logger instance
* @param {Object} options - Plugin options
* @param {boolean} options.logFirstBuild - Whether to log the first build completion (default: true)
*/
export function rebuildPlugin(targetName, log, options = {}) {
const { logFirstBuild = true } = options;
return {
name: "rebuild-logger",
setup(build) {
let startTime = 0;
let isFirstBuild = true;
build.onStart(() => {
startTime = performance.now();
if (!isFirstBuild) {
log.build(`${colors.gray}Rebuilding ${targetName}...${colors.reset}`);
}
});
build.onEnd((result) => {
const endTime = performance.now();
const duration = (endTime - startTime).toFixed(2);
if (result.errors.length > 0) {
log.error(`${colors.bright}${targetName}${colors.reset} - Build failed with ${result.errors.length} error(s) in ${duration}ms`);
} else if (!isFirstBuild) {
log.done(`${colors.bright}${targetName}${colors.reset} - Rebuilt in ${colors.gray}${duration}ms${colors.reset}`);
} else if (logFirstBuild) {
log.done(`${colors.bright}${targetName}${colors.reset} - Built in ${colors.gray}${duration}ms${colors.reset}`);
}
isFirstBuild = false;
});
},
};
}