vue-inbrowser-compiler-utils
Advanced tools
Comparing version 4.56.5 to 4.62.0
# Change Log | ||
## 4.62.0 | ||
### Minor Changes | ||
- [#1498](https://github.com/vue-styleguidist/vue-styleguidist/pull/1498) [`1990d7f8`](https://github.com/vue-styleguidist/vue-styleguidist/commit/1990d7f8c4601a2af5160aff9e29d12e3e57f727) Thanks [@elevatebart](https://github.com/elevatebart)! - resolve setup imported components | ||
### Patch Changes | ||
- Updated dependencies [[`1990d7f8`](https://github.com/vue-styleguidist/vue-styleguidist/commit/1990d7f8c4601a2af5160aff9e29d12e3e57f727)]: | ||
- vue-inbrowser-compiler-independent-utils@4.62.0 | ||
## 4.56.5 | ||
@@ -4,0 +15,0 @@ |
import { EvaluableComponent } from 'vue-inbrowser-compiler-independent-utils'; | ||
export declare function compileTemplateForEval(compiledComponent: EvaluableComponent): void; | ||
export declare function compileTemplateForEvalSetup(compiledComponent: EvaluableComponent, code: string): void; |
@@ -168,3 +168,2 @@ 'use strict'; | ||
function compileTemplateForEval(compiledComponent) { | ||
var _a, _b; | ||
if (compiledComponent.template) { | ||
@@ -181,3 +180,3 @@ const { bindings } = vueInbrowserCompilerDemi.compileScript({ | ||
}); | ||
const _compiledTemplate = vueInbrowserCompilerDemi.compileTemplate({ | ||
const renderObject = vueInbrowserCompilerDemi.compileTemplate({ | ||
source: compiledComponent.template, | ||
@@ -192,14 +191,33 @@ filename: EXAMPLE_FILENAME, | ||
}); | ||
compiledComponent.script = ` | ||
setFinalRender(compiledComponent, renderObject); | ||
} | ||
} | ||
function compileTemplateForEvalSetup(compiledComponent, code) { | ||
const descriptor = vueInbrowserCompilerDemi.parseComponent(code); | ||
const { bindings } = vueInbrowserCompilerDemi.compileScript(descriptor, { id: '-' }); | ||
const renderObject = vueInbrowserCompilerDemi.compileTemplate({ | ||
source: code, | ||
filename: EXAMPLE_FILENAME, | ||
id: '-', | ||
compilerOptions: { | ||
bindingMetadata: bindings, | ||
prefixIdentifiers: true, | ||
mode: 'function' | ||
}, | ||
}); | ||
setFinalRender(compiledComponent, renderObject); | ||
} | ||
function setFinalRender(sfc, renderObject) { | ||
var _a, _b; | ||
sfc.script = ` | ||
${vueInbrowserCompilerDemi.isVue3 ? 'const Vue = require("vue")' : ''} | ||
const comp = (function() {${compiledComponent.script}})()${((_a = _compiledTemplate.staticRenderFns) === null || _a === void 0 ? void 0 : _a.length) ? ` | ||
comp.staticRenderFns = [${(_b = _compiledTemplate.staticRenderFns) === null || _b === void 0 ? void 0 : _b.map((fn, i) => { | ||
return `function(){${fn}}`; | ||
}).join(',')}]` : ''} | ||
comp.render = function() {${_compiledTemplate.code}} | ||
const comp = (function() {${sfc.script}})()${((_a = renderObject.staticRenderFns) === null || _a === void 0 ? void 0 : _a.length) ? ` | ||
comp.staticRenderFns = [${(_b = renderObject.staticRenderFns) === null || _b === void 0 ? void 0 : _b.map((fn) => { | ||
return `function(){${fn}}`; | ||
}).join(',')}]` : ''} | ||
comp.render = function() {${renderObject.code}} | ||
${vueInbrowserCompilerDemi.isVue3 | ||
? `comp.render = comp.render()` : ''} | ||
? `comp.render = comp.render()` : ''} | ||
return comp`; | ||
delete compiledComponent.template; | ||
} | ||
delete sfc.template; | ||
} | ||
@@ -253,3 +271,4 @@ | ||
exports.compileTemplateForEval = compileTemplateForEval; | ||
exports.compileTemplateForEvalSetup = compileTemplateForEvalSetup; | ||
exports.concatenate = concatenate; | ||
exports.isCodeVueSfc = isCodeVueSfc; |
@@ -161,3 +161,2 @@ import { isVue3, parseComponent, compileScript, compileTemplate } from 'vue-inbrowser-compiler-demi'; | ||
function compileTemplateForEval(compiledComponent) { | ||
var _a, _b; | ||
if (compiledComponent.template) { | ||
@@ -174,3 +173,3 @@ const { bindings } = compileScript({ | ||
}); | ||
const _compiledTemplate = compileTemplate({ | ||
const renderObject = compileTemplate({ | ||
source: compiledComponent.template, | ||
@@ -185,16 +184,35 @@ filename: EXAMPLE_FILENAME, | ||
}); | ||
compiledComponent.script = ` | ||
setFinalRender(compiledComponent, renderObject); | ||
} | ||
} | ||
function compileTemplateForEvalSetup(compiledComponent, code) { | ||
const descriptor = parseComponent(code); | ||
const { bindings } = compileScript(descriptor, { id: '-' }); | ||
const renderObject = compileTemplate({ | ||
source: code, | ||
filename: EXAMPLE_FILENAME, | ||
id: '-', | ||
compilerOptions: { | ||
bindingMetadata: bindings, | ||
prefixIdentifiers: true, | ||
mode: 'function' | ||
}, | ||
}); | ||
setFinalRender(compiledComponent, renderObject); | ||
} | ||
function setFinalRender(sfc, renderObject) { | ||
var _a, _b; | ||
sfc.script = ` | ||
${isVue3 ? 'const Vue = require("vue")' : ''} | ||
const comp = (function() {${compiledComponent.script}})()${((_a = _compiledTemplate.staticRenderFns) === null || _a === void 0 ? void 0 : _a.length) ? ` | ||
comp.staticRenderFns = [${(_b = _compiledTemplate.staticRenderFns) === null || _b === void 0 ? void 0 : _b.map((fn, i) => { | ||
return `function(){${fn}}`; | ||
}).join(',')}]` : ''} | ||
comp.render = function() {${_compiledTemplate.code}} | ||
const comp = (function() {${sfc.script}})()${((_a = renderObject.staticRenderFns) === null || _a === void 0 ? void 0 : _a.length) ? ` | ||
comp.staticRenderFns = [${(_b = renderObject.staticRenderFns) === null || _b === void 0 ? void 0 : _b.map((fn) => { | ||
return `function(){${fn}}`; | ||
}).join(',')}]` : ''} | ||
comp.render = function() {${renderObject.code}} | ||
${isVue3 | ||
? `comp.render = comp.render()` : ''} | ||
? `comp.render = comp.render()` : ''} | ||
return comp`; | ||
delete compiledComponent.template; | ||
} | ||
delete sfc.template; | ||
} | ||
export { adaptCreateElement, compileTemplateForEval, concatenate, isCodeVueSfc }; | ||
export { adaptCreateElement, compileTemplateForEval, compileTemplateForEvalSetup, concatenate, isCodeVueSfc }; |
{ | ||
"name": "vue-inbrowser-compiler-utils", | ||
"version": "4.56.5", | ||
"version": "4.62.0", | ||
"description": "use this with vue-inbrowser-compiler to allow jsx compilation", | ||
@@ -18,3 +18,3 @@ "module": "lib/vue-inbrowser-compiler-utils.esm.js", | ||
"vue-inbrowser-compiler-demi": "^4.56.5", | ||
"vue-inbrowser-compiler-independent-utils": "^4.55.0" | ||
"vue-inbrowser-compiler-independent-utils": "^4.62.0" | ||
}, | ||
@@ -28,4 +28,4 @@ "devDependencies": { | ||
"dedent": "0.7.0", | ||
"tslib": "2.4.1", | ||
"typescript": "4.9.4", | ||
"tslib": "2.5.0", | ||
"typescript": "4.9.5", | ||
"rollup": "2.79.1", | ||
@@ -32,0 +32,0 @@ "vue": "2.7.14" |
@@ -1,2 +0,2 @@ | ||
import { SpyInstance } from 'vitest' | ||
import { SpyInstance, expect } from 'vitest' | ||
import adaptCreateElement, { CreateElementFunction } from './adaptCreateElement' | ||
@@ -3,0 +3,0 @@ |
@@ -1,2 +0,2 @@ | ||
import { compileScript, compileTemplate, isVue3 } from 'vue-inbrowser-compiler-demi' | ||
import { compileScript, compileTemplate, isVue3, parseComponent } from 'vue-inbrowser-compiler-demi' | ||
import { EvaluableComponent } from 'vue-inbrowser-compiler-independent-utils' | ||
@@ -6,3 +6,3 @@ | ||
export function compileTemplateForEval(compiledComponent: EvaluableComponent) { | ||
export function compileTemplateForEval(compiledComponent: EvaluableComponent):void { | ||
if (compiledComponent.template) { | ||
@@ -17,3 +17,3 @@ const { bindings } = compileScript( | ||
scriptSetup: null | ||
}, | ||
} as any, | ||
{ | ||
@@ -23,3 +23,3 @@ id: '-' | ||
) | ||
const _compiledTemplate = compileTemplate({ | ||
const renderObject = compileTemplate({ | ||
source: compiledComponent.template, | ||
@@ -32,14 +32,36 @@ filename: EXAMPLE_FILENAME, | ||
mode: 'function' | ||
} | ||
}) | ||
compiledComponent.script = ` | ||
setFinalRender(compiledComponent, renderObject) | ||
} | ||
} | ||
export function compileTemplateForEvalSetup(compiledComponent: EvaluableComponent, code:string):void{ | ||
const descriptor = parseComponent(code) | ||
const { bindings } = compileScript(descriptor as any, { id: '-' }) | ||
const renderObject = compileTemplate({ | ||
source: code, | ||
filename: EXAMPLE_FILENAME, | ||
id: '-', | ||
compilerOptions: { | ||
bindingMetadata: bindings, | ||
prefixIdentifiers: true, | ||
mode: 'function' | ||
}, | ||
}) | ||
setFinalRender(compiledComponent, renderObject) | ||
} | ||
function setFinalRender(sfc: EvaluableComponent, renderObject:any):void { | ||
sfc.script = ` | ||
${isVue3 ? 'const Vue = require("vue")' : ''} | ||
const comp = (function() {${compiledComponent.script}})()${ | ||
_compiledTemplate.staticRenderFns?.length ? ` | ||
comp.staticRenderFns = [${_compiledTemplate.staticRenderFns | ||
?.map((fn, i) => { | ||
const comp = (function() {${sfc.script}})()${ | ||
renderObject.staticRenderFns?.length ? ` | ||
comp.staticRenderFns = [${renderObject.staticRenderFns | ||
?.map((fn:string) => { | ||
return `function(){${fn}}` | ||
}) | ||
.join(',')}]` : ''} | ||
comp.render = function() {${_compiledTemplate.code}} | ||
comp.render = function() {${renderObject.code}} | ||
${ | ||
@@ -50,4 +72,3 @@ isVue3 | ||
return comp` | ||
delete compiledComponent.template | ||
} | ||
delete sfc.template | ||
} |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
49687
851