Some checks failed
Architecture Governance / architecture (push) Has been cancelled
@lucide/angular shipped its entire ~1500-icon set in the initial bundle despite the app only using 85 named-imported icons - confirmed upstream tree-shaking failure (sideEffects:false, clean named imports, single non-splittable fesm file). Replaced icon-registry.ts/icon.component.ts with hand-rolled inline SVG rendering of just the 85 used icons, transcribed from lucide's own node data for pixel-identical output. Zero call-site changes - AppIconName and app-icon's public API unchanged. Also: karma-coverage wired (npm run test:coverage), baseline captured in docs/SPRINT-PLAN-NEXT.md (32% statements / 18.5% branches). Cart-modal -> app-dialog migration was attempted and reverted - real conflicts (backdrop-close, nested-modal escape priority, iframe sizing), documented in docs/FUTURE_FEATURES.md for a properly scoped follow-up. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
33 lines
1.1 KiB
JavaScript
33 lines
1.1 KiB
JavaScript
// Karma configuration for `ng test` (@angular/build:karma builder).
|
|
// A headless, sandbox-free Chrome launcher so the suite runs in CI and in
|
|
// restricted/dev environments where Chrome isn't on PATH. CHROME_BIN falls
|
|
// back to the default Windows install path when the env var isn't set.
|
|
process.env.CHROME_BIN =
|
|
process.env.CHROME_BIN || 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe';
|
|
|
|
module.exports = function (config) {
|
|
config.set({
|
|
frameworks: ['jasmine'],
|
|
plugins: [
|
|
require('karma-jasmine'),
|
|
require('karma-chrome-launcher'),
|
|
require('karma-jasmine-html-reporter'),
|
|
require('karma-coverage'),
|
|
],
|
|
browsers: ['ChromeHeadlessNoSandbox'],
|
|
customLaunchers: {
|
|
ChromeHeadlessNoSandbox: {
|
|
base: 'ChromeHeadless',
|
|
flags: ['--no-sandbox', '--disable-gpu', '--disable-dev-shm-usage'],
|
|
},
|
|
},
|
|
reporters: ['progress', 'coverage'],
|
|
coverageReporter: {
|
|
dir: require('path').join(__dirname, 'coverage'),
|
|
subdir: '.',
|
|
reporters: [{ type: 'text-summary' }, { type: 'html' }, { type: 'lcovonly' }],
|
|
},
|
|
restartOnFileChange: true,
|
|
});
|
|
};
|