From fa693957165a8c31da4e5f1ad2bf4429a2af2457 Mon Sep 17 00:00:00 2001
From: AkiraFukushima
Date: Sun, 8 Oct 2023 12:23:02 +0900
Subject: [PATCH 1/7] Support ESM and CJS dual package
---
megalodon/package.json | 19 +++++++++++++++++--
megalodon/src/index.ts | 24 ++++++++++++------------
megalodon/tsconfig.mjs.json | 7 +++++++
yarn.lock | 12 ++++++++++++
4 files changed, 48 insertions(+), 14 deletions(-)
create mode 100644 megalodon/tsconfig.mjs.json
diff --git a/megalodon/package.json b/megalodon/package.json
index 86549ccfa..a643fc15b 100644
--- a/megalodon/package.json
+++ b/megalodon/package.json
@@ -4,8 +4,22 @@
"description": "Mastodon API client for node.js and browser",
"main": "./lib/src/index.js",
"typings": "./lib/src/index.d.ts",
+ "module": "./lib/mjs/src/index.js",
+ "exports": {
+ ".": {
+ "import": {
+ "types": "./lib/mjs/src/index.d.ts",
+ "default": "./lib/mjs/src/index.js"
+ },
+ "require": {
+ "types": "./lib/src/index.d.ts",
+ "default": "./lib/src/index.js"
+ },
+ "default": "./lib/src/index.js"
+ }
+ },
"scripts": {
- "build": "tsc -p ./",
+ "build": "tsc -p ./ && tsc -p tsconfig.mjs.json && tsconfig-to-dual-package",
"lint": "eslint --ext .js,.ts src",
"doc": "typedoc --out ../docs ./src",
"test": "NODE_ENV=test jest -u --maxWorkers=3"
@@ -65,7 +79,8 @@
"typescript": "5.2.2",
"uuid": "^9.0.1",
"ws": "8.14.2",
- "isomorphic-ws": "^5.0.0"
+ "isomorphic-ws": "^5.0.0",
+ "tsconfig-to-dual-package": "^1.2.0"
},
"devDependencies": {
"@types/core-js": "^2.5.6",
diff --git a/megalodon/src/index.ts b/megalodon/src/index.ts
index 2b4a4832b..d5276b807 100644
--- a/megalodon/src/index.ts
+++ b/megalodon/src/index.ts
@@ -1,15 +1,15 @@
-import Response from './response'
-import OAuth from './oauth'
-import { isCancel, RequestCanceledError } from './cancel'
-import { ProxyConfig } from './proxy_config'
-import generator, { MegalodonInterface, WebSocketInterface } from './megalodon'
-import { detector } from './detector'
-import Mastodon from './mastodon'
-import Pleroma from './pleroma'
-import Firefish from './firefish'
-import Entity from './entity'
-import NotificationType from './notification'
-import FilterContext from './filter_context'
+import Response from './response.js'
+import OAuth from './oauth.js'
+import { isCancel, RequestCanceledError } from './cancel.js'
+import { ProxyConfig } from './proxy_config.js'
+import generator, { MegalodonInterface, WebSocketInterface } from './megalodon.js'
+import { detector } from './detector.js'
+import Mastodon from './mastodon.js'
+import Pleroma from './pleroma.js'
+import Firefish from './firefish.js'
+import Entity from './entity.js'
+import NotificationType from './notification.js'
+import FilterContext from './filter_context.js'
export {
Response,
diff --git a/megalodon/tsconfig.mjs.json b/megalodon/tsconfig.mjs.json
new file mode 100644
index 000000000..8de6dedc0
--- /dev/null
+++ b/megalodon/tsconfig.mjs.json
@@ -0,0 +1,7 @@
+{
+ "extends": "./tsconfig.json",
+ "compilerOptions": {
+ "module": "ES2020",
+ "outDir": "lib/mjs"
+ }
+}
diff --git a/yarn.lock b/yarn.lock
index cba42f453..1bf66a41a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4182,6 +4182,11 @@ resolve-from@^5.0.0:
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
+resolve-tsconfig@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/resolve-tsconfig/-/resolve-tsconfig-1.3.0.tgz#1b82e3ae9a47d4ad45a048e55fa6272bab1b1adb"
+ integrity sha512-Ba5mo3soshb2CnIcNFz75F/80H/2eMVxrlmdgoSDNH7Lr6UAoT3BvxNtc7+VXqKSBlC0SJk2qSXOTcy0/p7cFw==
+
resolve.exports@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.0.tgz#c1a0028c2d166ec2fbf7d0644584927e76e7400e"
@@ -4637,6 +4642,13 @@ ts-loader@^9.4.4:
micromatch "^4.0.0"
semver "^7.3.4"
+tsconfig-to-dual-package@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/tsconfig-to-dual-package/-/tsconfig-to-dual-package-1.2.0.tgz#c20e5950747a468850af301567e9dbb9347fe039"
+ integrity sha512-UtMinqTLfWr9fX6KidLsEcCJoA/jSLPIS00ohpQybMSxA3LlJCRf2DsGPw4AJJ8AP4FOHfbQJFJ5XgLoL7RoLw==
+ dependencies:
+ resolve-tsconfig "^1.3.0"
+
tslib@^2.5.0, tslib@^2.6.0:
version "2.6.2"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae"
From 86774569c92d3da85887992455d07134691c1bfe Mon Sep 17 00:00:00 2001
From: AkiraFukushima
Date: Sun, 8 Oct 2023 12:22:22 +0900
Subject: [PATCH 2/7] Add vite example
---
.gitignore | 3 +-
example/vite/.gitignore | 24 ++
example/vite/index.html | 14 +
example/vite/package.json | 21 ++
example/vite/src/main.ts | 55 ++++
example/vite/src/vite-env.d.ts | 1 +
example/vite/tsconfig.json | 23 ++
example/vite/vite.config.ts | 20 ++
megalodon/src/firefish/api_client.ts | 5 +-
megalodon/src/friendica/api_client.ts | 6 +-
megalodon/src/mastodon/api_client.ts | 5 +-
megalodon/src/pleroma/api_client.ts | 6 +-
package.json | 3 +-
yarn.lock | 378 +++++++++++++++++++++++++-
14 files changed, 542 insertions(+), 22 deletions(-)
create mode 100644 example/vite/.gitignore
create mode 100644 example/vite/index.html
create mode 100644 example/vite/package.json
create mode 100644 example/vite/src/main.ts
create mode 100644 example/vite/src/vite-env.d.ts
create mode 100644 example/vite/tsconfig.json
create mode 100644 example/vite/vite.config.ts
diff --git a/.gitignore b/.gitignore
index 862fc0b59..94cf5c4bc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,4 +3,5 @@ lib
example/typescript/dist
example/javascript/dist
example/browser/dist
-docs/
\ No newline at end of file
+docs/
+.env
\ No newline at end of file
diff --git a/example/vite/.gitignore b/example/vite/.gitignore
new file mode 100644
index 000000000..a547bf36d
--- /dev/null
+++ b/example/vite/.gitignore
@@ -0,0 +1,24 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+dist
+dist-ssr
+*.local
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+.DS_Store
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/example/vite/index.html b/example/vite/index.html
new file mode 100644
index 000000000..46d1c5be8
--- /dev/null
+++ b/example/vite/index.html
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ Vite + TS
+
+
+
+
+
+
+
diff --git a/example/vite/package.json b/example/vite/package.json
new file mode 100644
index 000000000..3930fa776
--- /dev/null
+++ b/example/vite/package.json
@@ -0,0 +1,21 @@
+{
+ "name": "vite",
+ "private": true,
+ "version": "0.0.0",
+ "type": "module",
+ "scripts": {
+ "dev": "vite",
+ "build": "tsc && vite build",
+ "preview": "vite preview"
+ },
+ "dependencies": {
+ "megalodon": "*"
+ },
+ "devDependencies": {
+ "typescript": "^5.0.2",
+ "vite": "^4.4.5",
+ "node-stdlib-browser": "^1.2.0",
+ "vite-plugin-node-stdlib-browser": "^0.2.1",
+ "process": "^0.11.10"
+ }
+}
diff --git a/example/vite/src/main.ts b/example/vite/src/main.ts
new file mode 100644
index 000000000..4785b8a65
--- /dev/null
+++ b/example/vite/src/main.ts
@@ -0,0 +1,55 @@
+import generator, { Entity } from 'megalodon'
+
+const BASE_URL: string = import.meta.env.VITE_MASTODON_URL
+const ACCESS_TOKEN: string = import.meta.env.VITE_MASTODON_ACCESS_TOKEN
+console.log(BASE_URL)
+console.log('start')
+
+const client = generator('mastodon', BASE_URL, ACCESS_TOKEN)
+
+const stream = client.publicSocket()
+stream.on('connect', () => {
+ console.log('connect')
+})
+
+stream.on('pong', () => {
+ console.log('pong')
+})
+
+stream.on('update', (status: Entity.Status) => {
+ console.log(status)
+})
+
+stream.on('notification', (notification: Entity.Notification) => {
+ console.log(notification)
+})
+
+stream.on('delete', (id: number) => {
+ console.log(id)
+})
+
+stream.on('error', (err: Error) => {
+ console.error(err)
+})
+
+stream.on('status_update', (status: Entity.Status) => {
+ console.log('updated: ', status.url)
+})
+
+stream.on('heartbeat', () => {
+ console.log('thump.')
+})
+
+stream.on('close', () => {
+ console.log('close')
+})
+
+stream.on('parser-error', (err: Error) => {
+ console.error(err)
+})
+//
+// setTimeout(() => {
+// stream.removeAllListeners()
+// stream.stop()
+// console.log('closed')
+// }, 10000)
diff --git a/example/vite/src/vite-env.d.ts b/example/vite/src/vite-env.d.ts
new file mode 100644
index 000000000..11f02fe2a
--- /dev/null
+++ b/example/vite/src/vite-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/example/vite/tsconfig.json b/example/vite/tsconfig.json
new file mode 100644
index 000000000..75abdef26
--- /dev/null
+++ b/example/vite/tsconfig.json
@@ -0,0 +1,23 @@
+{
+ "compilerOptions": {
+ "target": "ES2020",
+ "useDefineForClassFields": true,
+ "module": "ESNext",
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
+ "skipLibCheck": true,
+
+ /* Bundler mode */
+ "moduleResolution": "bundler",
+ "allowImportingTsExtensions": true,
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "noEmit": true,
+
+ /* Linting */
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "noFallthroughCasesInSwitch": true
+ },
+ "include": ["src"]
+}
diff --git a/example/vite/vite.config.ts b/example/vite/vite.config.ts
new file mode 100644
index 000000000..99d80bf5c
--- /dev/null
+++ b/example/vite/vite.config.ts
@@ -0,0 +1,20 @@
+import { defineConfig } from 'vite'
+import nodePolyfills from 'vite-plugin-node-stdlib-browser'
+
+// https://vitejs.dev/config/
+export default defineConfig({
+ resolve: {
+ alias: {
+ process: 'process/browser'
+ }
+ },
+ define: {
+ 'process.browser': true,
+ 'process.env.NODE_DEBUG': false
+ },
+ plugins: [
+ nodePolyfills({
+ include: ['buffer']
+ })
+ ]
+})
diff --git a/megalodon/src/firefish/api_client.ts b/megalodon/src/firefish/api_client.ts
index ac96fdd32..ad31fa220 100644
--- a/megalodon/src/firefish/api_client.ts
+++ b/megalodon/src/firefish/api_client.ts
@@ -693,9 +693,8 @@ namespace FirefishAPI {
}
const url = this.baseUrl + '/streaming'
const streaming = new WebSocket(url, channel, this.accessToken, listId, this.userAgent, this.proxyConfig)
- process.nextTick(() => {
- streaming.start()
- })
+
+ streaming.start()
return streaming
}
}
diff --git a/megalodon/src/friendica/api_client.ts b/megalodon/src/friendica/api_client.ts
index 1f27fd6d2..9c3e12b1d 100644
--- a/megalodon/src/friendica/api_client.ts
+++ b/megalodon/src/friendica/api_client.ts
@@ -434,9 +434,9 @@ namespace FriendicaAPI {
}
const url = this.baseUrl + path
const streaming = new WebSocket(url, stream, params, this.accessToken, this.userAgent, this.proxyConfig)
- process.nextTick(() => {
- streaming.start()
- })
+
+ streaming.start()
+
return streaming
}
}
diff --git a/megalodon/src/mastodon/api_client.ts b/megalodon/src/mastodon/api_client.ts
index 887fbaa2e..cdf88ba99 100644
--- a/megalodon/src/mastodon/api_client.ts
+++ b/megalodon/src/mastodon/api_client.ts
@@ -434,9 +434,8 @@ namespace MastodonAPI {
}
const url = this.baseUrl + path
const streaming = new Streaming(url, stream, params, this.accessToken, this.userAgent, this.proxyConfig)
- process.nextTick(() => {
- streaming.start()
- })
+
+ streaming.start()
return streaming
}
}
diff --git a/megalodon/src/pleroma/api_client.ts b/megalodon/src/pleroma/api_client.ts
index 99d964353..47734dc2a 100644
--- a/megalodon/src/pleroma/api_client.ts
+++ b/megalodon/src/pleroma/api_client.ts
@@ -812,9 +812,9 @@ namespace PleromaAPI {
}
const url = this.baseUrl + path
const streaming = new WebSocket(url, stream, params, this.accessToken, this.userAgent, this.proxyConfig)
- process.nextTick(() => {
- streaming.start()
- })
+
+ streaming.start()
+
return streaming
}
}
diff --git a/package.json b/package.json
index 62845bea7..7c1dbbd94 100644
--- a/package.json
+++ b/package.json
@@ -3,6 +3,7 @@
"workspaces": [
"megalodon",
"example/typescript",
- "example/browser"
+ "example/browser",
+ "example/vite"
]
}
diff --git a/yarn.lock b/yarn.lock
index 1bf66a41a..e0fabeae2 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -559,6 +559,116 @@
resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz#d5e0706cf8c6acd8c6032f8d54070af261bbbb2f"
integrity sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==
+"@esbuild/android-arm64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622"
+ integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==
+
+"@esbuild/android-arm@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682"
+ integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==
+
+"@esbuild/android-x64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2"
+ integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==
+
+"@esbuild/darwin-arm64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1"
+ integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==
+
+"@esbuild/darwin-x64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d"
+ integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==
+
+"@esbuild/freebsd-arm64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54"
+ integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==
+
+"@esbuild/freebsd-x64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e"
+ integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==
+
+"@esbuild/linux-arm64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0"
+ integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==
+
+"@esbuild/linux-arm@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0"
+ integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==
+
+"@esbuild/linux-ia32@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7"
+ integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==
+
+"@esbuild/linux-loong64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d"
+ integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==
+
+"@esbuild/linux-mips64el@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231"
+ integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==
+
+"@esbuild/linux-ppc64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb"
+ integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==
+
+"@esbuild/linux-riscv64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6"
+ integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==
+
+"@esbuild/linux-s390x@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071"
+ integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==
+
+"@esbuild/linux-x64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz#c7690b3417af318a9b6f96df3031a8865176d338"
+ integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==
+
+"@esbuild/netbsd-x64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1"
+ integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==
+
+"@esbuild/openbsd-x64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae"
+ integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==
+
+"@esbuild/sunos-x64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d"
+ integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==
+
+"@esbuild/win32-arm64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9"
+ integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==
+
+"@esbuild/win32-ia32@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102"
+ integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==
+
+"@esbuild/win32-x64@0.18.20":
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d"
+ integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==
+
"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
version "4.4.0"
resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
@@ -849,6 +959,11 @@
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
+"@jridgewell/sourcemap-codec@^1.4.13":
+ version "1.4.15"
+ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
+ integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
+
"@jridgewell/trace-mapping@^0.3.0":
version "0.3.4"
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz#f6a0832dffd5b8a6aaa633b7d9f8e8e94c83a0c3"
@@ -906,6 +1021,24 @@
picocolors "^1.0.0"
tslib "^2.6.0"
+"@rollup/plugin-inject@^5.0.3":
+ version "5.0.4"
+ resolved "https://registry.yarnpkg.com/@rollup/plugin-inject/-/plugin-inject-5.0.4.tgz#7116970c2cde6ce150734cabac9165d7b60ad6f1"
+ integrity sha512-dM93Nyqp9Ah14jvThFFA30ifjB8cDKk3Bx69M1nIIHGytXug3VrTv5HEuYBzevu45HvZ0ho7t+40bmScmkzZhg==
+ dependencies:
+ "@rollup/pluginutils" "^5.0.1"
+ estree-walker "^2.0.2"
+ magic-string "^0.27.0"
+
+"@rollup/pluginutils@^5.0.1":
+ version "5.0.5"
+ resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.0.5.tgz#bbb4c175e19ebfeeb8c132c2eea0ecb89941a66c"
+ integrity sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ estree-walker "^2.0.2"
+ picomatch "^2.3.1"
+
"@sinclair/typebox@^0.27.8":
version "0.27.8"
resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e"
@@ -1441,7 +1574,7 @@ asn1.js@^5.2.0:
minimalistic-assert "^1.0.0"
safer-buffer "^2.1.0"
-assert@^2.1.0:
+assert@^2.0.0, assert@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/assert/-/assert-2.1.0.tgz#6d92a238d05dc02e7427c881fb8be81c8448b2dd"
integrity sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==
@@ -1604,6 +1737,13 @@ brorand@^1.0.1, brorand@^1.1.0:
resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=
+browser-resolve@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-2.0.0.tgz#99b7304cb392f8d73dba741bb2d7da28c6d7842b"
+ integrity sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==
+ dependencies:
+ resolve "^1.17.0"
+
browserify-aes@^1.0.0, browserify-aes@^1.0.4:
version "1.2.0"
resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48"
@@ -1658,6 +1798,13 @@ browserify-sign@^4.0.0:
readable-stream "^3.6.0"
safe-buffer "^5.2.0"
+browserify-zlib@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f"
+ integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==
+ dependencies:
+ pako "~1.0.5"
+
browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4.20.2:
version "4.20.3"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.3.tgz#eb7572f49ec430e054f56d52ff0ebe9be915f8bf"
@@ -1693,6 +1840,14 @@ buffer-xor@^1.0.3:
resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=
+buffer@^5.7.1:
+ version "5.7.1"
+ resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0"
+ integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
+ dependencies:
+ base64-js "^1.3.1"
+ ieee754 "^1.1.13"
+
buffer@^6.0.3:
version "6.0.3"
resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6"
@@ -1865,6 +2020,16 @@ concat-map@0.0.1:
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
+console-browserify@^1.1.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336"
+ integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==
+
+constants-browserify@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
+ integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==
+
convert-source-map@^1.6.0, convert-source-map@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442"
@@ -1926,6 +2091,11 @@ create-jest@^29.7.0:
jest-util "^29.7.0"
prompts "^2.0.1"
+create-require@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
+ integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
+
cross-spawn@^7.0.2, cross-spawn@^7.0.3:
version "7.0.3"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
@@ -1935,7 +2105,7 @@ cross-spawn@^7.0.2, cross-spawn@^7.0.3:
shebang-command "^2.0.0"
which "^2.0.1"
-crypto-browserify@^3.12.0:
+crypto-browserify@^3.11.0, crypto-browserify@^3.12.0:
version "3.12.0"
resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==
@@ -2075,6 +2245,11 @@ doctrine@^3.0.0:
dependencies:
esutils "^2.0.2"
+domain-browser@^4.22.0:
+ version "4.22.0"
+ resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-4.22.0.tgz#6ddd34220ec281f9a65d3386d267ddd35c491f9f"
+ integrity sha512-IGBwjF7tNk3cwypFNH/7bfzBcgSCbaMOD3GsaY1AU/JRrnHnYgEM0+9kQt52iZxjNsjBtJYtao146V+f8jFZNw==
+
electron-to-chromium@^1.4.118:
version "1.4.146"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.146.tgz#fd20970c3def2f9e6b32ac13a2e7a6b64e1b0c48"
@@ -2163,6 +2338,34 @@ es-to-primitive@^1.2.1:
is-date-object "^1.0.1"
is-symbol "^1.0.2"
+esbuild@^0.18.10:
+ version "0.18.20"
+ resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6"
+ integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==
+ optionalDependencies:
+ "@esbuild/android-arm" "0.18.20"
+ "@esbuild/android-arm64" "0.18.20"
+ "@esbuild/android-x64" "0.18.20"
+ "@esbuild/darwin-arm64" "0.18.20"
+ "@esbuild/darwin-x64" "0.18.20"
+ "@esbuild/freebsd-arm64" "0.18.20"
+ "@esbuild/freebsd-x64" "0.18.20"
+ "@esbuild/linux-arm" "0.18.20"
+ "@esbuild/linux-arm64" "0.18.20"
+ "@esbuild/linux-ia32" "0.18.20"
+ "@esbuild/linux-loong64" "0.18.20"
+ "@esbuild/linux-mips64el" "0.18.20"
+ "@esbuild/linux-ppc64" "0.18.20"
+ "@esbuild/linux-riscv64" "0.18.20"
+ "@esbuild/linux-s390x" "0.18.20"
+ "@esbuild/linux-x64" "0.18.20"
+ "@esbuild/netbsd-x64" "0.18.20"
+ "@esbuild/openbsd-x64" "0.18.20"
+ "@esbuild/sunos-x64" "0.18.20"
+ "@esbuild/win32-arm64" "0.18.20"
+ "@esbuild/win32-ia32" "0.18.20"
+ "@esbuild/win32-x64" "0.18.20"
+
escalade@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
@@ -2298,6 +2501,11 @@ estraverse@^5.1.0, estraverse@^5.2.0:
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==
+estree-walker@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
+ integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
+
esutils@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
@@ -2308,7 +2516,7 @@ eventemitter3@^4.0.0:
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
-events@^3.2.0, events@^3.3.0:
+events@^3.0.0, events@^3.2.0, events@^3.3.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
@@ -2509,6 +2717,11 @@ fsevents@^2.3.2:
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
+fsevents@~2.3.2:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
+ integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
+
function-bind@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
@@ -2777,7 +2990,7 @@ iconv-lite@0.6.3:
dependencies:
safer-buffer ">= 2.1.2 < 3.0.0"
-ieee754@^1.2.1:
+ieee754@^1.1.13, ieee754@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
@@ -2875,6 +3088,13 @@ is-callable@^1.2.4:
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945"
integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==
+is-core-module@^2.13.0:
+ version "2.13.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db"
+ integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==
+ dependencies:
+ has "^1.0.3"
+
is-core-module@^2.9.0:
version "2.11.0"
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144"
@@ -3052,6 +3272,11 @@ isobject@^3.0.1:
resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
+isomorphic-timers-promises@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/isomorphic-timers-promises/-/isomorphic-timers-promises-1.0.1.tgz#e4137c24dbc54892de8abae3a4b5c1ffff381598"
+ integrity sha512-u4sej9B1LPSxTGKB/HiuzvEQnXH0ECYkSVQU39koSwmFAxhlEAFl9RdTvLv4TOTQUgBS5O3O5fwUxk6byBZ+IQ==
+
isomorphic-ws@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz#e5529148912ecb9b451b46ed44d53dae1ce04bbf"
@@ -3624,6 +3849,13 @@ lunr@^2.3.9:
resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1"
integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==
+magic-string@^0.27.0:
+ version "0.27.0"
+ resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3"
+ integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==
+ dependencies:
+ "@jridgewell/sourcemap-codec" "^1.4.13"
+
make-dir@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.0.0.tgz#1b5f39f6b9270ed33f9f054c5c0f84304989f801"
@@ -3751,6 +3983,11 @@ ms@2.1.2, ms@^2.1.1:
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+nanoid@^3.3.6:
+ version "3.3.6"
+ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
+ integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
+
natural-compare@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
@@ -3771,6 +4008,39 @@ node-releases@^2.0.3:
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.5.tgz#280ed5bc3eba0d96ce44897d8aee478bfb3d9666"
integrity sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==
+node-stdlib-browser@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/node-stdlib-browser/-/node-stdlib-browser-1.2.0.tgz#5ddcfdf4063b88fb282979a1aa6ddab9728d5e4c"
+ integrity sha512-VSjFxUhRhkyed8AtLwSCkMrJRfQ3e2lGtG3sP6FEgaLKBBbxM/dLfjRe1+iLhjvyLFW3tBQ8+c0pcOtXGbAZJg==
+ dependencies:
+ assert "^2.0.0"
+ browser-resolve "^2.0.0"
+ browserify-zlib "^0.2.0"
+ buffer "^5.7.1"
+ console-browserify "^1.1.0"
+ constants-browserify "^1.0.0"
+ create-require "^1.1.1"
+ crypto-browserify "^3.11.0"
+ domain-browser "^4.22.0"
+ events "^3.0.0"
+ https-browserify "^1.0.0"
+ isomorphic-timers-promises "^1.0.1"
+ os-browserify "^0.3.0"
+ path-browserify "^1.0.1"
+ pkg-dir "^5.0.0"
+ process "^0.11.10"
+ punycode "^1.4.1"
+ querystring-es3 "^0.2.1"
+ readable-stream "^3.6.0"
+ stream-browserify "^3.0.0"
+ stream-http "^3.2.0"
+ string_decoder "^1.0.0"
+ timers-browserify "^2.0.4"
+ tty-browserify "0.0.1"
+ url "^0.11.0"
+ util "^0.12.4"
+ vm-browserify "^1.0.1"
+
normalize-path@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
@@ -3919,6 +4189,11 @@ p-try@^2.0.0:
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
+pako@~1.0.5:
+ version "1.0.11"
+ resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
+ integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==
+
parent-module@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
@@ -3954,6 +4229,11 @@ parse-link-header@^2.0.0:
dependencies:
xtend "~4.0.1"
+path-browserify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd"
+ integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==
+
path-exists@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
@@ -4010,6 +4290,11 @@ picomatch@^2.2.3:
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==
+picomatch@^2.3.1:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
+ integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
+
pirates@^4.0.4:
version "4.0.5"
resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b"
@@ -4022,6 +4307,13 @@ pkg-dir@^4.2.0:
dependencies:
find-up "^4.0.0"
+pkg-dir@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760"
+ integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==
+ dependencies:
+ find-up "^5.0.0"
+
portfinder@^1.0.28:
version "1.0.28"
resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778"
@@ -4031,6 +4323,15 @@ portfinder@^1.0.28:
debug "^3.1.1"
mkdirp "^0.5.5"
+postcss@^8.4.27:
+ version "8.4.31"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d"
+ integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==
+ dependencies:
+ nanoid "^3.3.6"
+ picocolors "^1.0.0"
+ source-map-js "^1.0.2"
+
prelude-ls@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
@@ -4192,6 +4493,15 @@ resolve.exports@^2.0.0:
resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.0.tgz#c1a0028c2d166ec2fbf7d0644584927e76e7400e"
integrity sha512-6K/gDlqgQscOlg9fSRpWstA8sYe8rbELsSTNpx+3kTrsVCzvSl0zIvRErM7fdl9ERWDsKnrLnwB+Ne89918XOg==
+resolve@^1.17.0:
+ version "1.22.6"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.6.tgz#dd209739eca3aef739c626fea1b4f3c506195362"
+ integrity sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==
+ dependencies:
+ is-core-module "^2.13.0"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
+
resolve@^1.20.0:
version "1.22.1"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
@@ -4226,6 +4536,13 @@ ripemd160@^2.0.0, ripemd160@^2.0.1:
hash-base "^3.0.0"
inherits "^2.0.1"
+rollup@^3.27.1:
+ version "3.29.4"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.29.4.tgz#4d70c0f9834146df8705bfb69a9a19c9e1109981"
+ integrity sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==
+ optionalDependencies:
+ fsevents "~2.3.2"
+
run-applescript@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/run-applescript/-/run-applescript-5.0.0.tgz#e11e1c932e055d5c6b40d98374e0268d9b11899c"
@@ -4288,6 +4605,11 @@ serialize-javascript@^6.0.1:
dependencies:
randombytes "^2.1.0"
+setimmediate@^1.0.4:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
+ integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==
+
sha.js@^2.4.0, sha.js@^2.4.8:
version "2.4.11"
resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
@@ -4376,6 +4698,11 @@ socks@^2.7.1:
ip "^2.0.0"
smart-buffer "^4.2.0"
+source-map-js@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
+ integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
+
source-map-support@0.5.13:
version "0.5.13"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932"
@@ -4483,7 +4810,7 @@ string.prototype.trimstart@^1.0.4:
call-bind "^1.0.2"
define-properties "^1.1.3"
-string_decoder@^1.1.1:
+string_decoder@^1.0.0, string_decoder@^1.1.1:
version "1.3.0"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
@@ -4591,6 +4918,13 @@ text-table@^0.2.0:
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
+timers-browserify@^2.0.4:
+ version "2.0.12"
+ resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee"
+ integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==
+ dependencies:
+ setimmediate "^1.0.4"
+
titleize@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/titleize/-/titleize-3.0.0.tgz#71c12eb7fdd2558aa8a44b0be83b8a76694acd53"
@@ -4654,6 +4988,11 @@ tslib@^2.5.0, tslib@^2.6.0:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae"
integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==
+tty-browserify@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811"
+ integrity sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==
+
type-check@^0.4.0, type-check@~0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
@@ -4686,7 +5025,7 @@ typedoc@^0.25.1:
minimatch "^9.0.3"
shiki "^0.14.1"
-typescript@5.2.2:
+typescript@5.2.2, typescript@^5.0.2:
version "5.2.2"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78"
integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==
@@ -4730,7 +5069,7 @@ url-join@^4.0.1:
resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7"
integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==
-url@^0.11.3:
+url@^0.11.0, url@^0.11.3:
version "0.11.3"
resolved "https://registry.yarnpkg.com/url/-/url-0.11.3.tgz#6f495f4b935de40ce4a0a52faee8954244f3d3ad"
integrity sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==
@@ -4743,7 +5082,7 @@ util-deprecate@^1.0.1:
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
-util@^0.12.5:
+util@^0.12.4, util@^0.12.5:
version "0.12.5"
resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc"
integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==
@@ -4768,6 +5107,29 @@ v8-to-istanbul@^9.0.1:
"@types/istanbul-lib-coverage" "^2.0.1"
convert-source-map "^1.6.0"
+vite-plugin-node-stdlib-browser@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/vite-plugin-node-stdlib-browser/-/vite-plugin-node-stdlib-browser-0.2.1.tgz#6a598b3e1fecde6cdabe9c80a29adaeebc53463b"
+ integrity sha512-6u2i613Dkqj5KaTNIrnZvE6y3/awWAp0S5TjucTvGxdhetftB1Mgvblc+nwYzlw6sntPlac8UOC7ttXNh+LZKA==
+ dependencies:
+ "@rollup/plugin-inject" "^5.0.3"
+
+vite@^4.4.5:
+ version "4.4.11"
+ resolved "https://registry.yarnpkg.com/vite/-/vite-4.4.11.tgz#babdb055b08c69cfc4c468072a2e6c9ca62102b0"
+ integrity sha512-ksNZJlkcU9b0lBwAGZGGaZHCMqHsc8OpgtoYhsQ4/I2v5cnpmmmqe5pM4nv/4Hn6G/2GhTdj0DhZh2e+Er1q5A==
+ dependencies:
+ esbuild "^0.18.10"
+ postcss "^8.4.27"
+ rollup "^3.27.1"
+ optionalDependencies:
+ fsevents "~2.3.2"
+
+vm-browserify@^1.0.1:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
+ integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==
+
vscode-oniguruma@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz#439bfad8fe71abd7798338d1cd3dc53a8beea94b"
From 7042273bf7e5ceea77911384e52a9bec61eb0b4b Mon Sep 17 00:00:00 2001
From: AkiraFukushima
Date: Sun, 8 Oct 2023 12:36:35 +0900
Subject: [PATCH 3/7] Separate example test
---
.github/workflows/example.yml | 88 +++++++++++++++++++++++++++++++++++
.github/workflows/test.yml | 35 --------------
2 files changed, 88 insertions(+), 35 deletions(-)
create mode 100644 .github/workflows/example.yml
diff --git a/.github/workflows/example.yml b/.github/workflows/example.yml
new file mode 100644
index 000000000..e2e910127
--- /dev/null
+++ b/.github/workflows/example.yml
@@ -0,0 +1,88 @@
+name: Example
+
+on:
+ push:
+ branches:
+ - master
+
+ tags:
+
+ pull_request:
+
+jobs:
+ typescript:
+ runs-on: ubuntu-latest
+
+ strategy:
+ matrix:
+ node-version: [16.x, 18.x, 19.x]
+
+ steps:
+ - uses: actions/checkout@v2
+ - name: Use Node.js ${{ matrix.node-version }}
+ uses: actions/setup-node@v1
+ with:
+ node-version: ${{ matrix.node-version }}
+ - name: Install dependencies
+ run: |
+ yarn install
+ - name: Build
+ run: |
+ yarn workspace megalodon run build
+ - name: Typescript example
+ env:
+ MASTODON_URL: https://fedibird.com
+ PLEROMA_URL: https://pleroma.io
+ FIREFISH_URL: https://cybre.club
+ FRIENDICA_URL: https://squeet.me
+ run: |
+ yarn workspace example run build
+ node example/typescript/dist/mastodon/instance.js
+ node example/typescript/dist/pleroma/instance.js
+ node example/typescript/dist/firefish/instance.js
+ node example/typescript/dist/friendica/instance.js
+ browser:
+ runs-on: ubuntu-latest
+
+ strategy:
+ matrix:
+ node-version: [16.x, 18.x, 19.x]
+
+ steps:
+ - uses: actions/checkout@v2
+ - name: Use Node.js ${{ matrix.node-version }}
+ uses: actions/setup-node@v1
+ with:
+ node-version: ${{ matrix.node-version }}
+ - name: Install dependencies
+ run: |
+ yarn install
+ - name: Build
+ run: |
+ yarn workspace megalodon run build
+ - name: Browser example
+ run: |
+ yarn workspace browser run build
+
+ vite:
+ runs-on: ubuntu-latest
+
+ strategy:
+ matrix:
+ node-version: [16.x, 18.x, 19.x]
+
+ steps:
+ - uses: actions/checkout@v2
+ - name: Use Node.js ${{ matrix.node-version }}
+ uses: actions/setup-node@v1
+ with:
+ node-version: ${{ matrix.node-version }}
+ - name: Install dependencies
+ run: |
+ yarn install
+ - name: Build
+ run: |
+ yarn workspace megalodon run build
+ - name: Vite example
+ run: |
+ yarn workspace vite build
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 9c871007c..e9dd0434c 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -32,38 +32,3 @@ jobs:
- name: Testing
run: |
yarn workspace megalodon run test
-
- example:
- runs-on: ubuntu-latest
-
- strategy:
- matrix:
- node-version: [16.x, 18.x, 19.x]
-
- steps:
- - uses: actions/checkout@v2
- - name: Use Node.js ${{ matrix.node-version }}
- uses: actions/setup-node@v1
- with:
- node-version: ${{ matrix.node-version }}
- - name: Install dependencies
- run: |
- yarn install
- - name: Build
- run: |
- yarn workspace megalodon run build
- - name: Browser example
- run: |
- yarn workspace browser run build
- - name: Typescript example
- env:
- MASTODON_URL: https://fedibird.com
- PLEROMA_URL: https://pleroma.io
- FIREFISH_URL: https://cybre.club
- FRIENDICA_URL: https://squeet.me
- run: |
- yarn workspace example run build
- node example/typescript/dist/mastodon/instance.js
- node example/typescript/dist/pleroma/instance.js
- node example/typescript/dist/firefish/instance.js
- node example/typescript/dist/friendica/instance.js
From 6aa9ab2a7db91791cdc1860a01d5ed53c5819878 Mon Sep 17 00:00:00 2001
From: AkiraFukushima
Date: Sun, 8 Oct 2023 12:41:19 +0900
Subject: [PATCH 4/7] Fix index
---
megalodon/src/index.ts | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/megalodon/src/index.ts b/megalodon/src/index.ts
index d5276b807..2b4a4832b 100644
--- a/megalodon/src/index.ts
+++ b/megalodon/src/index.ts
@@ -1,15 +1,15 @@
-import Response from './response.js'
-import OAuth from './oauth.js'
-import { isCancel, RequestCanceledError } from './cancel.js'
-import { ProxyConfig } from './proxy_config.js'
-import generator, { MegalodonInterface, WebSocketInterface } from './megalodon.js'
-import { detector } from './detector.js'
-import Mastodon from './mastodon.js'
-import Pleroma from './pleroma.js'
-import Firefish from './firefish.js'
-import Entity from './entity.js'
-import NotificationType from './notification.js'
-import FilterContext from './filter_context.js'
+import Response from './response'
+import OAuth from './oauth'
+import { isCancel, RequestCanceledError } from './cancel'
+import { ProxyConfig } from './proxy_config'
+import generator, { MegalodonInterface, WebSocketInterface } from './megalodon'
+import { detector } from './detector'
+import Mastodon from './mastodon'
+import Pleroma from './pleroma'
+import Firefish from './firefish'
+import Entity from './entity'
+import NotificationType from './notification'
+import FilterContext from './filter_context'
export {
Response,
From bead2447d7496ef0bbe4de384c1cc70e707f2c4d Mon Sep 17 00:00:00 2001
From: AkiraFukushima
Date: Sun, 8 Oct 2023 13:44:20 +0900
Subject: [PATCH 5/7] Fix browser example
---
example/browser/index.html | 2 +-
example/browser/src/index.ts | 4 ++--
example/browser/tsconfig.json | 4 ++--
example/browser/webpack.config.js | 13 +++++++++++++
4 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/example/browser/index.html b/example/browser/index.html
index 3f5993e51..8bc3a44e8 100644
--- a/example/browser/index.html
+++ b/example/browser/index.html
@@ -4,7 +4,7 @@
Megalodon
-
+
diff --git a/example/browser/src/index.ts b/example/browser/src/index.ts
index 4a6ec726f..61ce734af 100644
--- a/example/browser/src/index.ts
+++ b/example/browser/src/index.ts
@@ -7,7 +7,7 @@ console.log('start')
const client = generator('mastodon', BASE_URL, ACCESS_TOKEN)
-const stream = client.localSocket()
+const stream = client.publicSocket()
stream.on('connect', () => {
console.log('connect')
})
@@ -52,4 +52,4 @@ setTimeout(() => {
stream.removeAllListeners()
stream.stop()
console.log('closed')
-}, 10000)
+}, 100000)
diff --git a/example/browser/tsconfig.json b/example/browser/tsconfig.json
index c3881cc78..df844c87f 100644
--- a/example/browser/tsconfig.json
+++ b/example/browser/tsconfig.json
@@ -1,8 +1,8 @@
{
"compilerOptions": {
/* Basic Options */
- "target": "es5", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */
- "module": "es2015", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
+ "target": "ES2020", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */
+ "module": "ESNext", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
"lib": ["esnext", "dom", "dom.iterable", "scripthost"], /* Specify library files to be included in the compilation. */
// "allowJs": true, /* Allow javascript files to be compiled. */
// "checkJs": true, /* Report errors in .js files. */
diff --git a/example/browser/webpack.config.js b/example/browser/webpack.config.js
index 4602a0061..77b354d06 100644
--- a/example/browser/webpack.config.js
+++ b/example/browser/webpack.config.js
@@ -10,6 +10,9 @@ module.exports = {
mode: 'development',
devtool: 'source-map',
resolve: {
+ extensionAlias: {
+ '.js': ['.ts', '.js']
+ },
extensions: ['.ts', '.js'],
fallback: {
net: false,
@@ -33,6 +36,16 @@ module.exports = {
{
test: /\.ts$/,
loader: 'ts-loader'
+ },
+ {
+ test: /\.m?js$/,
+ type: 'javascript/auto'
+ },
+ {
+ test: /\.m?js$/,
+ resolve: {
+ fullySpecified: false
+ }
}
]
},
From 2b8d395bb5787313fa4f09ff421c71a16471b8bc Mon Sep 17 00:00:00 2001
From: AkiraFukushima
Date: Mon, 9 Oct 2023 18:14:07 +0900
Subject: [PATCH 6/7] Use faux ESM instead of native ESM
---
example/browser/webpack.config.js | 13 -------------
megalodon/package.json | 20 +++-----------------
megalodon/tsconfig.mjs.json | 4 ++--
yarn.lock | 12 ------------
4 files changed, 5 insertions(+), 44 deletions(-)
diff --git a/example/browser/webpack.config.js b/example/browser/webpack.config.js
index 77b354d06..4602a0061 100644
--- a/example/browser/webpack.config.js
+++ b/example/browser/webpack.config.js
@@ -10,9 +10,6 @@ module.exports = {
mode: 'development',
devtool: 'source-map',
resolve: {
- extensionAlias: {
- '.js': ['.ts', '.js']
- },
extensions: ['.ts', '.js'],
fallback: {
net: false,
@@ -36,16 +33,6 @@ module.exports = {
{
test: /\.ts$/,
loader: 'ts-loader'
- },
- {
- test: /\.m?js$/,
- type: 'javascript/auto'
- },
- {
- test: /\.m?js$/,
- resolve: {
- fullySpecified: false
- }
}
]
},
diff --git a/megalodon/package.json b/megalodon/package.json
index a643fc15b..e7e6fe277 100644
--- a/megalodon/package.json
+++ b/megalodon/package.json
@@ -4,22 +4,9 @@
"description": "Mastodon API client for node.js and browser",
"main": "./lib/src/index.js",
"typings": "./lib/src/index.d.ts",
- "module": "./lib/mjs/src/index.js",
- "exports": {
- ".": {
- "import": {
- "types": "./lib/mjs/src/index.d.ts",
- "default": "./lib/mjs/src/index.js"
- },
- "require": {
- "types": "./lib/src/index.d.ts",
- "default": "./lib/src/index.js"
- },
- "default": "./lib/src/index.js"
- }
- },
+ "module": "./lib/esm/src/index.js",
"scripts": {
- "build": "tsc -p ./ && tsc -p tsconfig.mjs.json && tsconfig-to-dual-package",
+ "build": "tsc -p ./ && tsc -p tsconfig.mjs.json",
"lint": "eslint --ext .js,.ts src",
"doc": "typedoc --out ../docs ./src",
"test": "NODE_ENV=test jest -u --maxWorkers=3"
@@ -79,8 +66,7 @@
"typescript": "5.2.2",
"uuid": "^9.0.1",
"ws": "8.14.2",
- "isomorphic-ws": "^5.0.0",
- "tsconfig-to-dual-package": "^1.2.0"
+ "isomorphic-ws": "^5.0.0"
},
"devDependencies": {
"@types/core-js": "^2.5.6",
diff --git a/megalodon/tsconfig.mjs.json b/megalodon/tsconfig.mjs.json
index 8de6dedc0..17bf38982 100644
--- a/megalodon/tsconfig.mjs.json
+++ b/megalodon/tsconfig.mjs.json
@@ -1,7 +1,7 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
- "module": "ES2020",
- "outDir": "lib/mjs"
+ "module": "ESNext",
+ "outDir": "lib/esm"
}
}
diff --git a/yarn.lock b/yarn.lock
index e0fabeae2..0faccb0fa 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4483,11 +4483,6 @@ resolve-from@^5.0.0:
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
-resolve-tsconfig@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/resolve-tsconfig/-/resolve-tsconfig-1.3.0.tgz#1b82e3ae9a47d4ad45a048e55fa6272bab1b1adb"
- integrity sha512-Ba5mo3soshb2CnIcNFz75F/80H/2eMVxrlmdgoSDNH7Lr6UAoT3BvxNtc7+VXqKSBlC0SJk2qSXOTcy0/p7cFw==
-
resolve.exports@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.0.tgz#c1a0028c2d166ec2fbf7d0644584927e76e7400e"
@@ -4976,13 +4971,6 @@ ts-loader@^9.4.4:
micromatch "^4.0.0"
semver "^7.3.4"
-tsconfig-to-dual-package@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/tsconfig-to-dual-package/-/tsconfig-to-dual-package-1.2.0.tgz#c20e5950747a468850af301567e9dbb9347fe039"
- integrity sha512-UtMinqTLfWr9fX6KidLsEcCJoA/jSLPIS00ohpQybMSxA3LlJCRf2DsGPw4AJJ8AP4FOHfbQJFJ5XgLoL7RoLw==
- dependencies:
- resolve-tsconfig "^1.3.0"
-
tslib@^2.5.0, tslib@^2.6.0:
version "2.6.2"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae"
From a7832437fd106136df3bd7cc7c146e47e4ce4fc5 Mon Sep 17 00:00:00 2001
From: AkiraFukushima
Date: Mon, 9 Oct 2023 19:06:02 +0900
Subject: [PATCH 7/7] Rename example browser to webpack
---
.github/workflows/example.yml | 6 +++---
.github/workflows/reviewdog.yml | 4 ++--
.gitignore | 4 ++--
example/{browser => webpack}/README.md | 0
example/{browser => webpack}/docker-compose.yml | 0
example/{browser => webpack}/index.html | 0
example/{browser => webpack}/package.json | 2 +-
example/{browser => webpack}/src/index.ts | 0
example/{browser => webpack}/tsconfig.json | 0
example/{browser => webpack}/webpack.config.js | 0
package.json | 2 +-
11 files changed, 9 insertions(+), 9 deletions(-)
rename example/{browser => webpack}/README.md (100%)
rename example/{browser => webpack}/docker-compose.yml (100%)
rename example/{browser => webpack}/index.html (100%)
rename example/{browser => webpack}/package.json (97%)
rename example/{browser => webpack}/src/index.ts (100%)
rename example/{browser => webpack}/tsconfig.json (100%)
rename example/{browser => webpack}/webpack.config.js (100%)
diff --git a/.github/workflows/example.yml b/.github/workflows/example.yml
index e2e910127..68ad13dd1 100644
--- a/.github/workflows/example.yml
+++ b/.github/workflows/example.yml
@@ -41,7 +41,7 @@ jobs:
node example/typescript/dist/pleroma/instance.js
node example/typescript/dist/firefish/instance.js
node example/typescript/dist/friendica/instance.js
- browser:
+ webpack:
runs-on: ubuntu-latest
strategy:
@@ -60,9 +60,9 @@ jobs:
- name: Build
run: |
yarn workspace megalodon run build
- - name: Browser example
+ - name: Webpack example
run: |
- yarn workspace browser run build
+ yarn workspace webpack run build
vite:
runs-on: ubuntu-latest
diff --git a/.github/workflows/reviewdog.yml b/.github/workflows/reviewdog.yml
index 76e30ae55..d10c43450 100644
--- a/.github/workflows/reviewdog.yml
+++ b/.github/workflows/reviewdog.yml
@@ -33,8 +33,8 @@ jobs:
REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
yarn workspace example lint | reviewdog -f=eslint -reporter=github-pr-review -fail-on-error=true
- - name: example/browser eslint
+ - name: example/webpack eslint
env:
REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
- yarn workspace browser lint | reviewdog -f=eslint -reporter=github-pr-review -fail-on-error=true
+ yarn workspace webpack lint | reviewdog -f=eslint -reporter=github-pr-review -fail-on-error=true
diff --git a/.gitignore b/.gitignore
index 94cf5c4bc..148ae6af1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,7 @@
node_modules
lib
example/typescript/dist
-example/javascript/dist
-example/browser/dist
+example/webpack/dist
+example/vite/dist
docs/
.env
\ No newline at end of file
diff --git a/example/browser/README.md b/example/webpack/README.md
similarity index 100%
rename from example/browser/README.md
rename to example/webpack/README.md
diff --git a/example/browser/docker-compose.yml b/example/webpack/docker-compose.yml
similarity index 100%
rename from example/browser/docker-compose.yml
rename to example/webpack/docker-compose.yml
diff --git a/example/browser/index.html b/example/webpack/index.html
similarity index 100%
rename from example/browser/index.html
rename to example/webpack/index.html
diff --git a/example/browser/package.json b/example/webpack/package.json
similarity index 97%
rename from example/browser/package.json
rename to example/webpack/package.json
index 238498081..b15bd2646 100644
--- a/example/browser/package.json
+++ b/example/webpack/package.json
@@ -1,5 +1,5 @@
{
- "name": "browser",
+ "name": "webpack",
"version": "4.0.0",
"private": true,
"scripts": {
diff --git a/example/browser/src/index.ts b/example/webpack/src/index.ts
similarity index 100%
rename from example/browser/src/index.ts
rename to example/webpack/src/index.ts
diff --git a/example/browser/tsconfig.json b/example/webpack/tsconfig.json
similarity index 100%
rename from example/browser/tsconfig.json
rename to example/webpack/tsconfig.json
diff --git a/example/browser/webpack.config.js b/example/webpack/webpack.config.js
similarity index 100%
rename from example/browser/webpack.config.js
rename to example/webpack/webpack.config.js
diff --git a/package.json b/package.json
index 7c1dbbd94..7a1346ba8 100644
--- a/package.json
+++ b/package.json
@@ -3,7 +3,7 @@
"workspaces": [
"megalodon",
"example/typescript",
- "example/browser",
+ "example/webpack",
"example/vite"
]
}