nx-mesh
Version:
GraphQL Mesh support for Nx
44 lines • 1.75 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.baseGenerator = void 0;
const tslib_1 = require("tslib");
const devkit_1 = require("@nrwl/devkit");
const run_tasks_in_serial_1 = require("../../utils/run-tasks-in-serial");
const create_mesh_example_1 = require("../utils/create-mesh-example");
const lib_1 = require("./lib");
/**
* Generate the foundation for a GraphQL Mesh project
*/
function baseGenerator(tree, baseOptions) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
const options = (0, lib_1.normalizeOptions)(tree, baseOptions);
const { isCypress, isApp, isLibrary, skipFormat } = options;
const tasks = [yield (0, lib_1.nodeGenerator)(tree, options)];
(0, lib_1.createFiles)(tree, options);
(0, lib_1.addProjectConfig)(tree, options);
(0, lib_1.setDefaults)(tree, options);
(0, create_mesh_example_1.createMeshExample)(tree, {
codegen: options.codegen,
configExtension: options.meshConfigExt,
example: options.example,
isSdk: isLibrary,
projectDirectory: options.projectDirectory,
});
if (isApp) {
tasks.push(yield (0, lib_1.addJest)(tree, options));
}
if (isCypress) {
tasks.push(yield (0, lib_1.addCypress)(tree, options));
}
if (options.linter) {
tasks.push(yield (0, lib_1.addLinting)(tree, options));
}
if (!skipFormat) {
(0, devkit_1.formatFiles)(tree);
}
return (0, run_tasks_in_serial_1.runTasksInSerial)(...tasks);
});
}
exports.baseGenerator = baseGenerator;
exports.default = baseGenerator;
//# sourceMappingURL=base.js.map