@weave-framework/compiler 1.0.15 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/component.d.ts.map +1 -1
- package/dist/component.js +24 -3
- package/dist/component.js.map +1 -1
- package/package.json +1 -1
package/dist/component.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../src/component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,MAAM,WAAW,eAAe;IAC9B,0FAA0F;IAC1F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,GAAG,EAAE,MAAM,CAAC;IACZ,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../src/component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,MAAM,WAAW,eAAe;IAC9B,0FAA0F;IAC1F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,GAAG,EAAE,MAAM,CAAC;IACZ,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAQD,4FAA4F;AAC5F,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,GAAE,gBAAqB,GAAG,iBAAiB,CAyCrG;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,uFAAuF;IACvF,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,qFAAqF;IACrF,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,CAe9D;AAuCD,2EAA2E;AAC3E,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAYxD"}
|
package/dist/component.js
CHANGED
|
@@ -17,6 +17,10 @@ import { parseTemplate } from './parser.js';
|
|
|
17
17
|
import { inferCtxNames } from './infer.js';
|
|
18
18
|
import { scopeCss, scopeAttr, hostAttr, hashCss } from './css.js';
|
|
19
19
|
const HAS_SETUP = /export\s+(?:async\s+)?function\s+setup\b|export\s+(?:const|let|var)\s+setup\b/;
|
|
20
|
+
/** A component-file EXTENSION declares `export const extend = Base` (RFC 0008, form A / mode #1). */
|
|
21
|
+
const HAS_EXTEND = /export\s+(?:const|let|var)\s+extend\b/;
|
|
22
|
+
/** Optional `export function extendProps(props)` — the pre-base props seam (RFC 0008). */
|
|
23
|
+
const HAS_EXTEND_PROPS = /export\s+(?:async\s+)?function\s+extendProps\b|export\s+(?:const|let|var)\s+extendProps\b/;
|
|
20
24
|
/** Compile a `{ script, template, styles }` triple into a component module + scoped CSS. */
|
|
21
25
|
export function compileComponent(src, opts = {}) {
|
|
22
26
|
const hash = opts.hash ?? hashCss(opts.filename ?? src.template);
|
|
@@ -29,12 +33,29 @@ export function compileComponent(src, opts = {}) {
|
|
|
29
33
|
const renderBody = compiled.code.replace('export default function render', 'function render');
|
|
30
34
|
const css = src.styles ? scopeCss(src.styles, hash) : '';
|
|
31
35
|
const script = src.script ?? '';
|
|
32
|
-
const
|
|
36
|
+
const hasSetup = HAS_SETUP.test(script);
|
|
37
|
+
// A component-file EXTENSION (`export const extend = Base`, RFC 0008): the default export wraps
|
|
38
|
+
// its own setup with the base's via `extendSetup(extend, setup?, extendProps?)`, so an instance
|
|
39
|
+
// reuses the base's setup context and this component's `setup(props, base)` overrides/adds on top.
|
|
40
|
+
// Its own template is the full override (mode #1). A non-extension component is unchanged.
|
|
41
|
+
const isExtension = HAS_EXTEND.test(script);
|
|
42
|
+
let defaultExport;
|
|
43
|
+
let extendImport = '';
|
|
44
|
+
if (isExtension) {
|
|
45
|
+
const args = ['extend', hasSetup ? 'setup' : 'undefined'];
|
|
46
|
+
if (HAS_EXTEND_PROPS.test(script))
|
|
47
|
+
args.push('extendProps');
|
|
48
|
+
defaultExport = `export default defineComponent(render, extendSetup(${args.join(', ')}));`;
|
|
49
|
+
extendImport = ', extendSetup';
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
defaultExport = `export default defineComponent(${hasSetup ? 'render, setup' : 'render'});`;
|
|
53
|
+
}
|
|
33
54
|
const code = [
|
|
34
55
|
script.trim(),
|
|
35
|
-
|
|
56
|
+
`import { defineComponent${extendImport} } from "@weave-framework/runtime/dom";`,
|
|
36
57
|
renderBody,
|
|
37
|
-
|
|
58
|
+
defaultExport,
|
|
38
59
|
]
|
|
39
60
|
.filter(Boolean)
|
|
40
61
|
.join('\n\n');
|
package/dist/component.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../src/component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,eAAe,EAAsB,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAiClE,MAAM,SAAS,GAAW,+EAA+E,CAAC;
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../src/component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,eAAe,EAAsB,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAiClE,MAAM,SAAS,GAAW,+EAA+E,CAAC;AAC1G,qGAAqG;AACrG,MAAM,UAAU,GAAW,uCAAuC,CAAC;AACnE,0FAA0F;AAC1F,MAAM,gBAAgB,GAAW,2FAA2F,CAAC;AAE7H,4FAA4F;AAC5F,MAAM,UAAU,gBAAgB,CAAC,GAAoB,EAAE,OAAyB,EAAE;IAChF,MAAM,IAAI,GAAW,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzE,MAAM,IAAI,GAAW,SAAS,CAAC,IAAI,CAAC,CAAC;IAErC,MAAM,KAAK,GAAa,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnE,4FAA4F;IAC5F,MAAM,IAAI,GAAuB,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvG,MAAM,QAAQ,GAAkB,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1H,kFAAkF;IAClF,MAAM,UAAU,GAAW,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,gCAAgC,EAAE,iBAAiB,CAAC,CAAC;IAEtG,MAAM,GAAG,GAAW,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,MAAM,GAAW,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAY,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEjD,gGAAgG;IAChG,gGAAgG;IAChG,mGAAmG;IACnG,2FAA2F;IAC3F,MAAM,WAAW,GAAY,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,aAAqB,CAAC;IAC1B,IAAI,YAAY,GAAW,EAAE,CAAC;IAC9B,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,IAAI,GAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACpE,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5D,aAAa,GAAG,sDAAsD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3F,YAAY,GAAG,eAAe,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,aAAa,GAAG,kCAAkC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC;IAC9F,CAAC;IAED,MAAM,IAAI,GAAW;QACnB,MAAM,CAAC,IAAI,EAAE;QACb,2BAA2B,YAAY,yCAAyC;QAChF,UAAU;QACV,aAAa;KACd;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC;AAC9D,CAAC;AAqBD,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,MAAM,MAAM,GAAwB,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAClE,MAAM,KAAK,GAAwB,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChE,IAAI,QAAQ,GAAW,MAAM,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC;YAAE,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO;QACL,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,SAAS;QAClC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC5C,QAAQ;QACR,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,EAAE,KAAK,EAAE,KAAK,IAAI,SAAS;KAClC,CAAC;AACJ,CAAC;AAUD,SAAS,WAAW,CAAC,MAAc,EAAE,GAAW;IAC9C,MAAM,IAAI,GAAW,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3E,IAAI,IAAI,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7B,MAAM,EAAE,GAAW,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAW,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC;IACpE,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,QAAQ,GAAW,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IACrD,MAAM,IAAI,GAAW,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC;IACnE,OAAO;QACL,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,MAAM;QAClC,UAAU,EAAE,EAAE,GAAG,CAAC,GAAG,IAAI;QACzB,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE;KACvB,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,SAAS,UAAU,CAAC,CAAS,EAAE,KAAa,EAAE,GAAW;IACvD,IAAI,GAAG,GAAW,EAAE,CAAC;IACrB,KAAK,IAAI,CAAC,GAAW,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;QAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IAC5E,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,MAAM,CAAC,CAAS,EAAE,MAAc;IACvC,IAAI,IAAI,GAAW,CAAC,CAAC;IACrB,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI;YAAE,IAAI,EAAE,CAAC;IACnF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,QAAQ,CAAC,MAAc;IACrC,MAAM,MAAM,GAAmC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAmC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5E,MAAM,QAAQ,GAAW,MAAM;SAC5B,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC;SACvB,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC;SACtB,IAAI,EAAE,CAAC;IACV,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,SAAS;QACjC,QAAQ;QACR,MAAM,EAAE,KAAK,CAAC,KAAK,IAAI,SAAS;KACjC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,MAAc,EAAE,GAAW;IAC/C,MAAM,IAAI,GAAW,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3E,IAAI,IAAI,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC/C,MAAM,EAAE,GAAW,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAW,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC;IACpE,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAChD,MAAM,GAAG,GAAW,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC;IAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;AACrF,CAAC"}
|