From ddf43a5e24b235ab0822ebb53dbc3a0bf9d772d8 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 10 May 2025 18:30:09 +0300 Subject: [PATCH] chore(nx): create project for codemirror --- packages/codemirror/README.md | 7 +++++ packages/codemirror/eslint.config.mjs | 24 +++++++++++++++ packages/codemirror/package.json | 22 ++++++++++++++ packages/codemirror/src/index.ts | 1 + packages/codemirror/src/lib/codemirror.ts | 3 ++ packages/codemirror/tsconfig.json | 10 ++++++ packages/codemirror/tsconfig.lib.json | 21 +++++++++++++ packages/codemirror/vite.config.ts | 37 +++++++++++++++++++++++ pnpm-lock.yaml | 2 ++ tsconfig.json | 3 ++ 10 files changed, 130 insertions(+) create mode 100644 packages/codemirror/README.md create mode 100644 packages/codemirror/eslint.config.mjs create mode 100644 packages/codemirror/package.json create mode 100644 packages/codemirror/src/index.ts create mode 100644 packages/codemirror/src/lib/codemirror.ts create mode 100644 packages/codemirror/tsconfig.json create mode 100644 packages/codemirror/tsconfig.lib.json create mode 100644 packages/codemirror/vite.config.ts diff --git a/packages/codemirror/README.md b/packages/codemirror/README.md new file mode 100644 index 000000000..34cc0ce78 --- /dev/null +++ b/packages/codemirror/README.md @@ -0,0 +1,7 @@ +# codemirror + +This library was generated with [Nx](https://nx.dev). + +## Building + +Run `nx build codemirror` to build the library. diff --git a/packages/codemirror/eslint.config.mjs b/packages/codemirror/eslint.config.mjs new file mode 100644 index 000000000..9ee1191ff --- /dev/null +++ b/packages/codemirror/eslint.config.mjs @@ -0,0 +1,24 @@ +import baseConfig from "../../eslint.config.mjs"; + +export default [ + ...baseConfig, + { + "files": [ + "**/*.json" + ], + "rules": { + "@nx/dependency-checks": [ + "error", + { + "ignoredFiles": [ + "{projectRoot}/eslint.config.{js,cjs,mjs}", + "{projectRoot}/vite.config.{js,ts,mjs,mts}" + ] + } + ] + }, + "languageOptions": { + "parser": (await import('jsonc-eslint-parser')) + } + } +]; diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json new file mode 100644 index 000000000..7c05151ea --- /dev/null +++ b/packages/codemirror/package.json @@ -0,0 +1,22 @@ +{ + "name": "@triliumnext/codemirror", + "version": "0.0.1", + "private": true, + "type": "module", + "main": "./dist/index.js", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "development": "./src/index.ts", + "types": "./dist/index.d.ts", + "import": "./dist/index.js", + "default": "./dist/index.js" + } + }, + "nx": { + "name": "codemirror" + }, + "dependencies": {} +} diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts new file mode 100644 index 000000000..ddc3d2ea4 --- /dev/null +++ b/packages/codemirror/src/index.ts @@ -0,0 +1 @@ +export * from './lib/codemirror.js'; diff --git a/packages/codemirror/src/lib/codemirror.ts b/packages/codemirror/src/lib/codemirror.ts new file mode 100644 index 000000000..38b94faa0 --- /dev/null +++ b/packages/codemirror/src/lib/codemirror.ts @@ -0,0 +1,3 @@ +export function codemirror(): string { + return 'codemirror'; +} diff --git a/packages/codemirror/tsconfig.json b/packages/codemirror/tsconfig.json new file mode 100644 index 000000000..c23e61c80 --- /dev/null +++ b/packages/codemirror/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../../tsconfig.base.json", + "files": [], + "include": [], + "references": [ + { + "path": "./tsconfig.lib.json" + } + ] +} diff --git a/packages/codemirror/tsconfig.lib.json b/packages/codemirror/tsconfig.lib.json new file mode 100644 index 000000000..89ba670c3 --- /dev/null +++ b/packages/codemirror/tsconfig.lib.json @@ -0,0 +1,21 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "baseUrl": ".", + "rootDir": "src", + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.lib.tsbuildinfo", + "emitDeclarationOnly": true, + "forceConsistentCasingInFileNames": true, + "noImplicitOverride": true, + "noImplicitReturns": true, + "types": [ + "node", + "vite/client" + ] + }, + "include": [ + "src/**/*.ts" + ], + "references": [] +} diff --git a/packages/codemirror/vite.config.ts b/packages/codemirror/vite.config.ts new file mode 100644 index 000000000..d68abd1b9 --- /dev/null +++ b/packages/codemirror/vite.config.ts @@ -0,0 +1,37 @@ +/// +import { defineConfig } from 'vite'; +import dts from 'vite-plugin-dts'; +import * as path from 'path'; + +export default defineConfig(() => ({ + root: __dirname, + cacheDir: '../../node_modules/.vite/packages/codemirror', + plugins: [dts({ entryRoot: 'src', tsconfigPath: path.join(__dirname, 'tsconfig.lib.json') })], + // Uncomment this if you are using workers. + // worker: { + // plugins: [ nxViteTsPaths() ], + // }, + // Configuration for building your library. + // See: https://vitejs.dev/guide/build.html#library-mode + build: { + outDir: './dist', + emptyOutDir: true, + reportCompressedSize: true, + commonjsOptions: { + transformMixedEsModules: true, + }, + lib: { + // Could also be a dictionary or array of multiple entry points. + entry: 'src/index.ts', + name: 'codemirror', + fileName: 'index', + // Change this to the formats you want to support. + // Don't forget to update your package.json as well. + formats: ['es' as const] + }, + rollupOptions: { + // External packages that should not be bundled into your library. + external: [] + }, + }, +})); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 074259842..45e1fd36a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1149,6 +1149,8 @@ importers: specifier: ^9.0.7 version: 9.12.7(bufferutil@4.0.9)(utf-8-validate@6.0.5) + packages/codemirror: {} + packages/commons: dependencies: '@swc/helpers': diff --git a/tsconfig.json b/tsconfig.json index e2c6d2fc4..60831037b 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -50,6 +50,9 @@ }, { "path": "./packages/ckeditor5-math" + }, + { + "path": "./packages/codemirror" } ] }