Files
Kmake/test/fixtures/es-modules/transpiled-cjs-require-module/transpile.cjs
2026-05-26 23:36:42 -07:00

24 lines
1003 B
JavaScript

'use strict';
// This script is used to transpile ESM fixtures from the src/ directory
// to CJS modules in dist/. The transpiled CJS files are used to test
// integration of transpiled CJS modules loading real ESM.
const { readFileSync, writeFileSync, readdirSync } = require('node:fs');
// We use typescript.js because it's already in the code base as a fixture.
// Most ecosystem tools follow a similar pattern, and this produces a bare
// minimum integration test for existing patterns.
const ts = require('../../snapshot/typescript');
const { join } = require('node:path');
const sourceDir = join(__dirname, 'src');
const files = readdirSync(sourceDir);
for (const filename of files) {
const filePath = join(sourceDir, filename);
const source = readFileSync(filePath, 'utf8');
const { outputText } = ts.transpileModule(source, {
compilerOptions: { module: ts.ModuleKind.NodeNext }
});
writeFileSync(join(__dirname, 'dist', filename.replace('.mjs', '.cjs')), outputText, 'utf8');
}