@storm-software/workspace-tools
Version:
Tools for managing a Storm workspace, including various Nx generators and executors for common development tasks.
90 lines (76 loc) • 3.09 kB
JavaScript
;Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
var _chunkRBU35LQWjs = require('./chunk-RBU35LQW.js');
var _chunkNQ4W3N7Ojs = require('./chunk-NQ4W3N7O.js');
var _chunkJTAXCQX6js = require('./chunk-JTAXCQX6.js');
var _chunk3GQAWCBQjs = require('./chunk-3GQAWCBQ.js');
// src/generators/browser-library/generator.ts
var _devkit = require('@nx/devkit');
async function browserLibraryGeneratorFn(tree, schema, config) {
const filesDir = _chunkJTAXCQX6js.joinPaths.call(void 0, __dirname, "src", "generators", "browser-library", "files");
const tsLibraryGeneratorOptions = {
buildExecutor: "@storm-software/workspace-tools:unbuild",
platform: "browser",
devDependencies: {
"@types/react": "^18.3.6",
"@types/react-dom": "^18.3.0"
},
peerDependencies: {
react: "^18.3.0",
"react-dom": "^18.3.0",
"react-native": "*"
},
peerDependenciesMeta: {
"react-dom": {
optional: true
},
"react-native": {
optional: true
}
},
...schema,
description: schema.description,
directory: schema.directory
};
const options = await _chunkRBU35LQWjs.normalizeOptions.call(void 0, tree, tsLibraryGeneratorOptions);
const { className, name, propertyName } = _devkit.names.call(void 0, options.projectNames.projectFileName);
_devkit.generateFiles.call(void 0, tree, filesDir, options.projectRoot, {
...schema,
dot: ".",
className,
name,
namespace: _nullishCoalesce(process.env.STORM_NAMESPACE, () => ( "storm-software")),
description: _nullishCoalesce(schema.description, () => ( "")),
propertyName,
js: !!options.js,
cliCommand: "nx",
strict: void 0,
tmpl: "",
offsetFromRoot: _devkit.offsetFromRoot.call(void 0, options.projectRoot),
buildable: options.bundler && options.bundler !== "none",
hasUnitTestRunner: options.unitTestRunner !== "none",
tsConfigOptions: {
compilerOptions: {
jsx: "react",
types: [
"node",
"@nx/react/typings/cssmodule.d.ts",
"@nx/react/typings/image.d.ts"
]
}
}
});
await _chunkRBU35LQWjs.typeScriptLibraryGeneratorFn.call(void 0, tree, tsLibraryGeneratorOptions, config);
await _devkit.formatFiles.call(void 0, tree);
return null;
}
_chunk3GQAWCBQjs.__name.call(void 0, browserLibraryGeneratorFn, "browserLibraryGeneratorFn");
var generator_default = _chunkNQ4W3N7Ojs.withRunGenerator.call(void 0, "TypeScript Library Creator (Browser Platform)", browserLibraryGeneratorFn, {
hooks: {
applyDefaultOptions: /* @__PURE__ */ _chunk3GQAWCBQjs.__name.call(void 0, (options) => {
options.description ??= "A library used by Storm Software to support browser applications";
options.platform ??= "browser";
return options;
}, "applyDefaultOptions")
}
});
exports.browserLibraryGeneratorFn = browserLibraryGeneratorFn; exports.generator_default = generator_default;