mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-09-12 11:59:39 +02:00
Vite
This commit is contained in:
@@ -15,9 +15,9 @@
|
|||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div class="mermaid">
|
<!-- <div class="mermaid">
|
||||||
info
|
info
|
||||||
</div>
|
</div> -->
|
||||||
|
|
||||||
<hr />
|
<hr />
|
||||||
|
|
||||||
|
82
jison.js
82
jison.js
@@ -1,31 +1,61 @@
|
|||||||
import { Jison } from 'jison';
|
const Jison = require('jison');
|
||||||
import { createFilter } from 'rollup-pluginutils';
|
const fileRegex = /\.(jison)$/;
|
||||||
|
|
||||||
export default (options = {}) => ({
|
export default function jison() {
|
||||||
name: 'jison',
|
return {
|
||||||
transform(grammar, id) {
|
name: 'jison',
|
||||||
const { include = ['*.jison', '**/*.jison'], exclude, type = 'lalr' } = options;
|
|
||||||
const filter = createFilter(include, exclude);
|
|
||||||
if (!filter(id)) return null;
|
|
||||||
|
|
||||||
const parser = new Jison.Generator(grammar, {
|
transform(src, id) {
|
||||||
moduleType: 'js',
|
if (fileRegex.test(id)) {
|
||||||
type,
|
const parser = new Jison.Generator(src, {
|
||||||
});
|
moduleType: 'js',
|
||||||
|
// type,
|
||||||
|
});
|
||||||
|
const source = parser.generate();
|
||||||
|
const exporter = `
|
||||||
|
const parse = parser.parse.bind(parser);
|
||||||
|
parser.parser = parse;
|
||||||
|
|
||||||
const source = parser.generate();
|
export { parser };
|
||||||
const exporter = `
|
export default parser;
|
||||||
const parse = parser.parse.bind(parser);
|
`;
|
||||||
parser.parser = parse;
|
|
||||||
|
|
||||||
export { parser };
|
// console.log('helll');
|
||||||
export default parser;
|
|
||||||
`;
|
|
||||||
|
|
||||||
console.log('helll');
|
return {
|
||||||
return {
|
code: `${source} ${exporter}`,
|
||||||
code: `${source} ${exporter}`,
|
map: null, // provide source map if available
|
||||||
map: { mappings: '' },
|
};
|
||||||
};
|
}
|
||||||
},
|
},
|
||||||
});
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// export default (options = {}) => ({
|
||||||
|
// name: 'jison',
|
||||||
|
// transform(grammar, id) {
|
||||||
|
// const { include = ['*.jison', '**/*.jison'], exclude, type = 'lalr' } = options;
|
||||||
|
// const filter = createFilter(include, exclude);
|
||||||
|
// if (!filter(id)) return null;
|
||||||
|
|
||||||
|
// const parser = new Jison.Generator(grammar, {
|
||||||
|
// moduleType: 'js',
|
||||||
|
// type,
|
||||||
|
// });
|
||||||
|
|
||||||
|
// const source = parser.generate();
|
||||||
|
// const exporter = `
|
||||||
|
// const parse = parser.parse.bind(parser);
|
||||||
|
// parser.parser = parse;
|
||||||
|
|
||||||
|
// export { parser };
|
||||||
|
// export default parser;
|
||||||
|
// `;
|
||||||
|
|
||||||
|
// console.log('helll');
|
||||||
|
// return {
|
||||||
|
// code: `${source} ${exporter}`,
|
||||||
|
// map: { mappings: '' },
|
||||||
|
// };
|
||||||
|
// },
|
||||||
|
// });
|
||||||
|
@@ -2,6 +2,7 @@ import { resolve } from 'path';
|
|||||||
import { defineConfig } from 'vite';
|
import { defineConfig } from 'vite';
|
||||||
import jison from './jison';
|
import jison from './jison';
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
|
plugins: [jison()],
|
||||||
resolve: {
|
resolve: {
|
||||||
extensions: ['.ts', '.js', '.json', '.jison'],
|
extensions: ['.ts', '.js', '.json', '.jison'],
|
||||||
},
|
},
|
||||||
@@ -13,7 +14,6 @@ export default defineConfig({
|
|||||||
fileName: 'mermaid',
|
fileName: 'mermaid',
|
||||||
},
|
},
|
||||||
rollupOptions: {
|
rollupOptions: {
|
||||||
plugins: [jison()],
|
|
||||||
// make sure to externalize deps that shouldn't be bundled
|
// make sure to externalize deps that shouldn't be bundled
|
||||||
// into your library
|
// into your library
|
||||||
output: {
|
output: {
|
||||||
|
Reference in New Issue
Block a user