feat(core): allow nested objects in setup scripts
This commit is contained in:
parent
111c53d2fb
commit
6b0e0a46f0
4 changed files with 25 additions and 14 deletions
14
package-lock.json
generated
14
package-lock.json
generated
|
@ -3991,9 +3991,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"packages/config/node_modules/@mcflyjs/core": {
|
"packages/config/node_modules/@mcflyjs/core": {
|
||||||
"version": "0.3.0",
|
"version": "0.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/@mcflyjs/core/-/core-0.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/@mcflyjs/core/-/core-0.3.1.tgz",
|
||||||
"integrity": "sha512-tcOySS8avvY728XCX7tKrIdYaKOE4TwtUy/BMXS/kcaZaMpl4jQ93T+YKUSEOb2Rdm+lSLwJ12aCIQJRDl2Okg==",
|
"integrity": "sha512-16yqHjbp+Ms9tvwm1JIUDlH64oEuCe/zT/sJa8kxoMjRNbH2pX3zW0NmjfMT/tIPJiP821/CFyqvFz/MKmDwlg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"esprima": "^4.0.1",
|
"esprima": "^4.0.1",
|
||||||
"h3": "^1.8.2",
|
"h3": "^1.8.2",
|
||||||
|
@ -4002,7 +4002,7 @@
|
||||||
},
|
},
|
||||||
"packages/core": {
|
"packages/core": {
|
||||||
"name": "@mcflyjs/core",
|
"name": "@mcflyjs/core",
|
||||||
"version": "0.3.1",
|
"version": "0.3.2",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"esprima": "^4.0.1",
|
"esprima": "^4.0.1",
|
||||||
|
@ -4066,9 +4066,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"templates/basic/node_modules/@mcflyjs/core": {
|
"templates/basic/node_modules/@mcflyjs/core": {
|
||||||
"version": "0.3.0",
|
"version": "0.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/@mcflyjs/core/-/core-0.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/@mcflyjs/core/-/core-0.3.1.tgz",
|
||||||
"integrity": "sha512-tcOySS8avvY728XCX7tKrIdYaKOE4TwtUy/BMXS/kcaZaMpl4jQ93T+YKUSEOb2Rdm+lSLwJ12aCIQJRDl2Okg==",
|
"integrity": "sha512-16yqHjbp+Ms9tvwm1JIUDlH64oEuCe/zT/sJa8kxoMjRNbH2pX3zW0NmjfMT/tIPJiP821/CFyqvFz/MKmDwlg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"esprima": "^4.0.1",
|
"esprima": "^4.0.1",
|
||||||
"h3": "^1.8.2",
|
"h3": "^1.8.2",
|
||||||
|
|
|
@ -202,7 +202,17 @@ function doSetUp(html) {
|
||||||
while ((match = regex.exec(html))) {
|
while ((match = regex.exec(html))) {
|
||||||
let [key, value] = match;
|
let [key, value] = match;
|
||||||
value = value.replace(/\s/g, "");
|
value = value.replace(/\s/g, "");
|
||||||
html = html.replace(key, setupMap[value]);
|
// nested objects
|
||||||
|
const keys = value.split('.');
|
||||||
|
let finalValue = '';
|
||||||
|
let setupCopy = setupMap;
|
||||||
|
|
||||||
|
keys.forEach(i => {
|
||||||
|
finalValue = setupCopy[i]
|
||||||
|
setupCopy = finalValue;
|
||||||
|
})
|
||||||
|
|
||||||
|
html = html.replace(key, finalValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
return html;
|
return html;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@mcflyjs/core",
|
"name": "@mcflyjs/core",
|
||||||
"version": "0.3.1",
|
"version": "0.3.2",
|
||||||
"description": "McFly core package",
|
"description": "McFly core package",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
|
|
|
@ -5,10 +5,12 @@
|
||||||
<script src="/prism.js"></script>
|
<script src="/prism.js"></script>
|
||||||
<script server:setup>
|
<script server:setup>
|
||||||
const name = "Nitro";
|
const name = "Nitro";
|
||||||
let greeting = "hello";
|
let greeting = {
|
||||||
var count = sum(1, 247);
|
url: 'https://www.google.com',
|
||||||
|
message: "hello"
|
||||||
|
};
|
||||||
|
|
||||||
greeting = "nope";
|
var count = sum(1, 247);
|
||||||
|
|
||||||
function sum(x, y) {
|
function sum(x, y) {
|
||||||
return x + y;
|
return x + y;
|
||||||
|
@ -56,8 +58,7 @@
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<code-block language="js">const name = "Nitro"</code-block>
|
<code-block language="js">const name = "Nitro"</code-block>
|
||||||
<p>some text: {{greeting}}</p>
|
<a href="{{greeting.url}}">some text: {{greeting.message}}</a>
|
||||||
{{greeting}} hey<br />
|
|
||||||
<clickable-text></clickable-text>
|
<clickable-text></clickable-text>
|
||||||
</section>
|
</section>
|
||||||
<section id="breakdown">
|
<section id="breakdown">
|
||||||
|
|
Loading…
Reference in a new issue