UNPKG

@storm-software/workspace-tools

Version:

Tools for managing a Storm workspace, including various Nx generators and executors for common development tasks.

53 lines (44 loc) 3.15 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _chunkWCTC7R27js = require('./chunk-WCTC7R27.js'); var _chunkIHMF6RANjs = require('./chunk-IHMF6RAN.js'); // src/executors/size-limit/executor.ts var _devkit = require('@nx/devkit'); var _esbuild = require('@size-limit/esbuild'); var _esbuild2 = _interopRequireDefault(_esbuild); var _esbuildwhy = require('@size-limit/esbuild-why'); var _esbuildwhy2 = _interopRequireDefault(_esbuildwhy); var _file = require('@size-limit/file'); var _file2 = _interopRequireDefault(_file); var _sizelimit = require('size-limit'); var _sizelimit2 = _interopRequireDefault(_sizelimit); async function sizeLimitExecutorFn(options, context, config) { if (!_optionalChain([context, 'optionalAccess', _ => _.projectName]) || !_optionalChain([context, 'access', _2 => _2.projectsConfigurations, 'optionalAccess', _3 => _3.projects]) || !context.projectsConfigurations.projects[context.projectName]) { throw new Error( "The Size-Limit process failed because the context is not valid. Please run this command from a workspace." ); } _chunkIHMF6RANjs.writeInfo.call(void 0, `\u{1F4CF} Running Size-Limit on ${context.projectName}`, config); _sizelimit2.default.call(void 0, [_file2.default, _esbuild2.default, _esbuildwhy2.default], { checks: _nullishCoalesce(_nullishCoalesce(options.entry, () => ( _optionalChain([context, 'access', _4 => _4.projectsConfigurations, 'access', _5 => _5.projects, 'access', _6 => _6[context.projectName], 'optionalAccess', _7 => _7.sourceRoot]))), () => ( _devkit.joinPathFragments.call(void 0, _nullishCoalesce(_optionalChain([context, 'access', _8 => _8.projectsConfigurations, 'access', _9 => _9.projects, 'access', _10 => _10[context.projectName], 'optionalAccess', _11 => _11.root]), () => ( "./")), "src" ))) }).then((result) => { _chunkIHMF6RANjs.writeInfo.call(void 0, `\u{1F4CF} ${context.projectName} Size-Limit result: ${JSON.stringify(result)}`, config ); }); return { success: true }; } var executor_default = _chunkWCTC7R27js.withRunExecutor.call(void 0, "Size-Limit Performance Test Executor", sizeLimitExecutorFn, { skipReadingConfig: false, hooks: { applyDefaultOptions: (options) => { return options; } } } ); exports.sizeLimitExecutorFn = sizeLimitExecutorFn; exports.executor_default = executor_default;