- web/: Vue 3 + Vite + UnoCSS + Pinia, dark tactical theme (amber/#0d1117) - AppNav, ListingCard, SearchView with filters/sort, composables (useSnipeMode, useKonamiCode, useMotion), Pinia search store - Steal shimmer, auction countdown, Snipe Mode easter egg all native in Vue - docker/web/: nginx + multi-stage Dockerfile (node build → nginx serve) - compose.yml: api (8510) + web (8509) services - Dockerfile CMD updated to uvicorn for upcoming FastAPI layer - Clean build: 0 TS errors, 380 modules
49 lines
1.2 KiB
JavaScript
49 lines
1.2 KiB
JavaScript
'use strict';
|
|
|
|
const index = require('../scope/index.cjs');
|
|
const index$1 = require('../atrule/index.cjs');
|
|
const index$2 = require('../pseudo/index.cjs');
|
|
const indexParse = require('../node/index-parse.cjs');
|
|
|
|
const config = {
|
|
parseContext: {
|
|
default: 'StyleSheet',
|
|
stylesheet: 'StyleSheet',
|
|
atrule: 'Atrule',
|
|
atrulePrelude(options) {
|
|
return this.AtrulePrelude(options.atrule ? String(options.atrule) : null);
|
|
},
|
|
mediaQueryList: 'MediaQueryList',
|
|
mediaQuery: 'MediaQuery',
|
|
condition(options) {
|
|
return this.Condition(options.kind);
|
|
},
|
|
rule: 'Rule',
|
|
selectorList: 'SelectorList',
|
|
selector: 'Selector',
|
|
block() {
|
|
return this.Block(true);
|
|
},
|
|
declarationList: 'DeclarationList',
|
|
declaration: 'Declaration',
|
|
value: 'Value'
|
|
},
|
|
features: {
|
|
supports: {
|
|
selector() {
|
|
return this.Selector();
|
|
}
|
|
},
|
|
container: {
|
|
style() {
|
|
return this.Declaration();
|
|
}
|
|
}
|
|
},
|
|
scope: index,
|
|
atrule: index$1,
|
|
pseudo: index$2,
|
|
node: indexParse
|
|
};
|
|
|
|
module.exports = config;
|