refactor: merge plugin-infra into infra (#3540)

This commit is contained in:
Alex Yang
2023-08-03 01:48:59 -07:00
committed by GitHub
parent 3282344d4a
commit 0e32803247
62 changed files with 169 additions and 284 deletions

View File

@@ -9,7 +9,7 @@
"include": ["src"],
"references": [
{
"path": "../plugin-infra"
"path": "../infra"
}
]
}

View File

@@ -36,7 +36,6 @@
"@radix-ui/react-scroll-area": "^1.0.4",
"@radix-ui/react-toast": "^1.1.4",
"@toeverything/hooks": "workspace:*",
"@toeverything/plugin-infra": "workspace:*",
"@toeverything/theme": "^0.7.9",
"@vanilla-extract/dynamic": "^2.0.3",
"clsx": "^2.0.0",

View File

@@ -9,7 +9,7 @@ import {
LocalWorkspaceIcon as DefaultLocalWorkspaceIcon,
} from '@blocksuite/icons';
import { useBlockSuiteWorkspaceName } from '@toeverything/hooks/use-block-suite-workspace-name';
import { useStaticBlockSuiteWorkspace } from '@toeverything/plugin-infra/__internal__/react';
import { useStaticBlockSuiteWorkspace } from '@toeverything/infra/__internal__/react';
import type { FC } from 'react';
import { useCallback } from 'react';

View File

@@ -1,6 +1,6 @@
import { ProviderComposer } from '@affine/component/provider-composer';
import { ThemeProvider } from '@affine/component/theme-provider';
import { rootStore } from '@toeverything/plugin-infra/atom';
import { rootStore } from '@toeverything/infra/atom';
import { Provider } from 'jotai';
import type { PropsWithChildren } from 'react';
import { useMemo } from 'react';

View File

@@ -22,7 +22,7 @@
"path": "../hooks"
},
{
"path": "../plugin-infra"
"path": "../infra"
},
{ "path": "../workspace" },
{ "path": "../../tests/fixtures" }

View File

@@ -19,6 +19,26 @@
"types": "./dist/src/preload/*.d.ts",
"import": "./dist/preload/*.js",
"require": "./dist/preload/*.cjs"
},
"./atom": {
"type": "./dist/src/atom.d.ts",
"import": "./dist/atom.js",
"require": "./dist/atom.cjs"
},
"./type": {
"type": "./dist/src/type.d.ts",
"import": "./dist/type.js",
"require": "./dist/type.cjs"
},
"./__internal__/workspace": {
"type": "./dist/src/__internal__/workspace.d.ts",
"import": "./dist/__internal__/workspace.js",
"require": "./dist/__internal__/workspace.cjs"
},
"./__internal__/react": {
"type": "./dist/src/__internal__/react.d.ts",
"import": "./dist/__internal__/react.js",
"require": "./dist/__internal__/react.cjs"
}
},
"files": [
@@ -28,22 +48,43 @@
"build": "vite build",
"dev": "vite build --watch"
},
"dependencies": {
"@affine/sdk": "workspace:*",
"@blocksuite/blocks": "0.0.0-20230802200139-381599c0-nightly",
"@blocksuite/global": "0.0.0-20230802200139-381599c0-nightly",
"@blocksuite/store": "0.0.0-20230802200139-381599c0-nightly",
"jotai": "^2.2.2",
"zod": "^3.21.4"
},
"devDependencies": {
"@blocksuite/editor": "0.0.0-20230802200139-381599c0-nightly",
"@blocksuite/lit": "0.0.0-20230802200139-381599c0-nightly",
"async-call-rpc": "^6.3.1",
"electron": "link:../../apps/electron/node_modules/electron",
"react": "^18.2.0",
"vite": "^4.4.7",
"vite-plugin-dts": "3.3.1"
},
"peerDependencies": {
"async-call-rpc": "*",
"electron": "*"
"electron": "*",
"react": "*"
},
"peerDependenciesMeta": {
"@blocksuite/editor": {
"optional": true
},
"@blocksuite/lit": {
"optional": true
},
"async-call-rpc": {
"optional": true
},
"electron": {
"optional": true
},
"react": {
"optional": true
}
},
"version": "0.8.0-canary.8"

View File

