mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-01-21 06:53:17 +08:00
35 lines
765 B
TypeScript
35 lines
765 B
TypeScript
import { Generator } from 'jison';
|
|
import { defineConfig } from 'vitest/config';
|
|
|
|
const fileRegex = /\.jison$/;
|
|
|
|
/** Transforms jison to js. */
|
|
export function jisonPlugin() {
|
|
return {
|
|
name: 'transform-jison',
|
|
|
|
transform(src: string, id: string) {
|
|
if (fileRegex.test(id)) {
|
|
console.log('Transforming', id);
|
|
return {
|
|
// @ts-ignore
|
|
code: new Generator(src, { 'token-stack': true }).generate(),
|
|
map: null, // provide source map if available
|
|
};
|
|
}
|
|
},
|
|
};
|
|
}
|
|
|
|
export default defineConfig({
|
|
resolve: {
|
|
extensions: ['.jison', '.js', '.ts', '.json'],
|
|
},
|
|
plugins: [jisonPlugin()],
|
|
test: {
|
|
environment: 'jsdom',
|
|
globals: true,
|
|
setupFiles: ['src/tests/setup.ts'],
|
|
},
|
|
});
|