<script type="module">
import prettier from "https://unpkg.com/prettier@2.2.1/esm/standalone.mjs";
import parserBabel from "https://unpkg.com/prettier@2.2.1/esm/parser-babel.mjs";
import parserHtml from "https://unpkg.com/prettier@2.2.1/esm/parser-html.mjs";
const jsxcode = `import * as d3 from "d3";
import { useState } from "react";
import "./styles.css";
import LinePlot from "./LinePlot.jsx";
export default function App() {
const [data, setData] = useState(() => d3.ticks(-2, 2, 200).map(Math.sin));
function onMouseMove(event) {
const [x, y] = d3.pointer(event);
setData(data.slice(-200).concat(Math.atan2(x, y)));
}
return (
<div onMouseMove={onMouseMove}>
<LinePlot data={data} />
</div>
);
}
`
const vue_sass = `<script setup>
import HelloBicool from './HelloBicool.vue'
import { ref } from "vue"
const title = ref("Hello 笔.COOL");
const descr = ref("一笔一划,绘就人生;一码一境,酷创未来。");
</script\>
<template>
<div class="container">
<HelloBicool :title="title" :descr="descr" />
<a href="https://vuejs.org/" target="_blank">
<svg class="logo" viewBox="0 0 128 128" width="24" height="24" data-v-97365a3e="">
<path fill="#42b883" d="M78.8,10L64,35.4L49.2,10H0l64,110l64-110C128,10,78.8,10,78.8,10z" data-v-97365a3e="">
</path>
<path fill="#35495e" d="M78.8,10L64,35.4L49.2,10H25.6L64,76l38.4-66H78.8z" data-v-97365a3e=""></path>
</svg>
</a>
</div>
</template>
<style lang="sass" scoped>
.container
background: red
</style>
`
const a = prettier.format("const foo = 1, bar = 2,html = /* HTML */ `<DIV> </DIV>`", {
parser: "babel",
plugins: [parserBabel],
});
console.log(a)
console.log(prettier.format(jsxcode, {
parser: "babel",
plugins: [parserBabel],
}));
console.log(prettier.format(vue_sass, {
parser: "babel",
plugins: [parserBabel, parserHtml],
}));
</script>
index.html
style.css
index.js