mirror of
				https://github.com/mermaid-js/mermaid.git
				synced 2025-11-04 04:44:08 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			38 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import express, { NextFunction, Request, Response } from 'express';
 | 
						|
import { createServer as createViteServer } from 'vite';
 | 
						|
// import { getBuildConfig } from './build';
 | 
						|
 | 
						|
const cors = (req: Request, res: Response, next: NextFunction) => {
 | 
						|
  res.header('Access-Control-Allow-Origin', '*');
 | 
						|
  res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
 | 
						|
  res.header('Access-Control-Allow-Headers', 'Content-Type');
 | 
						|
 | 
						|
  next();
 | 
						|
};
 | 
						|
 | 
						|
async function createServer() {
 | 
						|
  const app = express();
 | 
						|
 | 
						|
  // Create Vite server in middleware mode
 | 
						|
  const vite = await createViteServer({
 | 
						|
    configFile: './vite.config.ts',
 | 
						|
    server: { middlewareMode: true },
 | 
						|
    appType: 'custom', // don't include Vite's default HTML handling middlewares
 | 
						|
  });
 | 
						|
 | 
						|
  app.use(cors);
 | 
						|
  app.use(express.static('./packages/mermaid/dist'));
 | 
						|
  app.use(express.static('./packages/mermaid-example-diagram/dist'));
 | 
						|
  app.use(express.static('./packages/mermaid-mindmap/dist'));
 | 
						|
  app.use(vite.middlewares);
 | 
						|
  app.use(express.static('demos'));
 | 
						|
  app.use(express.static('cypress/platform'));
 | 
						|
 | 
						|
  app.listen(9000, () => {
 | 
						|
    console.log(`Listening on http://localhost:9000`);
 | 
						|
  });
 | 
						|
}
 | 
						|
 | 
						|
// build(getBuildConfig({ minify: false, watch: true }));
 | 
						|
createServer();
 |