From 2ebb1d0e91ec434caefcd48c77fad278d5fee2b7 Mon Sep 17 00:00:00 2001 From: Anthony LC Date: Tue, 12 Aug 2025 17:09:54 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=A6=EF=B8=8F(monorepo)=20create=20Docs?= =?UTF-8?q?=20package?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Create the Docs package in the monorepo. This package will contain all the features, components or utilities that are common across the "frontend" ecosystem. --- src/frontend/Dockerfile | 2 ++ src/frontend/apps/impress/next.config.js | 1 + src/frontend/apps/impress/package.json | 1 + src/frontend/package.json | 3 ++- src/frontend/packages/common/.eslintrc.js | 14 +++++++++++ src/frontend/packages/common/package.json | 20 ++++++++++++++++ src/frontend/packages/common/src/index.ts | 1 + src/frontend/packages/common/tsconfig.json | 28 ++++++++++++++++++++++ src/frontend/yarn.lock | 2 ++ 9 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 src/frontend/packages/common/.eslintrc.js create mode 100644 src/frontend/packages/common/package.json create mode 100644 src/frontend/packages/common/src/index.ts create mode 100644 src/frontend/packages/common/tsconfig.json diff --git a/src/frontend/Dockerfile b/src/frontend/Dockerfile index 2772dafd..fa131921 100644 --- a/src/frontend/Dockerfile +++ b/src/frontend/Dockerfile @@ -11,12 +11,14 @@ COPY ./src/frontend/package.json ./package.json COPY ./src/frontend/yarn.lock ./yarn.lock COPY ./src/frontend/apps/impress/package.json ./apps/impress/package.json COPY ./src/frontend/packages/eslint-config-impress/package.json ./packages/eslint-config-impress/package.json +COPY ./src/frontend/packages/common/package.json ./packages/common/package.json RUN yarn install --frozen-lockfile COPY .dockerignore ./.dockerignore COPY ./src/frontend/.prettierrc.js ./.prettierrc.js COPY ./src/frontend/packages/eslint-config-impress ./packages/eslint-config-impress +COPY ./src/frontend/packages/common ./packages/common COPY ./src/frontend/apps/impress ./apps/impress ### ---- Front-end builder image ---- diff --git a/src/frontend/apps/impress/next.config.js b/src/frontend/apps/impress/next.config.js index 862b4faf..a57dae27 100644 --- a/src/frontend/apps/impress/next.config.js +++ b/src/frontend/apps/impress/next.config.js @@ -8,6 +8,7 @@ const buildId = crypto.randomBytes(256).toString('hex').slice(0, 8); const nextConfig = { output: 'export', trailingSlash: true, + transpilePackages: ['package-docs'], images: { unoptimized: true, }, diff --git a/src/frontend/apps/impress/package.json b/src/frontend/apps/impress/package.json index b30b8085..88a28db4 100644 --- a/src/frontend/apps/impress/package.json +++ b/src/frontend/apps/impress/package.json @@ -47,6 +47,7 @@ "lodash": "4.17.21", "luxon": "3.7.1", "next": "15.4.6", + "package-docs": "*", "posthog-js": "1.258.6", "react": "*", "react-aria-components": "1.11.0", diff --git a/src/frontend/package.json b/src/frontend/package.json index 6c5ce1fa..eade8f66 100644 --- a/src/frontend/package.json +++ b/src/frontend/package.json @@ -13,6 +13,7 @@ "APP_IMPRESS": "yarn workspace app-impress", "APP_E2E": "yarn workspace app-e2e", "I18N": "yarn workspace packages-i18n", + "COMMON": "yarn workspace package-docs", "COLLABORATION_SERVER": "yarn workspace server-y-provider", "app:dev": "yarn APP_IMPRESS run dev", "app:start": "yarn APP_IMPRESS run start", @@ -20,7 +21,7 @@ "app:test": "yarn APP_IMPRESS run test", "ci:build": "yarn APP_IMPRESS run build:ci", "e2e:test": "yarn APP_E2E run test", - "lint": "yarn APP_IMPRESS run lint && yarn APP_E2E run lint && yarn workspace eslint-config-impress run lint && yarn I18N run lint && yarn COLLABORATION_SERVER run lint", + "lint": "yarn APP_IMPRESS run lint && yarn APP_E2E run lint && yarn workspace eslint-config-impress run lint && yarn I18N run lint && yarn COMMON run lint && yarn COLLABORATION_SERVER run lint", "i18n:extract": "yarn I18N run extract-translation", "i18n:deploy": "yarn I18N run format-deploy && yarn APP_IMPRESS prettier", "i18n:test": "yarn I18N run test", diff --git a/src/frontend/packages/common/.eslintrc.js b/src/frontend/packages/common/.eslintrc.js new file mode 100644 index 00000000..b7356721 --- /dev/null +++ b/src/frontend/packages/common/.eslintrc.js @@ -0,0 +1,14 @@ +module.exports = { + root: true, + extends: ['impress/next'], + parserOptions: { + sourceType: 'module', + ecmaVersion: 'latest', + tsconfigRootDir: __dirname, + project: ['./tsconfig.json'], + }, + rules: { + '@next/next/no-html-link-for-pages': 'off', + }, + ignorePatterns: ['node_modules'], +}; diff --git a/src/frontend/packages/common/package.json b/src/frontend/packages/common/package.json new file mode 100644 index 00000000..3669c572 --- /dev/null +++ b/src/frontend/packages/common/package.json @@ -0,0 +1,20 @@ +{ + "name": "package-docs", + "version": "3.5.0", + "license": "MIT", + "main": "src/index.ts", + "types": "src/index.ts", + "scripts": { + "lint": "eslint --ext .ts,.tsx src/" + }, + "peerDependencies": { + "@blocknote/core": "0.35.0", + "@blocknote/react": "0.35.0", + "react": "19.1.0", + "react-dom": "19.1.0" + }, + "devDependencies": { + "eslint-config-impress": "*", + "typescript": "*" + } +} diff --git a/src/frontend/packages/common/src/index.ts b/src/frontend/packages/common/src/index.ts new file mode 100644 index 00000000..973611de --- /dev/null +++ b/src/frontend/packages/common/src/index.ts @@ -0,0 +1 @@ +export * from './custom-blocks/'; diff --git a/src/frontend/packages/common/tsconfig.json b/src/frontend/packages/common/tsconfig.json new file mode 100644 index 00000000..e25920c0 --- /dev/null +++ b/src/frontend/packages/common/tsconfig.json @@ -0,0 +1,28 @@ +{ + "compilerOptions": { + "target": "es5", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + } + }, + "include": [ + "src/**/*" + ], + "exclude": [ + "node_modules", + "dist" + ] +} diff --git a/src/frontend/yarn.lock b/src/frontend/yarn.lock index 82d9ed4b..64618558 100644 --- a/src/frontend/yarn.lock +++ b/src/frontend/yarn.lock @@ -15113,3 +15113,5 @@ zwitch@^2.0.0, zwitch@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.4.tgz#c827d4b0acb76fc3e685a4c6ec2902d51070e9d7" integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A== + +# Force cache refresh for packages/common-package workspace linking