@@ -1,5 +1,45 @@
import type { ExpectedLayout } from '@affine/sdk/entry';
import type { WritableAtom } from 'jotai';
import { z } from 'zod';
import type { TypedEventEmitter } from './core/event-emitter.js';
export const packageJsonInputSchema = z.object({
name: z.string(),
version: z.string(),
description: z.string(),
affinePlugin: z.object({
release: z.boolean(),
entry: z.object({
core: z.string(),
server: z.string().optional(),
}),
serverCommand: z.array(z.string()).optional(),
}),
});
export const packageJsonOutputSchema = z.object({
name: z.string(),
version: z.string(),
description: z.string(),
affinePlugin: z.object({
release: z.boolean(),
entry: z.object({
core: z.string(),
}),
assets: z.array(z.string()),
serverCommand: z.array(z.string()).optional(),
}),
});
type SetStateAction<Value> = Value | ((prev: Value) => Value);
export type ContentLayoutAtom = WritableAtom<
ExpectedLayout,
[SetStateAction<ExpectedLayout>],
void
>;
export abstract class HandlerManager<
Namespace extends string,
Handlers extends Record<string, PrimitiveHandlers>,

View File

@@ -12,14 +12,29 @@ export default defineConfig({
lib: {
entry: {
index: resolve(root, 'src/index.ts'),
atom: resolve(root, 'src/atom.ts'),
type: resolve(root, 'src/type.ts'),
'core/event-emitter': resolve(root, 'src/core/event-emitter.ts'),
'preload/electron': resolve(root, 'src/preload/electron.ts'),
'__internal__/workspace': resolve(
root,
'src/__internal__/workspace.ts'
),
'__internal__/react': resolve(root, 'src/__internal__/react.ts'),
},
formats: ['es', 'cjs'],
name: 'AffineInfra',
},
rollupOptions: {
external: ['electron', 'async-call-rpc', 'rxjs'],
external: [
'electron',
'async-call-rpc',
'rxjs',
'zod',
'react',
/^jotai/,
/^@blocksuite/,
],
},
},
plugins: [dts()],

View File

@@ -12,7 +12,7 @@
"dependencies": {
"@endo/static-module-record": "^0.7.20",
"@swc/core": "^1.3.72",
"@toeverything/plugin-infra": "workspace:^",
"@toeverything/infra": "workspace:^",
"@vanilla-extract/rollup-plugin": "^1.2.2",
"rollup": "^3.27.0",
"rollup-plugin-swc3": "^0.9.1",

View File

@@ -8,7 +8,7 @@ import { StaticModuleRecord } from '@endo/static-module-record';
import {
packageJsonInputSchema,
packageJsonOutputSchema,
} from '@toeverything/plugin-infra/type';
} from '@toeverything/infra/type';
import { vanillaExtractPlugin } from '@vanilla-extract/vite-plugin';
import react from '@vitejs/plugin-react-swc';
import { build, type PluginOption } from 'vite';

View File

@@ -9,7 +9,7 @@
"include": ["src"],
"references": [
{
"path": "../plugin-infra"
"path": "../infra"
}
]
}

View File

@@ -1,60 +0,0 @@
{
"name": "@toeverything/plugin-infra",
"type": "module",
"scripts": {
"build": "vite build",
"dev": "vite build --watch"
},
"files": [
"dist"
],
"exports": {
"./entry": {
"type": "./dist/src/entry.d.ts",
"import": "./dist/entry.js",
"require": "./dist/entry.cjs"
},
"./atom": {
"type": "./dist/src/atom.d.ts",
"import": "./dist/atom.js",
"require": "./dist/atom.cjs"
},
"./type": {
"type": "./dist/src/type.d.ts",
"import": "./dist/type.js",
"require": "./dist/type.cjs"
},
"./__internal__/workspace": {
"type": "./dist/src/__internal__/workspace.d.ts",
"import": "./dist/__internal__/workspace.js",
"require": "./dist/__internal__/workspace.cjs"
},
"./__internal__/react": {
"type": "./dist/src/__internal__/react.d.ts",
"import": "./dist/__internal__/react.js",
"require": "./dist/__internal__/react.cjs"
}
},
"dependencies": {
"@affine/sdk": "workspace:*",
"@blocksuite/global": "0.0.0-20230802200139-381599c0-nightly",
"@blocksuite/store": "0.0.0-20230802200139-381599c0-nightly",
"jotai": "^2.2.2",
"zod": "^3.21.4"
},
"devDependencies": {
"@blocksuite/blocks": "0.0.0-20230802200139-381599c0-nightly",
"@blocksuite/editor": "0.0.0-20230802200139-381599c0-nightly",
"@blocksuite/lit": "0.0.0-20230802200139-381599c0-nightly",
"vite": "^4.4.7",
"vite-plugin-dts": "3.3.1"
},
"peerDependencies": {
"@blocksuite/blocks": "*",
"@blocksuite/editor": "*",
"@blocksuite/lit": "*",
"react": "*",
"react-dom": "*"
},
"version": "0.8.0-canary.8"
}

