mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-08-15 06:19:24 +02:00
chore: Add @mermaid-js/tiny
package
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { build } from 'esbuild';
|
||||
import { mkdir, writeFile } from 'node:fs/promises';
|
||||
import { mkdir, readFile, rename, writeFile } from 'node:fs/promises';
|
||||
import { packageOptions } from '../.build/common.js';
|
||||
import { generateLangium } from '../.build/generateLangium.js';
|
||||
import type { MermaidBuildOptions } from './util.js';
|
||||
@@ -77,6 +77,20 @@ const handler = (e) => {
|
||||
process.exit(1);
|
||||
};
|
||||
|
||||
const buildTinyMermaid = async () => {
|
||||
await mkdir('./packages/tiny/dist', { recursive: true });
|
||||
await rename(
|
||||
'./packages/mermaid/dist/mermaid.tiny.min.js',
|
||||
'./packages/tiny/dist/mermaid.tiny.min.js'
|
||||
);
|
||||
// Copy version from mermaid's package.json to tiny's package.json
|
||||
const mermaidPkg = JSON.parse(await readFile('./packages/mermaid/package.json', 'utf8'));
|
||||
const tinyPkg = JSON.parse(await readFile('./packages/tiny/package.json', 'utf8'));
|
||||
tinyPkg.version = mermaidPkg.version;
|
||||
|
||||
await writeFile('./packages/tiny/package.json', JSON.stringify(tinyPkg, null, 2) + '\n');
|
||||
};
|
||||
|
||||
const main = async () => {
|
||||
await generateLangium();
|
||||
await mkdir('stats', { recursive: true });
|
||||
@@ -85,6 +99,7 @@ const main = async () => {
|
||||
for (const pkg of packageNames) {
|
||||
await buildPackage(pkg).catch(handler);
|
||||
}
|
||||
await buildTinyMermaid();
|
||||
};
|
||||
|
||||
void main();
|
||||
|
37
packages/tiny/README.md
Normal file
37
packages/tiny/README.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# Tiny Mermaid
|
||||
|
||||
This is a tiny version of mermaid that is optimized for the web. It is a subset of the mermaid library and is designed to be used in the browser via CDN.
|
||||
|
||||
## Usage via NPM
|
||||
|
||||
This package is not meant to be installed directly from npm. It is designed to be used via CDN.
|
||||
If you need to use mermaid in your project, please install the full [`mermaid` package](https://www.npmjs.com/package/mermaid) instead.
|
||||
|
||||
## Removals from mermaid
|
||||
|
||||
This does not support
|
||||
|
||||
- Mindmap Diagram
|
||||
- Architecture Diagram
|
||||
- Katex rendering
|
||||
|
||||
## Usage via CDN
|
||||
|
||||
### Latest version
|
||||
|
||||
```html
|
||||
<script src="https://cdn.jsdelivr.net/npm/@mermaid-js/tiny/dist/mermaid.tiny.js"></script>
|
||||
```
|
||||
|
||||
### Specific version
|
||||
|
||||
```html
|
||||
<!-- Format -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/@mermaid-js/tiny@<MERMAID_MAJOR_VERSION>/dist/mermaid.tiny.js"></script>
|
||||
|
||||
<!-- Pinning major version -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/@mermaid-js/tiny@11/dist/mermaid.tiny.js"></script>
|
||||
|
||||
<!-- Pinning specific version -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/@mermaid-js/tiny@11.6.0/dist/mermaid.tiny.js"></script>
|
||||
```
|
25
packages/tiny/package.json
Normal file
25
packages/tiny/package.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"name": "@mermaid-js/tiny",
|
||||
"version": "11.6.0",
|
||||
"description": "Tiny version of mermaid",
|
||||
"type": "commonjs",
|
||||
"main": "./dist/mermaid.tiny.min.js",
|
||||
"scripts": {
|
||||
"clean": "rimraf dist"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/mermaid-js/mermaid"
|
||||
},
|
||||
"author": "Sidharth Vinod",
|
||||
"license": "MIT",
|
||||
"dependencies": {},
|
||||
"devDependencies": {},
|
||||
"files": [
|
||||
"dist/",
|
||||
"README.md"
|
||||
],
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user