@storm-software/workspace-tools
Version:
Tools for managing a Storm workspace, including various Nx generators and executors for common development tasks.
51 lines (42 loc) • 1.52 kB
JavaScript
;Object.defineProperty(exports, "__esModule", {value: true});
var _chunkWCTC7R27js = require('./chunk-WCTC7R27.js');
var _chunkIHMF6RANjs = require('./chunk-IHMF6RAN.js');
// src/executors/typia/executor.ts
var _fsextra = require('fs-extra');
var _TypiaProgrammerjs = require('typia/lib/programmers/TypiaProgrammer.js');
async function typiaExecutorFn(options, _, config) {
if (options.clean !== false) {
_chunkIHMF6RANjs.writeInfo.call(void 0, `\u{1F9F9} Cleaning output path: ${options.outputPath}`, config);
_fsextra.removeSync.call(void 0, options.outputPath);
}
await Promise.all(
options.entry.map((entry) => {
_chunkIHMF6RANjs.writeInfo.call(void 0, `\u{1F680} Running Typia on entry: ${entry}`, config);
return _TypiaProgrammerjs.TypiaProgrammer.build({
input: entry,
output: options.outputPath,
project: options.tsconfig
});
})
);
return {
success: true
};
}
var executor_default = _chunkWCTC7R27js.withRunExecutor.call(void 0,
"Typia runtime validation generator",
typiaExecutorFn,
{
skipReadingConfig: false,
hooks: {
applyDefaultOptions: (options) => {
options.entry ??= ["{sourceRoot}/index.ts"];
options.outputPath ??= "{sourceRoot}/__generated__/typia";
options.tsconfig ??= "{projectRoot}/tsconfig.json";
options.clean ??= true;
return options;
}
}
}
);
exports.typiaExecutorFn = typiaExecutorFn; exports.executor_default = executor_default;