View File

@@ -1,21 +0,0 @@
{
"name": "plugin-infra",
"$schema": "../../node_modules/nx/schemas/project-schema.json",
"projectType": "library",
"sourceRoot": "packages/plugin-infra/src",
"targets": {
"build": {
"executor": "@nx/vite:build",
"options": {
"outputPath": "packages/plugin-infra/dist"
}
},
"serve": {
"executor": "@nx/vite:build",
"options": {
"outputPath": "packages/plugin-infra/dist",
"watch": true
}
}
}
}

View File

@@ -1,39 +0,0 @@
import type { ExpectedLayout } from '@affine/sdk/entry';
import type { WritableAtom } from 'jotai';
import { z } from 'zod';
export const packageJsonInputSchema = z.object({
name: z.string(),
version: z.string(),
description: z.string(),
affinePlugin: z.object({
release: z.boolean(),
entry: z.object({
core: z.string(),
server: z.string().optional(),
}),
serverCommand: z.array(z.string()).optional(),
}),
});
export const packageJsonOutputSchema = z.object({
name: z.string(),
version: z.string(),
description: z.string(),
affinePlugin: z.object({
release: z.boolean(),
entry: z.object({
core: z.string(),
}),
assets: z.array(z.string()),
serverCommand: z.array(z.string()).optional(),
}),
});
type SetStateAction<Value> = Value | ((prev: Value) => Value);
export type ContentLayoutAtom = WritableAtom<
ExpectedLayout,
[SetStateAction<ExpectedLayout>],
void
>;

View File

@@ -1,15 +0,0 @@
{
"extends": "../../tsconfig.json",
"include": ["./src"],
"compilerOptions": {
"composite": true,
"noEmit": false,
"outDir": "lib",
"moduleResolution": "node16"
},
"references": [
{
"path": "./tsconfig.node.json"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"composite": true,
"module": "ESNext",
"moduleResolution": "Node",
"outDir": "lib"
},
"include": ["vite.config.ts"]
}

View File

@@ -1,28 +0,0 @@
import { resolve } from 'node:path';
import { fileURLToPath } from 'url';
import { defineConfig } from 'vite';
import dts from 'vite-plugin-dts';
const root = fileURLToPath(new URL('.', import.meta.url));
export default defineConfig({
build: {
minify: false,
lib: {
entry: {
type: resolve(root, 'src/type.ts'),
atom: resolve(root, 'src/atom.ts'),
'__internal__/workspace': resolve(
root,
'src/__internal__/workspace.ts'
),
'__internal__/react': resolve(root, 'src/__internal__/react.ts'),
},
},
rollupOptions: {
external: ['react', /^jotai/, /^@blocksuite/, 'zod'],
},
},
plugins: [dts()],
});

View File

@@ -18,7 +18,6 @@
"@affine/debug": "workspace:*",
"@affine/env": "workspace:*",
"@toeverything/hooks": "workspace:*",
"@toeverything/plugin-infra": "workspace:*",
"@toeverything/y-indexeddb": "workspace:*",
"async-call-rpc": "^6.3.1",
"jotai": "^2.2.2",

View File

@@ -8,7 +8,7 @@ import {
Generator,
Workspace,
} from '@blocksuite/store';
import { INTERNAL_BLOCKSUITE_HASH_MAP } from '@toeverything/plugin-infra/__internal__/workspace';
import { INTERNAL_BLOCKSUITE_HASH_MAP } from '@toeverything/infra/__internal__/workspace';
import type { Doc } from 'yjs';
import type { Transaction } from 'yjs';

View File

@@ -11,6 +11,6 @@
{ "path": "../env" },
{ "path": "../debug" },
{ "path": "../hooks" },
{ "path": "../plugin-infra" }
{ "path": "../infra" }
]
}