Browse Source

init vite settings and npm scripts

Yuki Takei 2 years ago
parent
commit
7e134d90dc

+ 9 - 3
packages/editor/package.json

@@ -1,12 +1,18 @@
 {
   "name": "@growi/editor",
   "version": "0.0.0",
+  "license": "MIT",
   "type": "module",
   "scripts": {
-    "dev": "vite",
     "build": "tsc && vite build",
-    "lint": "eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
-    "preview": "vite preview"
+    "clean": "shx rm -rf dist",
+    "dev": "vite build --mode dev",
+    "watch": "yarn dev -w --emptyOutDir=false",
+    "serve": "vite",
+    "lint:js": "yarn eslint **/*.{js,ts}",
+    "lint:typecheck": "tsc",
+    "lint": "npm-run-all -p lint:*",
+    "version": "yarn version --no-git-tag-version --preid=RC"
   },
   "dependencies": {
     "react": "^18.2.0",

+ 1 - 0
packages/editor/src/components/index.ts

@@ -0,0 +1 @@
+export * from './CodemirrorEditor';

+ 1 - 0
packages/editor/src/index.ts

@@ -0,0 +1 @@
+export * from './components';

+ 47 - 4
packages/editor/vite.config.ts

@@ -1,11 +1,54 @@
-import { defineConfig } from 'vite'
-import react from '@vitejs/plugin-react'
+import path from 'path';
+
+import react from '@vitejs/plugin-react';
+import glob from 'glob';
+import { nodeExternals } from 'rollup-plugin-node-externals';
+import { defineConfig } from 'vite';
 import dts from 'vite-plugin-dts';
 
+
+const excludeFiles = [
+  '**/@types/*',
+  '**/main.tsx',
+  '**/vite-env.d.ts',
+];
+
 // https://vitejs.dev/config/
 export default defineConfig({
   plugins: [
     react(),
-    dts(),
+    dts({
+      exclude: [
+        ...excludeFiles,
+      ],
+      copyDtsFiles: true,
+    }),
+    {
+      ...nodeExternals({
+        devDeps: true,
+        builtinsPrefix: 'ignore',
+      }),
+      enforce: 'pre',
+    },
   ],
-})
+  build: {
+    outDir: 'dist',
+    sourcemap: true,
+    lib: {
+      entry: glob.sync(path.resolve(__dirname, 'src/**/*.{ts,tsx}'), {
+        ignore: [
+          ...excludeFiles,
+          '**/*.spec.ts',
+        ],
+      }),
+      name: 'editor-libs',
+      formats: ['es'],
+    },
+    rollupOptions: {
+      output: {
+        preserveModules: true,
+        preserveModulesRoot: 'src',
+      },
+    },
+  },
+});