mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-14 21:27:20 +00:00
refactor: remove esm module (#1077)
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
"name": "@affine/component",
|
||||
"private": true,
|
||||
"version": "0.3.1",
|
||||
"main": "./src/index.ts",
|
||||
"scripts": {
|
||||
"storybook": "storybook dev",
|
||||
"build-storybook": "storybook build"
|
||||
|
||||
@@ -1,25 +1,18 @@
|
||||
{
|
||||
"name": "@affine/datacenter",
|
||||
"version": "0.3.0",
|
||||
"private": true,
|
||||
"description": "",
|
||||
"type": "module",
|
||||
"main": "dist/src/index.js",
|
||||
"types": "dist/src/index.d.ts",
|
||||
"exports": {
|
||||
".": "./dist/src/index.js"
|
||||
},
|
||||
"main": "./src/index.ts",
|
||||
"scripts": {
|
||||
"dev": "tsc --project ./tsconfig.json -w",
|
||||
"build": "tsc --project ./tsconfig.json"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/toeverything/AFFiNE.git"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@playwright/test": "^1.29.1",
|
||||
"@types/debug": "^4.1.7",
|
||||
"fake-indexeddb": "4.0.1",
|
||||
"lit": "^2.6.1",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { WorkspaceUnitCollection } from './workspace-unit-collection.js';
|
||||
import { WorkspaceUnitCollection } from './workspace-unit-collection';
|
||||
import type { WorkspaceUnitCollectionChangeEvent } from './workspace-unit-collection';
|
||||
import { Workspace as BlocksuiteWorkspace } from '@blocksuite/store';
|
||||
import type {
|
||||
@@ -11,7 +11,7 @@ import { AffineProvider } from './provider';
|
||||
import type { Message } from './types';
|
||||
import assert from 'assert';
|
||||
import { getLogger } from './logger';
|
||||
import { createBlocksuiteWorkspace } from './utils/index.js';
|
||||
import { createBlocksuiteWorkspace } from './utils/index';
|
||||
import { MessageCenter } from './message';
|
||||
import { WorkspaceUnit } from './workspace-unit';
|
||||
/**
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
export { MessageCenter } from './message.js';
|
||||
export { MessageCode } from './code.js';
|
||||
export { MessageCenter } from './message';
|
||||
export { MessageCode } from './code';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Observable } from 'lib0/observable';
|
||||
import { Message } from '../types';
|
||||
import { MessageCode, messages } from './code.js';
|
||||
import { MessageCode, messages } from './code';
|
||||
|
||||
export class MessageCenter extends Observable<string> {
|
||||
private _messages: Record<number, Omit<Message, 'provider' | 'code'>> =
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
import { test, expect } from '@playwright/test';
|
||||
import { AffineProvider } from '../affine.js';
|
||||
// import { Workspaces } from '../../../workspaces/index.js';
|
||||
import { apis } from './mock-apis.js';
|
||||
import 'fake-indexeddb/auto';
|
||||
|
||||
// TODO: we should find a better way for testing AffineProvider.
|
||||
|
||||
test.describe.serial('affine provider', async () => {
|
||||
// const workspaces = new Workspaces();
|
||||
// const provider = new AffineProvider({
|
||||
// workspaces: workspaces.createScope(),
|
||||
// apis,
|
||||
// });
|
||||
// await provider.auth();
|
||||
// const workspaceName = 'workspace-test';
|
||||
// let workspaceId: string | undefined;
|
||||
// test('create workspace', async () => {
|
||||
// const w = await provider.createWorkspace({
|
||||
// name: workspaceName,
|
||||
// avatar: 'avatar-url-test',
|
||||
// });
|
||||
// workspaceId = w?.room;
|
||||
// expect(workspaces.workspaces.length).toEqual(1);
|
||||
// expect(workspaces.workspaces[0].name).toEqual(workspaceName);
|
||||
// });
|
||||
// test('workspace list cache', async () => {
|
||||
// const workspaces1 = new Workspaces();
|
||||
// const provider1 = new AffineProvider({
|
||||
// workspaces: workspaces1.createScope(),
|
||||
// });
|
||||
// await provider1.loadWorkspaces();
|
||||
// expect(workspaces1.workspaces.length).toEqual(1);
|
||||
// expect(workspaces1.workspaces[0].name).toEqual(workspaceName);
|
||||
// expect(workspaces1.workspaces[0].id).toEqual(workspaceId);
|
||||
// });
|
||||
// test('update workspace', async () => {
|
||||
// await provider.updateWorkspaceMeta(workspaceId!, {
|
||||
// name: '1111',
|
||||
// });
|
||||
// expect(workspaces.workspaces[0].name).toEqual('1111');
|
||||
// });
|
||||
// test('delete workspace', async () => {
|
||||
// expect(workspaces.workspaces.length).toEqual(1);
|
||||
// await provider.deleteWorkspace(workspaces.workspaces[0].id);
|
||||
// expect(workspaces.workspaces.length).toEqual(0);
|
||||
// });
|
||||
});
|
||||
@@ -1,4 +1,4 @@
|
||||
import { BaseProvider } from '../base.js';
|
||||
import { BaseProvider } from '../base';
|
||||
import type {
|
||||
ProviderConstructorParams,
|
||||
CreateWorkspaceInfoParams,
|
||||
@@ -6,9 +6,9 @@ import type {
|
||||
import type { User } from '../../types';
|
||||
import { Workspace as BlocksuiteWorkspace } from '@blocksuite/store';
|
||||
import assert from 'assert';
|
||||
import { WebsocketProvider } from './sync.js';
|
||||
import { WebsocketProvider } from './sync';
|
||||
// import { IndexedDBProvider } from '../local/indexeddb';
|
||||
import { getApis, Workspace } from './apis/index.js';
|
||||
import { getApis, Workspace } from './apis';
|
||||
import type { Apis, WorkspaceDetail } from './apis';
|
||||
import { WebsocketClient } from './channel';
|
||||
import {
|
||||
@@ -16,11 +16,11 @@ import {
|
||||
createWorkspaceUnit,
|
||||
migrateBlobDB,
|
||||
createBlocksuiteWorkspaceWithAuth,
|
||||
} from './utils.js';
|
||||
import { WorkspaceUnit } from '../../workspace-unit.js';
|
||||
import { applyUpdate } from '../../utils/index.js';
|
||||
} from './utils';
|
||||
import { WorkspaceUnit } from '../../workspace-unit';
|
||||
import { applyUpdate } from '../../utils';
|
||||
import type { SyncMode } from '../../workspace-unit';
|
||||
import { MessageCenter } from '../../message/index.js';
|
||||
import { MessageCenter } from '../../message';
|
||||
|
||||
type ChannelMessage = {
|
||||
ws_list: Workspace[];
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { test, expect } from '@playwright/test';
|
||||
import { Auth } from '../auth.js';
|
||||
import { describe, test, expect } from 'vitest';
|
||||
import { Auth } from '../auth';
|
||||
|
||||
test.describe('class Auth', () => {
|
||||
describe('class Auth', () => {
|
||||
test('parse tokens', () => {
|
||||
const tokenString = `eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2NzU2Nzk1MjAsImlkIjo2LCJuYW1lIjoidGVzdCIsImVtYWlsIjoidGVzdEBnbWFpbC5jb20iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly90ZXN0LmNvbS9hdmF0YXIiLCJjcmVhdGVkX2F0IjoxNjc1Njc4OTIwMzU4fQ.R8GxrNhn3gNumtapthrP6_J5eQjXLV7i-LanSPqe7hw`;
|
||||
expect(Auth.parseIdToken(tokenString)).toEqual({
|
||||
|
||||
@@ -9,9 +9,9 @@ import {
|
||||
import type { User } from 'firebase/auth';
|
||||
import { decode } from 'js-base64';
|
||||
|
||||
import { getLogger } from '../../../logger.js';
|
||||
import { bareClient } from './request.js';
|
||||
import { storage } from '../storage.js';
|
||||
import { getLogger } from '../../../logger';
|
||||
import { bareClient } from './request';
|
||||
import { storage } from '../storage';
|
||||
|
||||
export interface AccessTokenMessage {
|
||||
created_at: number;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
// export { token } from './token.js';
|
||||
export type { Callback } from './auth.js';
|
||||
export type { Callback } from './auth';
|
||||
|
||||
import { getAuthorizer } from './auth.js';
|
||||
import * as user from './user.js';
|
||||
import * as workspace from './workspace.js';
|
||||
import { auth } from './auth.js';
|
||||
import { getAuthorizer } from './auth';
|
||||
import * as user from './user';
|
||||
import * as workspace from './workspace';
|
||||
import { auth } from './auth';
|
||||
|
||||
// See https://twitter.com/mattpocockuk/status/1622730173446557697
|
||||
// TODO: move to ts utils?
|
||||
@@ -37,4 +37,4 @@ export const getApis = (): Apis => {
|
||||
|
||||
export type { AccessTokenMessage } from './auth';
|
||||
export type { Member, Workspace, WorkspaceDetail } from './workspace';
|
||||
export { WorkspaceType } from './workspace.js';
|
||||
export { WorkspaceType } from './workspace';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import ky from 'ky-universal';
|
||||
import { MessageCenter } from '../../../message/index.js';
|
||||
import { auth } from './auth.js';
|
||||
import { MessageCenter } from '../../../message';
|
||||
import { auth } from './auth';
|
||||
|
||||
type KyInstance = typeof ky;
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { client } from './request.js';
|
||||
import { client } from './request';
|
||||
|
||||
export interface GetUserByEmailParams {
|
||||
email: string;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { MessageCenter } from '../../../message/index.js';
|
||||
import { bareClient, client } from './request.js';
|
||||
import { MessageCenter } from '../../../message';
|
||||
import { bareClient, client } from './request';
|
||||
import type { User } from './user';
|
||||
|
||||
const messageCenter = MessageCenter.getInstance();
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import * as websocket from 'lib0/websocket';
|
||||
import { Logger } from 'src/types';
|
||||
import { auth } from './apis/auth';
|
||||
import * as url from 'lib0/url';
|
||||
import { Logger } from '../../types';
|
||||
|
||||
const RECONNECT_INTERVAL_TIME = 500;
|
||||
const MAX_RECONNECT_TIMES = 50;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { createStore, keys, setMany, getMany, clear } from 'idb-keyval';
|
||||
import * as idb from 'lib0/indexeddb.js';
|
||||
import * as idb from 'lib0/indexeddb';
|
||||
|
||||
type IDBInstance<T = ArrayBufferLike> = {
|
||||
keys: () => Promise<string[]>;
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { WorkspaceUnit } from '../../workspace-unit.js';
|
||||
import { WorkspaceUnit } from '../../workspace-unit';
|
||||
import type { WorkspaceUnitCtorParams } from '../../workspace-unit';
|
||||
import { createBlocksuiteWorkspace as _createBlocksuiteWorkspace } from '../../utils/index.js';
|
||||
import { createBlocksuiteWorkspace as _createBlocksuiteWorkspace } from '../../utils';
|
||||
import type { Apis } from './apis';
|
||||
import { setDefaultAvatar } from '../utils.js';
|
||||
import { applyUpdate } from '../../utils/index.js';
|
||||
import { getDatabase } from './idb-kv.js';
|
||||
import { auth } from './apis/auth.js';
|
||||
import { setDefaultAvatar } from '../utils';
|
||||
import { applyUpdate } from '../../utils';
|
||||
import { getDatabase } from './idb-kv';
|
||||
import { auth } from './apis/auth';
|
||||
|
||||
export const createBlocksuiteWorkspaceWithAuth = async (id: string) => {
|
||||
if (auth.isExpired && auth.isLogin) {
|
||||
|
||||
@@ -4,7 +4,7 @@ import { Logger, User } from '../types';
|
||||
import type { WorkspaceUnitCollectionScope } from '../workspace-unit-collection';
|
||||
import type { WorkspaceUnitCtorParams, WorkspaceUnit } from '../workspace-unit';
|
||||
import { Member } from './affine/apis';
|
||||
import { Permission } from './affine/apis/workspace.js';
|
||||
import { Permission } from './affine/apis/workspace';
|
||||
|
||||
const defaultLogger = () => {
|
||||
return;
|
||||
|
||||
@@ -1 +1 @@
|
||||
export * from './local.js';
|
||||
export * from './local';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* eslint-disable @typescript-eslint/no-explicit-any */
|
||||
import * as idb from 'lib0/indexeddb.js';
|
||||
import { Observable } from 'lib0/observable.js';
|
||||
import * as idb from 'lib0/indexeddb';
|
||||
import { Observable } from 'lib0/observable';
|
||||
import { Workspace as BlocksuiteWorkspace } from '@blocksuite/store';
|
||||
|
||||
const customStoreName = 'custom';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import assert from 'assert';
|
||||
import * as idb from 'lib0/indexeddb.js';
|
||||
import * as idb from 'lib0/indexeddb';
|
||||
import { Workspace as BlocksuiteWorkspace } from '@blocksuite/store';
|
||||
import { applyUpdate } from '../../../utils/index.js';
|
||||
import { applyUpdate } from '../../../utils';
|
||||
|
||||
const { encodeStateAsUpdate, mergeUpdates } = BlocksuiteWorkspace.Y;
|
||||
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
import { test, expect } from '@playwright/test';
|
||||
import { WorkspaceUnitCollection } from '../../workspace-unit-collection.js';
|
||||
import { LocalProvider } from './local.js';
|
||||
import { createBlocksuiteWorkspace } from '../../utils/index.js';
|
||||
import { MessageCenter } from '../../message/index.js';
|
||||
import { test, describe, expect } from 'vitest';
|
||||
import { WorkspaceUnitCollection } from '../../workspace-unit-collection';
|
||||
import { LocalProvider } from './local';
|
||||
import { MessageCenter } from '../../message';
|
||||
import 'fake-indexeddb/auto';
|
||||
|
||||
test.describe.serial('local provider', () => {
|
||||
describe('local provider', () => {
|
||||
const workspaceMetaCollection = new WorkspaceUnitCollection();
|
||||
const provider = new LocalProvider({
|
||||
workspaces: workspaceMetaCollection.createScope(),
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { BaseProvider } from '../base.js';
|
||||
import { BaseProvider } from '../base';
|
||||
import type {
|
||||
ProviderConstructorParams,
|
||||
WorkspaceMeta0,
|
||||
@@ -7,10 +7,10 @@ import type {
|
||||
} from '../base';
|
||||
import { varStorage as storage } from 'lib0/storage';
|
||||
import { Workspace as BlocksuiteWorkspace, uuidv4 } from '@blocksuite/store';
|
||||
import { IndexedDBProvider } from './indexeddb/indexeddb.js';
|
||||
import { applyLocalUpdates } from './indexeddb/utils.js';
|
||||
import { IndexedDBProvider } from './indexeddb/indexeddb';
|
||||
import { applyLocalUpdates } from './indexeddb/utils';
|
||||
import assert from 'assert';
|
||||
import { loadWorkspaceUnit, createWorkspaceUnit } from './utils.js';
|
||||
import { loadWorkspaceUnit, createWorkspaceUnit } from './utils';
|
||||
import type { WorkspaceUnit } from '../../workspace-unit';
|
||||
|
||||
const WORKSPACE_KEY = 'workspaces';
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { WorkspaceUnit } from '../../workspace-unit.js';
|
||||
import { WorkspaceUnit } from '../../workspace-unit';
|
||||
import type { WorkspaceUnitCtorParams } from '../../workspace-unit';
|
||||
import { createBlocksuiteWorkspace } from '../../utils/index.js';
|
||||
import { applyLocalUpdates, writeUpdatesToLocal } from './indexeddb/utils.js';
|
||||
import { setDefaultAvatar } from '../utils.js';
|
||||
import { createBlocksuiteWorkspace } from '../../utils';
|
||||
import { applyLocalUpdates, writeUpdatesToLocal } from './indexeddb/utils';
|
||||
import { setDefaultAvatar } from '../utils';
|
||||
|
||||
export const loadWorkspaceUnit = async (params: WorkspaceUnitCtorParams) => {
|
||||
const workspaceUnit = new WorkspaceUnit(params);
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import { test, expect } from '@playwright/test';
|
||||
import { WorkspaceUnitCollection } from '../../../workspace-unit-collection.js';
|
||||
import { TauriIPCProvider } from '../index.js';
|
||||
import { MessageCenter } from '../../../message/index.js';
|
||||
import * as ipcMethods from './mock-apis.js';
|
||||
import { describe, test, expect } from 'vitest';
|
||||
import { WorkspaceUnitCollection } from '../../../workspace-unit-collection';
|
||||
import { TauriIPCProvider } from '..';
|
||||
import { MessageCenter } from '../../../message';
|
||||
import * as ipcMethods from './mock-apis';
|
||||
|
||||
import 'fake-indexeddb/auto';
|
||||
|
||||
test.describe.serial('tauri-ipc provider', async () => {
|
||||
describe('tauri-ipc provider', async () => {
|
||||
const workspaceMetaCollection = new WorkspaceUnitCollection();
|
||||
const provider = new TauriIPCProvider({
|
||||
workspaces: workspaceMetaCollection.createScope(),
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import { BlobSyncState } from '@blocksuite/store';
|
||||
import * as ipcMethods from '../ipc/methods.js';
|
||||
import * as ipcMethods from '../ipc/methods';
|
||||
import { Signal } from '@blocksuite/store';
|
||||
import type {
|
||||
BlobProvider,
|
||||
BlobSyncStateChangeEvent,
|
||||
BlobId,
|
||||
BlobURL,
|
||||
} from '@blocksuite/store/dist/persistence/blob/types.js';
|
||||
} from '@blocksuite/store/dist/persistence/blob/types';
|
||||
|
||||
export class IPCBlobProvider implements BlobProvider {
|
||||
#ipc = ipcMethods;
|
||||
|
||||
@@ -1,20 +1,17 @@
|
||||
import * as Y from 'yjs';
|
||||
import assert from 'assert';
|
||||
|
||||
import { LocalProvider } from '../local/index.js';
|
||||
import type { IPCMethodsType } from './ipc/methods.js';
|
||||
import {
|
||||
CreateWorkspaceInfoParams,
|
||||
ProviderConstructorParams,
|
||||
} from '../base.js';
|
||||
import { LocalProvider } from '../local';
|
||||
import type { IPCMethodsType } from './ipc/methods';
|
||||
import { CreateWorkspaceInfoParams, ProviderConstructorParams } from '../base';
|
||||
import { Workspace as BlocksuiteWorkspace } from '@blocksuite/store';
|
||||
import { IPCBlobProvider } from './blocksuite-provider/blob.js';
|
||||
import type { WorkspaceUnit } from 'src/workspace-unit.js';
|
||||
import { loadWorkspaceUnit } from '../local/utils.js';
|
||||
import { WorkspaceWithPermission } from './ipc/types/workspace.js';
|
||||
import { applyUpdate } from '../../utils/index.js';
|
||||
import { User } from 'src/types/index.js';
|
||||
import { createWorkspaceUnit } from './utils.js';
|
||||
import { IPCBlobProvider } from './blocksuite-provider/blob';
|
||||
import type { WorkspaceUnit } from '../../workspace-unit';
|
||||
import { loadWorkspaceUnit } from '../local/utils';
|
||||
import { WorkspaceWithPermission } from './ipc/types/workspace';
|
||||
import { applyUpdate } from '../../utils';
|
||||
import { User } from '../../types';
|
||||
import { createWorkspaceUnit } from './utils';
|
||||
|
||||
/**
|
||||
* init - createUser - create first workspace and ydoc - loadWorkspace - return the first workspace - wrapWorkspace - #initDocFromIPC - applyUpdate - on('update') - updateYDocument
|
||||
@@ -38,7 +35,7 @@ export class TauriIPCProvider extends LocalProvider {
|
||||
if (ipc) {
|
||||
this.#ipc = ipc;
|
||||
} else {
|
||||
this.#ipc = await import('./ipc/methods.js');
|
||||
this.#ipc = await import('./ipc/methods');
|
||||
}
|
||||
try {
|
||||
const user = await this.#ipc?.getUser({
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { WorkspaceUnit } from '../../workspace-unit.js';
|
||||
import { WorkspaceUnit } from '../../workspace-unit';
|
||||
import type { WorkspaceUnitCtorParams } from '../../workspace-unit';
|
||||
import { createBlocksuiteWorkspace } from '../../utils/index.js';
|
||||
import { setDefaultAvatar } from '../utils.js';
|
||||
import { IPCBlobProvider } from './blocksuite-provider/blob.js';
|
||||
import { createBlocksuiteWorkspace } from '../../utils';
|
||||
import { setDefaultAvatar } from '../utils';
|
||||
import { IPCBlobProvider } from './blocksuite-provider/blob';
|
||||
|
||||
export const createWorkspaceUnit = async (params: WorkspaceUnitCtorParams) => {
|
||||
const workspaceUnit = new WorkspaceUnit(params);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import assert from 'assert';
|
||||
import { Workspace as BlocksuiteWorkspace } from '@blocksuite/store';
|
||||
import { getDefaultHeadImgBlob } from '../utils/index.js';
|
||||
import { getDefaultHeadImgBlob } from '../utils';
|
||||
|
||||
export const setDefaultAvatar = async (
|
||||
blocksuiteWorkspace: BlocksuiteWorkspace
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { test, expect } from '@playwright/test';
|
||||
import { WorkspaceUnitCollection } from './workspace-unit-collection.js';
|
||||
import { describe, test, expect } from 'vitest';
|
||||
import { WorkspaceUnitCollection } from './workspace-unit-collection';
|
||||
import type { WorkspaceUnitCollectionChangeEvent } from './workspace-unit-collection';
|
||||
import { WorkspaceUnit } from './workspace-unit.js';
|
||||
import { WorkspaceUnit } from './workspace-unit';
|
||||
|
||||
test.describe.serial('workspace meta collection observable', () => {
|
||||
describe('workspace meta collection observable', () => {
|
||||
const workspaceUnitCollection = new WorkspaceUnitCollection();
|
||||
|
||||
const scope = workspaceUnitCollection.createScope();
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
"noEmit": false,
|
||||
"esModuleInterop": true,
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "node",
|
||||
"moduleResolution": "Node",
|
||||
"resolveJsonModule": true,
|
||||
"isolatedModules": true,
|
||||
"jsx": "preserve",
|
||||
|
||||
@@ -2,11 +2,7 @@
|
||||
"name": "@affine/logger",
|
||||
"version": "0.3.0",
|
||||
"description": "",
|
||||
"main": "dist/src/index.js",
|
||||
"types": "dist/src/index.d.ts",
|
||||
"exports": {
|
||||
".": "./dist/src/index.js"
|
||||
},
|
||||
"main": "./src/index.ts",
|
||||
"scripts": {
|
||||
"dev": "next dev",
|
||||
"build": "tsc --project ./tsconfig.json"
|
||||
|
||||
Reference in New Issue
Block a user