From 99f30ba01aba347f413be33032df91a2ad1202c8 Mon Sep 17 00:00:00 2001 From: Lhcfl <Lhcfl@outlook.com> Date: Fri, 26 Apr 2024 10:22:51 +0800 Subject: [PATCH] change firefish-js to esm --- packages/backend/src/misc/langmap.ts | 5 ++-- packages/backend/src/misc/schema.ts | 7 +++-- packages/client/vite.config.ts | 2 +- packages/firefish-js/.swcrc | 2 +- packages/firefish-js/package.json | 8 +++--- packages/firefish-js/src/api.ts | 2 +- packages/firefish-js/src/api.types.ts | 2 +- packages/firefish-js/src/entities.ts | 4 +-- packages/firefish-js/src/index.ts | 28 +++++++++---------- .../firefish-js/src/schema/notification.ts | 2 +- packages/firefish-js/src/streaming.ts | 2 +- packages/firefish-js/src/streaming.types.ts | 2 +- packages/firefish-js/src/type-utils.ts | 2 +- 13 files changed, 35 insertions(+), 33 deletions(-) diff --git a/packages/backend/src/misc/langmap.ts b/packages/backend/src/misc/langmap.ts index 0f71c8f81c..d36796d403 100644 --- a/packages/backend/src/misc/langmap.ts +++ b/packages/backend/src/misc/langmap.ts @@ -1,5 +1,4 @@ -import LangMap from "firefish-js/built/misc/langmap.js"; - -export const langmap = LangMap.langmap; +import { langmap as _langmap } from "firefish-js"; +export const langmap = _langmap; export type PostLanguage = keyof typeof langmap; diff --git a/packages/backend/src/misc/schema.ts b/packages/backend/src/misc/schema.ts index 8d073e4832..b4148e7e27 100644 --- a/packages/backend/src/misc/schema.ts +++ b/packages/backend/src/misc/schema.ts @@ -1,4 +1,7 @@ // TODO: use firefish-js +import { Schema as _Schema } from "firefish-js"; -export * from "firefish-js/built/misc/schema.js"; -// export Schema from "firefish-js"; +export const refs = _Schema.refs; +export type Packed<T extends keyof typeof refs> = _Schema.Packed<T>; +export type Schema = _Schema.Schema; +export type SchemaType<P extends _Schema.Schema> = _Schema.SchemaType<P>; diff --git a/packages/client/vite.config.ts b/packages/client/vite.config.ts index 14bbc44661..293c56d6f8 100644 --- a/packages/client/vite.config.ts +++ b/packages/client/vite.config.ts @@ -89,7 +89,7 @@ export default defineConfig(({ command, mode }) => { sourcemap: process.env.NODE_ENV === "development", reportCompressedSize: false, commonjsOptions: { - include: [/firefish-js/, /node_modules/], + include: [/node_modules/], }, }, optimizeDeps: { diff --git a/packages/firefish-js/.swcrc b/packages/firefish-js/.swcrc index 89800c7b67..f398cdce5c 100644 --- a/packages/firefish-js/.swcrc +++ b/packages/firefish-js/.swcrc @@ -17,7 +17,7 @@ }, "minify": false, "module": { - "type": "commonjs", + "type": "es6", "strict": true, "resolveFully": true } diff --git a/packages/firefish-js/package.json b/packages/firefish-js/package.json index 50228712e1..cd30e879d1 100644 --- a/packages/firefish-js/package.json +++ b/packages/firefish-js/package.json @@ -4,12 +4,12 @@ "description": "Firefish SDK for JavaScript", "homepage": "https://firefish.dev/firefish/firefish/-/tree/develop/packages/firefish-js", "main": "./built/index.js", + "type": "module", "types": "./src/index.ts", "license": "MIT", "scripts": { - "build": "pnpm swc src --out-dir built --source-maps false --copy-files --strip-leading-paths && pnpm run build:types", - "build:debug": "pnpm swc src --out-dir built --source-maps true --copy-files --strip-leading-paths && pnpm run build:types", - "build:types": "pnpm tsc --emitDeclarationOnly", + "build": "pnpm swc src --out-dir built --source-maps false --copy-files --strip-leading-paths", + "build:debug": "pnpm swc src --out-dir built --source-maps true --copy-files --strip-leading-paths", "watch": "pnpm swc src --out-dir built --source-maps true --copy-files --strip-leading-paths --watch", "lint": "pnpm biome check --apply src", "format": "pnpm biome format --write src", @@ -36,7 +36,7 @@ "typescript": "5.4.5" }, "files": [ - "built" + "built", "src" ], "dependencies": { "eventemitter3": "^5.0.1", diff --git a/packages/firefish-js/src/api.ts b/packages/firefish-js/src/api.ts index 3cfdfedbfe..5553c1feeb 100644 --- a/packages/firefish-js/src/api.ts +++ b/packages/firefish-js/src/api.ts @@ -1,4 +1,4 @@ -import type { Endpoints } from "./api.types"; +import type { Endpoints } from "./api.types.js"; const MK_API_ERROR = Symbol(); diff --git a/packages/firefish-js/src/api.types.ts b/packages/firefish-js/src/api.types.ts index a153a96962..c458e46a09 100644 --- a/packages/firefish-js/src/api.types.ts +++ b/packages/firefish-js/src/api.types.ts @@ -38,7 +38,7 @@ import type { UserList, UserLite, UserSorting, -} from "./entities"; +} from "./entities.js"; import type * as consts from "./consts"; diff --git a/packages/firefish-js/src/entities.ts b/packages/firefish-js/src/entities.ts index e622e98df4..93e11285ba 100644 --- a/packages/firefish-js/src/entities.ts +++ b/packages/firefish-js/src/entities.ts @@ -1,5 +1,5 @@ -import type * as consts from "./consts"; -import type { Packed } from "./misc/schema"; +import type * as consts from "./consts.js"; +import type { Packed } from "./misc/schema.js"; export type ID = string; export type DateString = string; diff --git a/packages/firefish-js/src/index.ts b/packages/firefish-js/src/index.ts index efb625258e..126ab47e53 100644 --- a/packages/firefish-js/src/index.ts +++ b/packages/firefish-js/src/index.ts @@ -1,17 +1,17 @@ -import * as acct from "./acct"; -import type { Acct } from "./acct"; -import { Endpoints } from "./api.types"; -import type * as ApiTypes from "./api.types"; -import * as consts from "./consts"; -import Stream, { Connection } from "./streaming"; -import * as StreamTypes from "./streaming.types"; -import type * as TypeUtils from "./type-utils"; +import * as acct from "./acct.js"; +import type { Acct } from "./acct.js"; +import type { Endpoints } from "./api.types.js"; +import type * as ApiTypes from "./api.types.js"; +import * as consts from "./consts.js"; +import Stream, { Connection } from "./streaming.js"; +import * as StreamTypes from "./streaming.types.js"; +import type * as TypeUtils from "./type-utils.js"; -import type * as SchemaTypes from "./misc/schema"; -import * as Schema from "./misc/schema"; +import type * as SchemaTypes from "./misc/schema.js"; +import * as Schema from "./misc/schema.js"; export { - Endpoints, + type Endpoints, type ApiTypes, Stream, Connection as ChannelConnection, @@ -31,11 +31,11 @@ export const languages = consts.languages; export const ffVisibility = consts.ffVisibility; export const instanceSortParam = consts.instanceSortParam; -import { langmap } from "./misc/langmap"; +import { langmap } from "./misc/langmap.js"; // api extractor not supported yet //export * as api from './api'; //export * as entities from './entities'; -import * as api from "./api"; -import * as entities from "./entities"; +import * as api from "./api.js"; +import * as entities from "./entities.js"; export { api, entities, langmap }; diff --git a/packages/firefish-js/src/schema/notification.ts b/packages/firefish-js/src/schema/notification.ts index 85d7d33970..dec921a8a7 100644 --- a/packages/firefish-js/src/schema/notification.ts +++ b/packages/firefish-js/src/schema/notification.ts @@ -1,4 +1,4 @@ -import { notificationTypes } from "../consts"; +import { notificationTypes } from "../consts.js"; export const packedNotificationSchema = { type: "object", diff --git a/packages/firefish-js/src/streaming.ts b/packages/firefish-js/src/streaming.ts index 58491bc8c0..0fcd0c7498 100644 --- a/packages/firefish-js/src/streaming.ts +++ b/packages/firefish-js/src/streaming.ts @@ -1,6 +1,6 @@ import { EventEmitter } from "eventemitter3"; import ReconnectingWebsocket from "reconnecting"; -import type { BroadcastEvents, Channels } from "./streaming.types"; +import type { BroadcastEvents, Channels } from "./streaming.types.js"; function autobind(instance: any): void { const prototype = Object.getPrototypeOf(instance); diff --git a/packages/firefish-js/src/streaming.types.ts b/packages/firefish-js/src/streaming.types.ts index 5b81780271..ca4aa3396d 100644 --- a/packages/firefish-js/src/streaming.types.ts +++ b/packages/firefish-js/src/streaming.types.ts @@ -12,7 +12,7 @@ import type { UserGroup, UserLite, } from "./entities"; -import type { Connection } from "./streaming"; +import type { Connection } from "./streaming.js"; type FIXME = any; diff --git a/packages/firefish-js/src/type-utils.ts b/packages/firefish-js/src/type-utils.ts index d28675c55c..92695709b5 100644 --- a/packages/firefish-js/src/type-utils.ts +++ b/packages/firefish-js/src/type-utils.ts @@ -1,4 +1,4 @@ -import type { Endpoints } from "./api.types"; +import type { Endpoints } from "./api.types.js"; export type PropertyOfType<Type, U> = { [K in keyof Type]: Type[K] extends U ? K : never;