/
deka
/
buffer
Обзор
Документация
Войти
/
deka
/
buffer
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
dev
tools/strip-module.mjs
19 строк
879 B
Maksim Ratnikov
build-lab: share transformModule helper between build and test harness
08 май 2026, 16:45
08 май 2026, 16:45
cf8eb41
Код
Авторство
О чём код?
// Strips ESM keywords from a module source so it can be inlined as a plain // <script> body. Used by tools/build-lab.mjs (when assembling the lab) and // by browser-harness tests (when inlining src/ into a Chrome harness). // // Supported forms: // - single-line: import { x, y } from "./mod.js"; (filtered out) // - prefix: export function|const|let|class ... (export keyword removed) // // Anything else (multi-line imports, export default, export {}-block) leaks // through unchanged and should be detected by the caller via a leftover-ESM // scan (see assertNoLeftoverEsm in build-lab.mjs). export function transformModule(source) { return source .split("\n") .filter((line) => !/^\s*import\s.*from\s+["'][^"']+["'];?\s*$/.test(line)) .map((line) => line.replace(/^(\s*)export\s+(?=function\b|const\b|let\b|class\b)/, "$1")) .join("\n"); }