@nxext/stencil
Version:
Nx plugin for stenciljs
85 lines • 3.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getDefaultTargets = getDefaultTargets;
exports.getBuildTarget = getBuildTarget;
exports.getTestTarget = getTestTarget;
exports.getE2eTarget = getE2eTarget;
exports.getServeTarget = getServeTarget;
exports.getLintTarget = getLintTarget;
function getDefaultTargets(projectType, options) {
return {
build: getBuildTarget(projectType, options),
serve: getServeTarget(projectType, options),
test: getTestTarget(projectType, options),
e2e: getE2eTarget(projectType, options),
lint: getLintTarget(projectType, options.projectRoot),
};
}
function getBuildTarget(projectType, options) {
const tsconfigAddition = projectType === 'application' ? 'app' : 'lib';
return {
executor: '@nxext/stencil:build',
outputs: ['{options.outputPath}'],
options: {
projectType,
tsConfig: `${options.projectRoot}/tsconfig.${tsconfigAddition}.json`,
configPath: `${options.projectRoot}/stencil.config.ts`,
outputPath: `dist/${options.projectRoot}`,
},
configurations: {
production: {
dev: false,
prod: true,
},
},
};
}
function getTestTarget(projectType, options) {
const tsconfigAddition = projectType === 'application' ? 'app' : 'lib';
return {
executor: '@nxext/stencil:test',
outputs: ['{options.outputPath}'],
options: {
projectType,
tsConfig: `${options.projectRoot}/tsconfig.${tsconfigAddition}.json`,
configPath: `${options.projectRoot}/stencil.config.ts`,
outputPath: `dist/${options.projectRoot}`,
},
};
}
function getE2eTarget(projectType, options) {
const tsconfigAddition = projectType === 'application' ? 'app' : 'lib';
return {
executor: '@nxext/stencil:e2e',
outputs: ['{options.outputPath}'],
options: {
projectType,
tsConfig: `${options.projectRoot}/tsconfig.${tsconfigAddition}.json`,
configPath: `${options.projectRoot}/stencil.config.ts`,
outputPath: `dist/${options.projectRoot}`,
},
};
}
function getServeTarget(projectType, options) {
const tsconfigAddition = projectType === 'application' ? 'app' : 'lib';
return {
executor: `@nxext/stencil:serve`,
outputs: ['{options.outputPath}'],
options: {
projectType,
tsConfig: `${options.projectRoot}/tsconfig.${tsconfigAddition}.json`,
configPath: `${options.projectRoot}/stencil.config.ts`,
outputPath: `dist/${options.projectRoot}`,
},
};
}
function getLintTarget(projectType, projectRoot) {
return {
executor: '@nx/eslint:eslint',
outputs: ['{options.outputFile}'],
options: {
lintFilePatterns: `${projectRoot}/**/*.{ts,tsx}`,
},
};
}
//# sourceMappingURL=targets.js.map