@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
JavaScript
;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;