@routineless/nx-aws-cdk
Version:
Nx plugin for AWS CDK
38 lines • 1.67 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const plugin_1 = require("@nx/jest/plugin");
const fs_1 = require("fs");
const path_1 = require("path");
const createLambdaInfraNode = async (projectConfigFilePath, _, context) => {
const projectRoot = (0, path_1.dirname)(projectConfigFilePath);
const projectJestConfig = `${projectRoot}/jest.config.ts`;
let isJestPluginEnabled = false;
let jestOptions;
for (const pluginConfig of context.nxJsonConfiguration.plugins || []) {
if (pluginConfig === '@nx/jest/plugin') {
isJestPluginEnabled = true;
}
if (isExtendedPluginConfiguration(pluginConfig) && pluginConfig.plugin === '@nx/jest/plugin') {
isJestPluginEnabled = true;
jestOptions = pluginConfig.options;
}
}
if (!isJestPluginEnabled || !(0, fs_1.existsSync)(projectJestConfig)) {
return {};
}
const jestConstractedTarget = await plugin_1.createNodes[1](projectJestConfig, jestOptions, context);
const targetName = jestOptions?.targetName ?? 'test';
jestConstractedTarget.projects[projectRoot].targets[targetName].dependsOn = ['^build'];
return jestConstractedTarget;
};
const isExtendedPluginConfiguration = (plugin) => {
return typeof plugin !== 'string';
};
const predicate = (projectConfigFilePath) => projectConfigFilePath.includes('/infra/project.json') &&
(0, fs_1.existsSync)(projectConfigFilePath.replace('/infra/project.json', '/runtime'));
const createNodes = {
predicate,
createNodesFunction: createLambdaInfraNode,
};
exports.default = createNodes;
//# sourceMappingURL=inferrence.js.map