From 2ea088aa0537c9cb000c3eb2328494961137c7a9 Mon Sep 17 00:00:00 2001 From: Yuta Kasai Date: Wed, 27 Mar 2024 21:41:29 +0900 Subject: [PATCH 01/24] 01 Stop reading package.json in code --- .github/workflows/release.yml | 3 +- .../api_test.pebble | 4 +- .../api/ChannelAccessTokenClientTest.spec.ts | 82 ++- lib/http-axios.ts | 5 +- lib/http-fetch.ts | 4 +- .../tests/api/InsightClientTest.spec.ts | 52 +- lib/liff/tests/api/LiffClientTest.spec.ts | 42 +- .../api/ManageAudienceBlobClientTest.spec.ts | 22 +- .../api/ManageAudienceClientTest.spec.ts | 112 +++- .../api/MessagingApiBlobClientTest.spec.ts | 52 +- .../tests/api/MessagingApiClientTest.spec.ts | 612 ++++++++++++++---- .../api/LineModuleAttachClientTest.spec.ts | 12 +- .../tests/api/LineModuleClientTest.spec.ts | 42 +- lib/shop/tests/api/ShopClientTest.spec.ts | 12 +- lib/version.ts | 2 + test/client.spec.ts | 6 +- test/http-axios.spec.ts | 13 +- test/http-fetch.spec.ts | 13 +- test/libs-channelAccessToken.spec.ts | 4 +- test/libs-manageAudience.spec.ts | 4 +- test/libs-messagingApi.spec.ts | 12 +- test/libs-shop.spec.ts | 4 +- 22 files changed, 853 insertions(+), 261 deletions(-) create mode 100644 lib/version.ts diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 48a9d8d75..763033fff 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,12 +14,13 @@ jobs: node-version: 18 registry-url: 'https://registry.npmjs.org' - run: npm install - - name: Update version in package.json, package-lock.json + - name: Update version in package.json, package-lock.json, and lib/version.ts run: | VERSION=${{ github.event.release.tag_name }} VERSION=${VERSION#v} sed -i "s/__LINE_BOT_SDK_NODEJS_VERSION__/$VERSION/g" package.json sed -i "s/__LINE_BOT_SDK_NODEJS_VERSION__/$VERSION/g" package-lock.json + sed -i "s/__LINE_BOT_SDK_NODEJS_VERSION__/$VERSION/g" lib/version.ts - run: npm run release env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/generator/src/main/resources/line-bot-sdk-nodejs-generator/api_test.pebble b/generator/src/main/resources/line-bot-sdk-nodejs-generator/api_test.pebble index 0b0ba2498..74005d494 100644 --- a/generator/src/main/resources/line-bot-sdk-nodejs-generator/api_test.pebble +++ b/generator/src/main/resources/line-bot-sdk-nodejs-generator/api_test.pebble @@ -10,8 +10,6 @@ import { {{import.classname}} } from '../{{import.filename}}'; import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; -const pkg = require("../../../../package.json"); - const channel_access_token = "test_channel_access_token"; {% macro paramDummyValue(param) %} @@ -73,7 +71,7 @@ const channel_access_token = "test_channel_access_token"; {% endif -%} equal( req.headers["user-agent"], - `${pkg.name}/${pkg.version}`, + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", ); {% if op.isMultipart %} ok( diff --git a/lib/channel-access-token/tests/api/ChannelAccessTokenClientTest.spec.ts b/lib/channel-access-token/tests/api/ChannelAccessTokenClientTest.spec.ts index 60e555bac..cd55897d2 100644 --- a/lib/channel-access-token/tests/api/ChannelAccessTokenClientTest.spec.ts +++ b/lib/channel-access-token/tests/api/ChannelAccessTokenClientTest.spec.ts @@ -10,8 +10,6 @@ import { VerifyChannelAccessTokenResponse } from "../../model/verifyChannelAcces import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; -const pkg = require("../../../../package.json"); - const channel_access_token = "test_channel_access_token"; describe("ChannelAccessTokenClient", () => { @@ -47,7 +45,10 @@ describe("ChannelAccessTokenClient", () => { ), ); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -110,7 +111,10 @@ describe("ChannelAccessTokenClient", () => { ), ); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -157,7 +161,10 @@ describe("ChannelAccessTokenClient", () => { .replace("{clientSecret}", "DUMMY"), // string ); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -207,7 +214,10 @@ describe("ChannelAccessTokenClient", () => { .replace("{clientSecret}", "DUMMY"), // string ); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -257,7 +267,10 @@ describe("ChannelAccessTokenClient", () => { .replace("{clientAssertion}", "DUMMY"), // string ); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -307,7 +320,10 @@ describe("ChannelAccessTokenClient", () => { .replace("{clientAssertion}", "DUMMY"), // string ); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -359,7 +375,10 @@ describe("ChannelAccessTokenClient", () => { .replace("{clientSecret}", "DUMMY"), // string ); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -417,7 +436,10 @@ describe("ChannelAccessTokenClient", () => { .replace("{clientSecret}", "DUMMY"), // string ); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -470,7 +492,10 @@ describe("ChannelAccessTokenClient", () => { "/v2/oauth/revoke".replace("{accessToken}", "DUMMY"), // string ); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -511,7 +536,10 @@ describe("ChannelAccessTokenClient", () => { "/v2/oauth/revoke".replace("{accessToken}", "DUMMY"), // string ); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -555,7 +583,10 @@ describe("ChannelAccessTokenClient", () => { .replace("{accessToken}", "DUMMY"), // string ); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -605,7 +636,10 @@ describe("ChannelAccessTokenClient", () => { .replace("{accessToken}", "DUMMY"), // string ); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -652,7 +686,10 @@ describe("ChannelAccessTokenClient", () => { "/v2/oauth/verify".replace("{accessToken}", "DUMMY"), // string ); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -693,7 +730,10 @@ describe("ChannelAccessTokenClient", () => { "/v2/oauth/verify".replace("{accessToken}", "DUMMY"), // string ); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -744,7 +784,10 @@ describe("ChannelAccessTokenClient", () => { ), ); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -795,7 +838,10 @@ describe("ChannelAccessTokenClient", () => { ), ); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); diff --git a/lib/http-axios.ts b/lib/http-axios.ts index 9a3f8a5d7..aa6176f78 100644 --- a/lib/http-axios.ts +++ b/lib/http-axios.ts @@ -6,8 +6,7 @@ import axios, { } from "axios"; import { Readable } from "node:stream"; import { HTTPError, ReadError, RequestError } from "./exceptions"; - -const pkg = require("../package.json"); +import { USER_AGENT } from "./version"; interface httpClientConfig extends Partial { baseURL?: string; @@ -25,7 +24,7 @@ export default class HTTPClient { this.instance = axios.create({ baseURL, headers: Object.assign({}, defaultHeaders, { - "User-Agent": `${pkg.name}/${pkg.version}`, + "User-Agent": USER_AGENT, }), }); diff --git a/lib/http-fetch.ts b/lib/http-fetch.ts index ab290800e..9e731ed99 100644 --- a/lib/http-fetch.ts +++ b/lib/http-fetch.ts @@ -1,7 +1,7 @@ import { Readable } from "node:stream"; import { HTTPFetchError } from "./exceptions"; +import { USER_AGENT } from "./version"; -const pkg = require("../package.json"); export interface FetchRequestConfig { headers?: Record; } @@ -32,7 +32,7 @@ export default class HTTPFetchClient { constructor(config: httpFetchClientConfig) { this.baseURL = config.baseURL; this.defaultHeaders = { - "User-Agent": `${pkg.name}/${pkg.version}`, + "User-Agent": USER_AGENT, ...config.defaultHeaders, }; } diff --git a/lib/insight/tests/api/InsightClientTest.spec.ts b/lib/insight/tests/api/InsightClientTest.spec.ts index c4d9f00c8..920c04a63 100644 --- a/lib/insight/tests/api/InsightClientTest.spec.ts +++ b/lib/insight/tests/api/InsightClientTest.spec.ts @@ -9,8 +9,6 @@ import { GetStatisticsPerUnitResponse } from "../../model/getStatisticsPerUnitRe import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; -const pkg = require("../../../../package.json"); - const channel_access_token = "test_channel_access_token"; describe("InsightClient", () => { @@ -25,7 +23,10 @@ describe("InsightClient", () => { equal(reqUrl.pathname, "/v2/bot/insight/demographic"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -62,7 +63,10 @@ describe("InsightClient", () => { equal(reqUrl.pathname, "/v2/bot/insight/demographic"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -112,7 +116,10 @@ describe("InsightClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -165,7 +172,10 @@ describe("InsightClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -218,7 +228,10 @@ describe("InsightClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -271,7 +284,10 @@ describe("InsightClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -324,7 +340,10 @@ describe("InsightClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -377,7 +396,10 @@ describe("InsightClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -447,7 +469,10 @@ describe("InsightClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -523,7 +548,10 @@ describe("InsightClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); diff --git a/lib/liff/tests/api/LiffClientTest.spec.ts b/lib/liff/tests/api/LiffClientTest.spec.ts index 2593dd9ee..192bc6952 100644 --- a/lib/liff/tests/api/LiffClientTest.spec.ts +++ b/lib/liff/tests/api/LiffClientTest.spec.ts @@ -8,8 +8,6 @@ import { UpdateLiffAppRequest } from "../../model/updateLiffAppRequest"; import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; -const pkg = require("../../../../package.json"); - const channel_access_token = "test_channel_access_token"; describe("LiffClient", () => { @@ -24,7 +22,10 @@ describe("LiffClient", () => { equal(reqUrl.pathname, "/liff/v1/apps"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -64,7 +65,10 @@ describe("LiffClient", () => { equal(reqUrl.pathname, "/liff/v1/apps"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -107,7 +111,10 @@ describe("LiffClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -150,7 +157,10 @@ describe("LiffClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -190,7 +200,10 @@ describe("LiffClient", () => { equal(reqUrl.pathname, "/liff/v1/apps"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -227,7 +240,10 @@ describe("LiffClient", () => { equal(reqUrl.pathname, "/liff/v1/apps"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -267,7 +283,10 @@ describe("LiffClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -313,7 +332,10 @@ describe("LiffClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); diff --git a/lib/manage-audience/tests/api/ManageAudienceBlobClientTest.spec.ts b/lib/manage-audience/tests/api/ManageAudienceBlobClientTest.spec.ts index ebf6cad8f..05bd67a7f 100644 --- a/lib/manage-audience/tests/api/ManageAudienceBlobClientTest.spec.ts +++ b/lib/manage-audience/tests/api/ManageAudienceBlobClientTest.spec.ts @@ -5,8 +5,6 @@ import { CreateAudienceGroupResponse } from "../../model/createAudienceGroupResp import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; -const pkg = require("../../../../package.json"); - const channel_access_token = "test_channel_access_token"; describe("ManageAudienceBlobClient", () => { @@ -26,7 +24,10 @@ describe("ManageAudienceBlobClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); ok( req.headers["content-type"].startsWith( @@ -83,7 +84,10 @@ describe("ManageAudienceBlobClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); ok( req.headers["content-type"].startsWith( @@ -140,7 +144,10 @@ describe("ManageAudienceBlobClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); ok( req.headers["content-type"].startsWith( @@ -200,7 +207,10 @@ describe("ManageAudienceBlobClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); ok( req.headers["content-type"].startsWith( diff --git a/lib/manage-audience/tests/api/ManageAudienceClientTest.spec.ts b/lib/manage-audience/tests/api/ManageAudienceClientTest.spec.ts index 52139b855..c42077d8a 100644 --- a/lib/manage-audience/tests/api/ManageAudienceClientTest.spec.ts +++ b/lib/manage-audience/tests/api/ManageAudienceClientTest.spec.ts @@ -19,8 +19,6 @@ import { UpdateAudienceGroupDescriptionRequest } from "../../model/updateAudienc import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; -const pkg = require("../../../../package.json"); - const channel_access_token = "test_channel_access_token"; describe("ManageAudienceClient", () => { @@ -41,7 +39,10 @@ describe("ManageAudienceClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -87,7 +88,10 @@ describe("ManageAudienceClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -127,7 +131,10 @@ describe("ManageAudienceClient", () => { equal(reqUrl.pathname, "/v2/bot/audienceGroup/upload"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -167,7 +174,10 @@ describe("ManageAudienceClient", () => { equal(reqUrl.pathname, "/v2/bot/audienceGroup/upload"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -207,7 +217,10 @@ describe("ManageAudienceClient", () => { equal(reqUrl.pathname, "/v2/bot/audienceGroup/upload"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -247,7 +260,10 @@ describe("ManageAudienceClient", () => { equal(reqUrl.pathname, "/v2/bot/audienceGroup/upload"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -287,7 +303,10 @@ describe("ManageAudienceClient", () => { equal(reqUrl.pathname, "/v2/bot/audienceGroup/click"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -327,7 +346,10 @@ describe("ManageAudienceClient", () => { equal(reqUrl.pathname, "/v2/bot/audienceGroup/click"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -367,7 +389,10 @@ describe("ManageAudienceClient", () => { equal(reqUrl.pathname, "/v2/bot/audienceGroup/imp"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -407,7 +432,10 @@ describe("ManageAudienceClient", () => { equal(reqUrl.pathname, "/v2/bot/audienceGroup/imp"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -453,7 +481,10 @@ describe("ManageAudienceClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -499,7 +530,10 @@ describe("ManageAudienceClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -545,7 +579,10 @@ describe("ManageAudienceClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -591,7 +628,10 @@ describe("ManageAudienceClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -631,7 +671,10 @@ describe("ManageAudienceClient", () => { equal(reqUrl.pathname, "/v2/bot/audienceGroup/authorityLevel"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -668,7 +711,10 @@ describe("ManageAudienceClient", () => { equal(reqUrl.pathname, "/v2/bot/audienceGroup/authorityLevel"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -756,7 +802,10 @@ describe("ManageAudienceClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -862,7 +911,10 @@ describe("ManageAudienceClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -917,7 +969,10 @@ describe("ManageAudienceClient", () => { equal(reqUrl.pathname, "/v2/bot/audienceGroup/authorityLevel"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -957,7 +1012,10 @@ describe("ManageAudienceClient", () => { equal(reqUrl.pathname, "/v2/bot/audienceGroup/authorityLevel"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -1003,7 +1061,10 @@ describe("ManageAudienceClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -1052,7 +1113,10 @@ describe("ManageAudienceClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); diff --git a/lib/messaging-api/tests/api/MessagingApiBlobClientTest.spec.ts b/lib/messaging-api/tests/api/MessagingApiBlobClientTest.spec.ts index dc9759328..d1ac1d4dc 100644 --- a/lib/messaging-api/tests/api/MessagingApiBlobClientTest.spec.ts +++ b/lib/messaging-api/tests/api/MessagingApiBlobClientTest.spec.ts @@ -5,8 +5,6 @@ import { GetMessageContentTranscodingResponse } from "../../model/getMessageCont import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; -const pkg = require("../../../../package.json"); - const channel_access_token = "test_channel_access_token"; describe("MessagingApiBlobClient", () => { @@ -24,7 +22,10 @@ describe("MessagingApiBlobClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -67,7 +68,10 @@ describe("MessagingApiBlobClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -113,7 +117,10 @@ describe("MessagingApiBlobClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -159,7 +166,10 @@ describe("MessagingApiBlobClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -205,7 +215,10 @@ describe("MessagingApiBlobClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -252,7 +265,10 @@ describe("MessagingApiBlobClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -298,7 +314,10 @@ describe("MessagingApiBlobClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -344,7 +363,10 @@ describe("MessagingApiBlobClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -390,7 +412,10 @@ describe("MessagingApiBlobClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -439,7 +464,10 @@ describe("MessagingApiBlobClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); diff --git a/lib/messaging-api/tests/api/MessagingApiClientTest.spec.ts b/lib/messaging-api/tests/api/MessagingApiClientTest.spec.ts index 7bcc5b1ab..fb7021cbc 100644 --- a/lib/messaging-api/tests/api/MessagingApiClientTest.spec.ts +++ b/lib/messaging-api/tests/api/MessagingApiClientTest.spec.ts @@ -48,8 +48,6 @@ import { ValidateMessageRequest } from "../../model/validateMessageRequest"; import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; -const pkg = require("../../../../package.json"); - const channel_access_token = "test_channel_access_token"; describe("MessagingApiClient", () => { @@ -64,7 +62,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/bot/ad/multicast/phone"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -104,7 +105,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/bot/ad/multicast/phone"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -147,7 +151,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -193,7 +200,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -236,7 +246,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/user/all/richmenu"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -273,7 +286,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/user/all/richmenu"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -310,7 +326,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/richmenu"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -350,7 +369,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/richmenu"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -390,7 +412,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/richmenu/alias"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -430,7 +455,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/richmenu/alias"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -473,7 +501,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -516,7 +547,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -562,7 +596,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -608,7 +645,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -661,7 +701,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -714,7 +757,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -776,7 +822,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -841,7 +890,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -884,7 +936,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/message/aggregation/info"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -921,7 +976,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/message/aggregation/info"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -958,7 +1016,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/info"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -995,7 +1056,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/info"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -1032,7 +1096,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/user/all/richmenu"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -1069,7 +1136,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/user/all/richmenu"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -1128,7 +1198,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -1193,7 +1266,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -1239,7 +1315,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -1282,7 +1361,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -1327,7 +1409,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -1375,7 +1460,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -1433,7 +1521,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -1491,7 +1582,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -1537,7 +1631,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -1580,7 +1677,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -1620,7 +1720,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/message/quota"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -1657,7 +1760,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/message/quota"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -1694,7 +1800,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/message/quota/consumption"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -1731,7 +1840,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/message/quota/consumption"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -1781,7 +1893,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -1834,7 +1949,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -1887,7 +2005,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -1940,7 +2061,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -1993,7 +2117,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -2046,7 +2173,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -2099,7 +2229,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -2152,7 +2285,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -2205,7 +2341,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -2258,7 +2397,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -2311,7 +2453,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -2364,7 +2509,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -2407,7 +2555,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -2450,7 +2601,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -2493,7 +2647,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -2536,7 +2693,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -2582,7 +2742,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -2628,7 +2791,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -2668,7 +2834,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/richmenu/alias/list"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -2705,7 +2874,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/richmenu/alias/list"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -2755,7 +2927,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -2808,7 +2983,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -2851,7 +3029,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -2894,7 +3075,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -2934,7 +3118,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/richmenu/list"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -2971,7 +3158,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/richmenu/list"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -3011,7 +3201,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -3054,7 +3247,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -3099,7 +3295,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -3147,7 +3346,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -3205,7 +3407,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -3263,7 +3468,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -3306,7 +3514,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/channel/webhook/endpoint"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -3343,7 +3554,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/channel/webhook/endpoint"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -3383,7 +3597,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -3426,7 +3643,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -3469,7 +3689,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -3512,7 +3735,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -3555,7 +3781,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -3598,7 +3827,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -3643,7 +3875,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -3691,7 +3926,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -3734,7 +3972,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/richmenu/bulk/link"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -3774,7 +4015,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/richmenu/bulk/link"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -3814,7 +4058,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/message/markAsRead"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -3854,7 +4101,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/message/markAsRead"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -3897,7 +4147,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -3943,7 +4196,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -3989,7 +4245,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -4035,7 +4294,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -4081,7 +4343,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -4127,7 +4392,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -4173,7 +4441,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -4219,7 +4490,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -4262,7 +4536,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/message/reply"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -4302,7 +4579,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/message/reply"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -4342,7 +4622,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/richmenu/batch"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -4382,7 +4665,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/richmenu/batch"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -4428,7 +4714,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -4474,7 +4763,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -4514,7 +4806,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/channel/webhook/endpoint"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -4554,7 +4849,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/channel/webhook/endpoint"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -4594,7 +4892,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/channel/webhook/test"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -4634,7 +4935,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/channel/webhook/test"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -4677,7 +4981,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -4720,7 +5027,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -4760,7 +5070,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/richmenu/bulk/unlink"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -4800,7 +5113,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/richmenu/bulk/unlink"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -4846,7 +5162,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -4895,7 +5214,10 @@ describe("MessagingApiClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -4938,7 +5260,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/message/validate/broadcast"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -4978,7 +5303,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/message/validate/broadcast"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -5018,7 +5346,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/message/validate/multicast"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -5058,7 +5389,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/message/validate/multicast"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -5098,7 +5432,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/message/validate/narrowcast"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -5138,7 +5475,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/message/validate/narrowcast"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -5178,7 +5518,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/message/validate/push"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -5218,7 +5561,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/message/validate/push"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -5258,7 +5604,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/message/validate/reply"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -5298,7 +5647,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/message/validate/reply"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -5338,7 +5690,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/richmenu/validate/batch"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -5378,7 +5733,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/richmenu/validate/batch"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -5418,7 +5776,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/richmenu/validate"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -5458,7 +5819,10 @@ describe("MessagingApiClient", () => { equal(reqUrl.pathname, "/v2/bot/richmenu/validate"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); diff --git a/lib/module-attach/tests/api/LineModuleAttachClientTest.spec.ts b/lib/module-attach/tests/api/LineModuleAttachClientTest.spec.ts index 0e39ab223..d7c9f0081 100644 --- a/lib/module-attach/tests/api/LineModuleAttachClientTest.spec.ts +++ b/lib/module-attach/tests/api/LineModuleAttachClientTest.spec.ts @@ -5,8 +5,6 @@ import { AttachModuleResponse } from "../../model/attachModuleResponse"; import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; -const pkg = require("../../../../package.json"); - const channel_access_token = "test_channel_access_token"; describe("LineModuleAttachClient", () => { @@ -34,7 +32,10 @@ describe("LineModuleAttachClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -114,7 +115,10 @@ describe("LineModuleAttachClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); diff --git a/lib/module/tests/api/LineModuleClientTest.spec.ts b/lib/module/tests/api/LineModuleClientTest.spec.ts index e1b30adee..9132ba8a4 100644 --- a/lib/module/tests/api/LineModuleClientTest.spec.ts +++ b/lib/module/tests/api/LineModuleClientTest.spec.ts @@ -7,8 +7,6 @@ import { GetModulesResponse } from "../../model/getModulesResponse"; import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; -const pkg = require("../../../../package.json"); - const channel_access_token = "test_channel_access_token"; describe("LineModuleClient", () => { @@ -26,7 +24,10 @@ describe("LineModuleClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -72,7 +73,10 @@ describe("LineModuleClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -115,7 +119,10 @@ describe("LineModuleClient", () => { equal(reqUrl.pathname, "/v2/bot/channel/detach"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -155,7 +162,10 @@ describe("LineModuleClient", () => { equal(reqUrl.pathname, "/v2/bot/channel/detach"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -217,7 +227,10 @@ describe("LineModuleClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -282,7 +295,10 @@ describe("LineModuleClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -328,7 +344,10 @@ describe("LineModuleClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -371,7 +390,10 @@ describe("LineModuleClient", () => { ); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); diff --git a/lib/shop/tests/api/ShopClientTest.spec.ts b/lib/shop/tests/api/ShopClientTest.spec.ts index abe05e6f3..957d5d229 100644 --- a/lib/shop/tests/api/ShopClientTest.spec.ts +++ b/lib/shop/tests/api/ShopClientTest.spec.ts @@ -5,8 +5,6 @@ import { MissionStickerRequest } from "../../model/missionStickerRequest"; import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; -const pkg = require("../../../../package.json"); - const channel_access_token = "test_channel_access_token"; describe("ShopClient", () => { @@ -21,7 +19,10 @@ describe("ShopClient", () => { equal(reqUrl.pathname, "/shop/v3/mission"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); @@ -61,7 +62,10 @@ describe("ShopClient", () => { equal(reqUrl.pathname, "/shop/v3/mission"); equal(req.headers["authorization"], `Bearer ${channel_access_token}`); - equal(req.headers["user-agent"], `${pkg.name}/${pkg.version}`); + equal( + req.headers["user-agent"], + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); res.writeHead(200, { "Content-Type": "application/json" }); res.end(JSON.stringify({})); diff --git a/lib/version.ts b/lib/version.ts new file mode 100644 index 000000000..07283cc65 --- /dev/null +++ b/lib/version.ts @@ -0,0 +1,2 @@ +const LINE_BOT_SDK_VERSION = "__LINE_BOT_SDK_NODEJS_VERSION__"; +export const USER_AGENT = `@line/bot-sdk/${LINE_BOT_SDK_VERSION}`; diff --git a/test/client.spec.ts b/test/client.spec.ts index 221e4be20..5c6a55ca5 100644 --- a/test/client.spec.ts +++ b/test/client.spec.ts @@ -14,8 +14,6 @@ import { OAUTH_BASE_PREFIX_V2_1, } from "../lib/endpoints"; -const pkg = require("../package.json"); - const channelAccessToken = "test_channel_access_token"; const client = new Client({ @@ -95,7 +93,7 @@ describe("client", () => { const interceptionOption: Record = { authorization: `Bearer ${channelAccessToken}`, - "User-Agent": `${pkg.name}/${pkg.version}`, + "User-Agent": "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", }; const mockGet = ( @@ -1355,7 +1353,7 @@ describe("oauth", () => { const interceptionOption: Record = { "content-type": "application/x-www-form-urlencoded", - "User-Agent": `${pkg.name}/${pkg.version}`, + "User-Agent": "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", }; it("issueAccessToken", async () => { const client_id = "test_client_id"; diff --git a/test/http-axios.spec.ts b/test/http-axios.spec.ts index ca8cf482c..27b0c94c7 100644 --- a/test/http-axios.spec.ts +++ b/test/http-axios.spec.ts @@ -8,7 +8,6 @@ import { createReadStream, readFileSync } from "node:fs"; import { join } from "node:path"; import * as fs from "node:fs"; -const pkg = require("../package.json"); const baseURL = "https://line.me"; describe("http", () => { const httpClient = new HTTPClient({ @@ -31,7 +30,7 @@ describe("http", () => { const interceptionOption: Record = { "test-header-key": "Test-Header-Value", - "User-Agent": `${pkg.name}/${pkg.version}`, + "User-Agent": "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", }; class MSWResult { @@ -265,7 +264,10 @@ describe("http", () => { server.use( http.get(baseURL + "/404", async ({ request, params, cookies }) => { scope.done(); - equal(request.headers.get("user-agent"), `${pkg.name}/${pkg.version}`); + equal( + request.headers.get("user-agent"), + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); return HttpResponse.json(404, { status: 404 }); }), ); @@ -285,7 +287,10 @@ describe("http", () => { server.use( http.get(baseURL + "/get", async ({ request }) => { scope.done(); - equal(request.headers.get("user-agent"), `${pkg.name}/${pkg.version}`); + equal( + request.headers.get("user-agent"), + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); return HttpResponse.json({}); }), ); diff --git a/test/http-fetch.spec.ts b/test/http-fetch.spec.ts index f14829252..42211b633 100644 --- a/test/http-fetch.spec.ts +++ b/test/http-fetch.spec.ts @@ -7,7 +7,6 @@ import { setupServer } from "msw/node"; import { join } from "node:path"; import * as fs from "node:fs"; -const pkg = require("../package.json"); const baseURL = "https://line.me"; describe("http(fetch)", () => { @@ -31,7 +30,7 @@ describe("http(fetch)", () => { const interceptionOption: Record = { "test-header-key": "Test-Header-Value", - "User-Agent": `${pkg.name}/${pkg.version}`, + "User-Agent": "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", }; class MSWResult { @@ -206,7 +205,10 @@ describe("http(fetch)", () => { server.use( http.get(baseURL + "/404", async ({ request, params, cookies }) => { scope.done(); - equal(request.headers.get("user-agent"), `${pkg.name}/${pkg.version}`); + equal( + request.headers.get("user-agent"), + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); return HttpResponse.json({ reason: "not found" }, { status: 404 }); }), ); @@ -228,7 +230,10 @@ describe("http(fetch)", () => { server.use( http.get(baseURL + "/get", async ({ request }) => { scope.done(); - equal(request.headers.get("user-agent"), `${pkg.name}/${pkg.version}`); + equal( + request.headers.get("user-agent"), + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", + ); return HttpResponse.json({}); }), ); diff --git a/test/libs-channelAccessToken.spec.ts b/test/libs-channelAccessToken.spec.ts index e12cf5b08..fad748919 100644 --- a/test/libs-channelAccessToken.spec.ts +++ b/test/libs-channelAccessToken.spec.ts @@ -3,8 +3,6 @@ import { http, HttpResponse } from "msw"; import { setupServer } from "msw/node"; import { deepEqual, equal } from "node:assert"; -const pkg = require("../package.json"); - const client = new channelAccessToken.ChannelAccessTokenClient({}); describe("channelAccessToken", () => { @@ -26,7 +24,7 @@ describe("channelAccessToken", () => { async ({ request, params, cookies }) => { equal( request.headers.get("User-Agent"), - `${pkg.name}/${pkg.version}`, + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", ); equal( request.headers.get("content-type"), diff --git a/test/libs-manageAudience.spec.ts b/test/libs-manageAudience.spec.ts index 1d9fa3aad..ffe782471 100644 --- a/test/libs-manageAudience.spec.ts +++ b/test/libs-manageAudience.spec.ts @@ -3,8 +3,6 @@ import { http, HttpResponse } from "msw"; import { setupServer } from "msw/node"; import { deepEqual, equal, match } from "node:assert"; -const pkg = require("../package.json"); - const channelAccessToken = "test_channel_access_token"; const client = new manageAudience.ManageAudienceClient({ @@ -41,7 +39,7 @@ describe("manageAudience", () => { ); equal( request.headers.get("User-Agent"), - `${pkg.name}/${pkg.version}`, + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", ); match( request.headers.get("content-type")!!, diff --git a/test/libs-messagingApi.spec.ts b/test/libs-messagingApi.spec.ts index eab38cb37..0fb1bada5 100644 --- a/test/libs-messagingApi.spec.ts +++ b/test/libs-messagingApi.spec.ts @@ -3,8 +3,6 @@ import { http, HttpResponse } from "msw"; import { setupServer } from "msw/node"; import { deepEqual, equal } from "node:assert"; -const pkg = require("../package.json"); - const channelAccessToken = "test_channel_access_token"; const client = new messagingApi.MessagingApiClient({ @@ -41,7 +39,7 @@ describe("messagingApi", () => { ); equal( request.headers.get("User-Agent"), - `${pkg.name}/${pkg.version}`, + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", ); equal(request.headers.get("content-type"), "image/jpeg"); equal(await request.text(), "GREAT_JPEG"); @@ -73,7 +71,7 @@ describe("messagingApi", () => { ); equal( request.headers.get("User-Agent"), - `${pkg.name}/${pkg.version}`, + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", ); equal(request.headers.get("content-type"), "application/json"); equal(request.headers.get("x-line-retry-key"), "KEYKEYKEYKEY"); @@ -104,7 +102,7 @@ describe("messagingApi", () => { ); equal( request.headers.get("User-Agent"), - `${pkg.name}/${pkg.version}`, + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", ); equal(request.headers.get("content-type"), "application/json"); equal(request.headers.get("x-line-retry-key"), undefined); @@ -135,7 +133,7 @@ describe("messagingApi", () => { ); equal( request.headers.get("User-Agent"), - `${pkg.name}/${pkg.version}`, + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", ); const url = new URL(request.url); @@ -172,7 +170,7 @@ describe("messagingApi", () => { ); equal( request.headers.get("User-Agent"), - `${pkg.name}/${pkg.version}`, + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", ); const url = new URL(request.url); diff --git a/test/libs-shop.spec.ts b/test/libs-shop.spec.ts index 2e423005e..ce1cacace 100644 --- a/test/libs-shop.spec.ts +++ b/test/libs-shop.spec.ts @@ -3,8 +3,6 @@ import { http, HttpResponse } from "msw"; import { setupServer } from "msw/node"; import { deepEqual, equal } from "node:assert"; -const pkg = require("../package.json"); - const channelAccessToken = "test_channel_access_token"; const client = new shop.ShopClient({ @@ -34,7 +32,7 @@ describe("shop", () => { ); equal( request.headers.get("User-Agent"), - `${pkg.name}/${pkg.version}`, + "@line/bot-sdk/__LINE_BOT_SDK_NODEJS_VERSION__", ); return HttpResponse.json({}); }, From 068c3a500f0d9c2a9d5bca35381f873e6305e73a Mon Sep 17 00:00:00 2001 From: Yuta Kasai Date: Sat, 30 Mar 2024 22:01:20 +0900 Subject: [PATCH 02/24] Use vitest instead of mocha --- .../line-bot-sdk-nodejs-generator/api_test.pebble | 2 ++ .../tests/api/ChannelAccessTokenClientTest.spec.ts | 2 ++ lib/insight/tests/api/InsightClientTest.spec.ts | 2 ++ lib/liff/tests/api/LiffClientTest.spec.ts | 2 ++ .../tests/api/ManageAudienceBlobClientTest.spec.ts | 2 ++ .../tests/api/ManageAudienceClientTest.spec.ts | 2 ++ .../tests/api/MessagingApiBlobClientTest.spec.ts | 2 ++ .../tests/api/MessagingApiClientTest.spec.ts | 2 ++ .../tests/api/LineModuleAttachClientTest.spec.ts | 2 ++ lib/module/tests/api/LineModuleClientTest.spec.ts | 2 ++ lib/shop/tests/api/ShopClientTest.spec.ts | 2 ++ package.json | 3 ++- test/client.spec.ts | 10 ++++++---- test/helpers/test-server.ts | 2 +- test/http-axios.spec.ts | 6 ++++-- test/http-fetch.spec.ts | 6 ++++-- test/libs-channelAccessToken.spec.ts | 6 ++++-- test/libs-manageAudience.spec.ts | 6 ++++-- test/libs-messagingApi.spec.ts | 6 ++++-- test/libs-shop.spec.ts | 6 ++++-- test/libs-webhook.spec.ts | 2 ++ test/middleware.spec.ts | 12 +++++++++--- test/utils.spec.ts | 2 ++ test/validate-signature.spec.ts | 2 ++ 24 files changed, 70 insertions(+), 21 deletions(-) diff --git a/generator/src/main/resources/line-bot-sdk-nodejs-generator/api_test.pebble b/generator/src/main/resources/line-bot-sdk-nodejs-generator/api_test.pebble index 74005d494..2c9d840dd 100644 --- a/generator/src/main/resources/line-bot-sdk-nodejs-generator/api_test.pebble +++ b/generator/src/main/resources/line-bot-sdk-nodejs-generator/api_test.pebble @@ -10,6 +10,8 @@ import { {{import.classname}} } from '../{{import.filename}}'; import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; +import { describe, it } from "vitest"; + const channel_access_token = "test_channel_access_token"; {% macro paramDummyValue(param) %} diff --git a/lib/channel-access-token/tests/api/ChannelAccessTokenClientTest.spec.ts b/lib/channel-access-token/tests/api/ChannelAccessTokenClientTest.spec.ts index cd55897d2..2df0f1a0e 100644 --- a/lib/channel-access-token/tests/api/ChannelAccessTokenClientTest.spec.ts +++ b/lib/channel-access-token/tests/api/ChannelAccessTokenClientTest.spec.ts @@ -10,6 +10,8 @@ import { VerifyChannelAccessTokenResponse } from "../../model/verifyChannelAcces import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; +import { describe, it } from "vitest"; + const channel_access_token = "test_channel_access_token"; describe("ChannelAccessTokenClient", () => { diff --git a/lib/insight/tests/api/InsightClientTest.spec.ts b/lib/insight/tests/api/InsightClientTest.spec.ts index 920c04a63..aba71b9f1 100644 --- a/lib/insight/tests/api/InsightClientTest.spec.ts +++ b/lib/insight/tests/api/InsightClientTest.spec.ts @@ -9,6 +9,8 @@ import { GetStatisticsPerUnitResponse } from "../../model/getStatisticsPerUnitRe import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; +import { describe, it } from "vitest"; + const channel_access_token = "test_channel_access_token"; describe("InsightClient", () => { diff --git a/lib/liff/tests/api/LiffClientTest.spec.ts b/lib/liff/tests/api/LiffClientTest.spec.ts index 192bc6952..f405dbf4d 100644 --- a/lib/liff/tests/api/LiffClientTest.spec.ts +++ b/lib/liff/tests/api/LiffClientTest.spec.ts @@ -8,6 +8,8 @@ import { UpdateLiffAppRequest } from "../../model/updateLiffAppRequest"; import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; +import { describe, it } from "vitest"; + const channel_access_token = "test_channel_access_token"; describe("LiffClient", () => { diff --git a/lib/manage-audience/tests/api/ManageAudienceBlobClientTest.spec.ts b/lib/manage-audience/tests/api/ManageAudienceBlobClientTest.spec.ts index 05bd67a7f..a949b33cc 100644 --- a/lib/manage-audience/tests/api/ManageAudienceBlobClientTest.spec.ts +++ b/lib/manage-audience/tests/api/ManageAudienceBlobClientTest.spec.ts @@ -5,6 +5,8 @@ import { CreateAudienceGroupResponse } from "../../model/createAudienceGroupResp import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; +import { describe, it } from "vitest"; + const channel_access_token = "test_channel_access_token"; describe("ManageAudienceBlobClient", () => { diff --git a/lib/manage-audience/tests/api/ManageAudienceClientTest.spec.ts b/lib/manage-audience/tests/api/ManageAudienceClientTest.spec.ts index c42077d8a..33cabd68e 100644 --- a/lib/manage-audience/tests/api/ManageAudienceClientTest.spec.ts +++ b/lib/manage-audience/tests/api/ManageAudienceClientTest.spec.ts @@ -19,6 +19,8 @@ import { UpdateAudienceGroupDescriptionRequest } from "../../model/updateAudienc import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; +import { describe, it } from "vitest"; + const channel_access_token = "test_channel_access_token"; describe("ManageAudienceClient", () => { diff --git a/lib/messaging-api/tests/api/MessagingApiBlobClientTest.spec.ts b/lib/messaging-api/tests/api/MessagingApiBlobClientTest.spec.ts index d1ac1d4dc..4ac297663 100644 --- a/lib/messaging-api/tests/api/MessagingApiBlobClientTest.spec.ts +++ b/lib/messaging-api/tests/api/MessagingApiBlobClientTest.spec.ts @@ -5,6 +5,8 @@ import { GetMessageContentTranscodingResponse } from "../../model/getMessageCont import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; +import { describe, it } from "vitest"; + const channel_access_token = "test_channel_access_token"; describe("MessagingApiBlobClient", () => { diff --git a/lib/messaging-api/tests/api/MessagingApiClientTest.spec.ts b/lib/messaging-api/tests/api/MessagingApiClientTest.spec.ts index fb7021cbc..915381f77 100644 --- a/lib/messaging-api/tests/api/MessagingApiClientTest.spec.ts +++ b/lib/messaging-api/tests/api/MessagingApiClientTest.spec.ts @@ -48,6 +48,8 @@ import { ValidateMessageRequest } from "../../model/validateMessageRequest"; import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; +import { describe, it } from "vitest"; + const channel_access_token = "test_channel_access_token"; describe("MessagingApiClient", () => { diff --git a/lib/module-attach/tests/api/LineModuleAttachClientTest.spec.ts b/lib/module-attach/tests/api/LineModuleAttachClientTest.spec.ts index d7c9f0081..fabbc3154 100644 --- a/lib/module-attach/tests/api/LineModuleAttachClientTest.spec.ts +++ b/lib/module-attach/tests/api/LineModuleAttachClientTest.spec.ts @@ -5,6 +5,8 @@ import { AttachModuleResponse } from "../../model/attachModuleResponse"; import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; +import { describe, it } from "vitest"; + const channel_access_token = "test_channel_access_token"; describe("LineModuleAttachClient", () => { diff --git a/lib/module/tests/api/LineModuleClientTest.spec.ts b/lib/module/tests/api/LineModuleClientTest.spec.ts index 9132ba8a4..9a1a4e905 100644 --- a/lib/module/tests/api/LineModuleClientTest.spec.ts +++ b/lib/module/tests/api/LineModuleClientTest.spec.ts @@ -7,6 +7,8 @@ import { GetModulesResponse } from "../../model/getModulesResponse"; import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; +import { describe, it } from "vitest"; + const channel_access_token = "test_channel_access_token"; describe("LineModuleClient", () => { diff --git a/lib/shop/tests/api/ShopClientTest.spec.ts b/lib/shop/tests/api/ShopClientTest.spec.ts index 957d5d229..ddde30741 100644 --- a/lib/shop/tests/api/ShopClientTest.spec.ts +++ b/lib/shop/tests/api/ShopClientTest.spec.ts @@ -5,6 +5,8 @@ import { MissionStickerRequest } from "../../model/missionStickerRequest"; import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; +import { describe, it } from "vitest"; + const channel_access_token = "test_channel_access_token"; describe("ShopClient", () => { diff --git a/package.json b/package.json index d8358846f..05693b81a 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,8 @@ "typedoc": "^0.25.1", "typedoc-plugin-markdown": "^3.16.0", "typescript": "5.4.3", - "vitepress": "^1.0.1" + "vitepress": "^1.0.1", + "vitest": "^1.4.0" }, "husky": { "hooks": { diff --git a/test/client.spec.ts b/test/client.spec.ts index 5c6a55ca5..d08ff2565 100644 --- a/test/client.spec.ts +++ b/test/client.spec.ts @@ -14,6 +14,8 @@ import { OAUTH_BASE_PREFIX_V2_1, } from "../lib/endpoints"; +import { describe, it, beforeAll, afterAll, afterEach } from "vitest"; + const channelAccessToken = "test_channel_access_token"; const client = new Client({ @@ -56,10 +58,10 @@ const checkInterceptionOption = ( describe("client", () => { const server = setupServer(); - before(() => { + beforeAll(() => { server.listen(); }); - after(() => { + afterAll(() => { server.close(); }); afterEach(() => { @@ -1341,10 +1343,10 @@ describe("client", () => { const oauth = new OAuth(); describe("oauth", () => { const server = setupServer(); - before(() => { + beforeAll(() => { server.listen(); }); - after(() => { + afterAll(() => { server.close(); }); afterEach(() => { diff --git a/test/helpers/test-server.ts b/test/helpers/test-server.ts index 234e0d1d0..c6d0f1dd7 100644 --- a/test/helpers/test-server.ts +++ b/test/helpers/test-server.ts @@ -1,5 +1,5 @@ import * as bodyParser from "body-parser"; -import * as express from "express"; +import express from "express"; import { Server } from "node:http"; import { join } from "node:path"; import { writeFileSync } from "node:fs"; diff --git a/test/http-axios.spec.ts b/test/http-axios.spec.ts index 27b0c94c7..7560df0d3 100644 --- a/test/http-axios.spec.ts +++ b/test/http-axios.spec.ts @@ -8,6 +8,8 @@ import { createReadStream, readFileSync } from "node:fs"; import { join } from "node:path"; import * as fs from "node:fs"; +import { describe, it, beforeAll, afterAll, afterEach } from "vitest"; + const baseURL = "https://line.me"; describe("http", () => { const httpClient = new HTTPClient({ @@ -18,10 +20,10 @@ describe("http", () => { }); const server = setupServer(); - before(() => { + beforeAll(() => { server.listen(); }); - after(() => { + afterAll(() => { server.close(); }); afterEach(() => { diff --git a/test/http-fetch.spec.ts b/test/http-fetch.spec.ts index 42211b633..5e539d686 100644 --- a/test/http-fetch.spec.ts +++ b/test/http-fetch.spec.ts @@ -7,6 +7,8 @@ import { setupServer } from "msw/node"; import { join } from "node:path"; import * as fs from "node:fs"; +import { describe, it, beforeAll, afterAll, afterEach } from "vitest"; + const baseURL = "https://line.me"; describe("http(fetch)", () => { @@ -18,10 +20,10 @@ describe("http(fetch)", () => { }); const server = setupServer(); - before(() => { + beforeAll(() => { server.listen(); }); - after(() => { + afterAll(() => { server.close(); }); afterEach(() => { diff --git a/test/libs-channelAccessToken.spec.ts b/test/libs-channelAccessToken.spec.ts index fad748919..433176a29 100644 --- a/test/libs-channelAccessToken.spec.ts +++ b/test/libs-channelAccessToken.spec.ts @@ -3,14 +3,16 @@ import { http, HttpResponse } from "msw"; import { setupServer } from "msw/node"; import { deepEqual, equal } from "node:assert"; +import { describe, it, beforeAll, afterAll, afterEach } from "vitest"; + const client = new channelAccessToken.ChannelAccessTokenClient({}); describe("channelAccessToken", () => { const server = setupServer(); - before(() => { + beforeAll(() => { server.listen(); }); - after(() => { + afterAll(() => { server.close(); }); afterEach(() => { diff --git a/test/libs-manageAudience.spec.ts b/test/libs-manageAudience.spec.ts index ffe782471..7832f23d8 100644 --- a/test/libs-manageAudience.spec.ts +++ b/test/libs-manageAudience.spec.ts @@ -3,6 +3,8 @@ import { http, HttpResponse } from "msw"; import { setupServer } from "msw/node"; import { deepEqual, equal, match } from "node:assert"; +import { describe, it, beforeAll, afterAll, afterEach } from "vitest"; + const channelAccessToken = "test_channel_access_token"; const client = new manageAudience.ManageAudienceClient({ @@ -15,10 +17,10 @@ const blobClient = new manageAudience.ManageAudienceBlobClient({ describe("manageAudience", () => { const server = setupServer(); - before(() => { + beforeAll(() => { server.listen(); }); - after(() => { + afterAll(() => { server.close(); }); afterEach(() => { diff --git a/test/libs-messagingApi.spec.ts b/test/libs-messagingApi.spec.ts index 0fb1bada5..ab588be60 100644 --- a/test/libs-messagingApi.spec.ts +++ b/test/libs-messagingApi.spec.ts @@ -3,6 +3,8 @@ import { http, HttpResponse } from "msw"; import { setupServer } from "msw/node"; import { deepEqual, equal } from "node:assert"; +import { describe, it, beforeAll, afterAll, afterEach } from "vitest"; + const channelAccessToken = "test_channel_access_token"; const client = new messagingApi.MessagingApiClient({ @@ -15,10 +17,10 @@ const blobClient = new messagingApi.MessagingApiBlobClient({ describe("messagingApi", () => { const server = setupServer(); - before(() => { + beforeAll(() => { server.listen(); }); - after(() => { + afterAll(() => { server.close(); }); afterEach(() => { diff --git a/test/libs-shop.spec.ts b/test/libs-shop.spec.ts index ce1cacace..839b30bf9 100644 --- a/test/libs-shop.spec.ts +++ b/test/libs-shop.spec.ts @@ -3,6 +3,8 @@ import { http, HttpResponse } from "msw"; import { setupServer } from "msw/node"; import { deepEqual, equal } from "node:assert"; +import { describe, it, beforeAll, afterAll, afterEach } from "vitest"; + const channelAccessToken = "test_channel_access_token"; const client = new shop.ShopClient({ @@ -11,10 +13,10 @@ const client = new shop.ShopClient({ describe("shop", () => { const server = setupServer(); - before(() => { + beforeAll(() => { server.listen(); }); - after(() => { + afterAll(() => { server.close(); }); afterEach(() => { diff --git a/test/libs-webhook.spec.ts b/test/libs-webhook.spec.ts index ff9467a12..49424e954 100644 --- a/test/libs-webhook.spec.ts +++ b/test/libs-webhook.spec.ts @@ -1,5 +1,7 @@ import { webhook } from "../lib"; +import { describe, it } from "vitest"; + describe("webhook", () => { it("event", async () => { const event: webhook.Event = { diff --git a/test/middleware.spec.ts b/test/middleware.spec.ts index 0a3f27d33..11da664de 100644 --- a/test/middleware.spec.ts +++ b/test/middleware.spec.ts @@ -7,6 +7,8 @@ import middleware from "../lib/middleware"; import * as Types from "../lib/types"; import { close, listen } from "./helpers/test-server"; +import { describe, it, beforeAll, afterAll, afterEach } from "vitest"; + const TEST_PORT = parseInt(process.env.TEST_PORT || "1234", 10); const m = middleware({ channelSecret: "test_channel_secret" }); @@ -48,8 +50,12 @@ describe("middleware test", () => { defaultHeaders: headers, }); - before(() => listen(TEST_PORT, m)); - after(() => close()); + beforeAll(() => { + listen(TEST_PORT, m); + }); + afterAll(() => { + close(); + }); describe("Succeeds on parsing valid request", () => { const testCases = [ @@ -84,7 +90,7 @@ describe("middleware test", () => { const req = getRecentReq(); deepEqual(req.body.destination, DESTINATION); deepEqual(req.body.events, [webhook]); - }).timeout(6000); + }); }); }); diff --git a/test/utils.spec.ts b/test/utils.spec.ts index 0e6c690d2..04aa8fcbc 100644 --- a/test/utils.spec.ts +++ b/test/utils.spec.ts @@ -2,6 +2,8 @@ import { ensureJSON } from "../lib/utils"; import { JSONParseError } from "../lib/exceptions"; import { equal, ok } from "node:assert"; +import { describe, it } from "vitest"; + describe("utils", () => { describe("ensureJSON", () => { it("fails when input isn't an object", () => { diff --git a/test/validate-signature.spec.ts b/test/validate-signature.spec.ts index d830db82a..26f8878e9 100644 --- a/test/validate-signature.spec.ts +++ b/test/validate-signature.spec.ts @@ -1,6 +1,8 @@ import { ok } from "node:assert"; import validateSignature from "../lib/validate-signature"; +import { describe, it } from "vitest"; + const body = { hello: "world" }; const secret = "test_secret"; From e416768dd3c706186f47734ee3f1e6cdf4273117 Mon Sep 17 00:00:00 2001 From: Yuta Kasai Date: Sat, 30 Mar 2024 22:03:18 +0900 Subject: [PATCH 03/24] Add vite test config --- vite.config.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 vite.config.ts diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 000000000..33f068cbf --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,10 @@ +import { defineConfig } from 'vitest/config' + +export default defineConfig({ + test: { + include: [ + "test/**/*.spec.ts", + "lib/**/tests/**/*.spec.ts" + ] + }, +}) From 470fce687b416d9b24b93d972adc1509c1b5f135 Mon Sep 17 00:00:00 2001 From: Yuta Kasai Date: Sat, 30 Mar 2024 22:03:23 +0900 Subject: [PATCH 04/24] Drop mocha and nyc --- package.json | 30 ++++-------------------------- 1 file changed, 4 insertions(+), 26 deletions(-) diff --git a/package.json b/package.json index 05693b81a..a134f43fa 100644 --- a/package.json +++ b/package.json @@ -13,8 +13,8 @@ ], "scripts": { "pretest": "npm run format && npm run build", - "test": "TEST_PORT=1234 TS_NODE_CACHE=0 mocha --exit", - "covtest": "TEST_PORT=1234 TS_NODE_CACHE=0 nyc mocha --exit", + "test": "vitest run", + "covtest": "vitest run --coverage", "prettier": "prettier \"{lib,test}/**/*.ts\"", "format": "npm run prettier -- --write", "format:check": "npm run prettier -- -l", @@ -48,12 +48,11 @@ "@types/express": "4.17.21", "@types/finalhandler": "1.2.3", "@types/mocha": "10.0.6", + "@vitest/coverage-v8": "^1.4.0", "express": "4.19.2", "finalhandler": "1.2.0", "husky": "9.0.11", - "mocha": "10.4.0", - "msw": "2.2.13", - "nyc": "15.1.0", + "msw": "2.2.11", "prettier": "3.2.5", "ts-node": "10.9.2", "typedoc": "^0.25.1", @@ -68,26 +67,5 @@ "pre-push": "npm run format:check && npm run build && npm run test" } }, - "nyc": { - "require": [ - "ts-node/register" - ], - "extension": [ - ".ts" - ], - "reporter": [ - "lcov", - "text" - ], - "sourceMap": true, - "instrument": true - }, - "mocha": { - "require": "ts-node/register", - "spec": [ - "test/**/*.spec.ts", - "lib/**/tests/**/*.spec.ts" - ] - }, "license": "Apache-2.0" } From 7dc13c564001e8ae3f99509f1f44f756ac33a681 Mon Sep 17 00:00:00 2001 From: Yuta Kasai Date: Mon, 1 Apr 2024 11:35:45 +0900 Subject: [PATCH 05/24] 01-02 workaround for rollup and vitest --- package-lock.json | 3727 +++++++++++------------------ package.json | 4 +- scripts/workaround-for-rollup.mjs | 44 + 3 files changed, 1382 insertions(+), 2393 deletions(-) create mode 100644 scripts/workaround-for-rollup.mjs diff --git a/package-lock.json b/package-lock.json index e2d057904..e49c28475 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,18 +15,19 @@ "@types/express": "4.17.21", "@types/finalhandler": "1.2.3", "@types/mocha": "10.0.6", + "@vitest/coverage-v8": "^1.4.0", "express": "4.19.2", "finalhandler": "1.2.0", "husky": "9.0.11", - "mocha": "10.4.0", - "msw": "2.2.13", - "nyc": "15.1.0", + "msw": "2.2.11", "prettier": "3.2.5", "ts-node": "10.9.2", "typedoc": "^0.25.1", "typedoc-plugin-markdown": "^3.16.0", "typescript": "5.4.3", - "vitepress": "^1.0.1" + "vite": "^5.2.7", + "vitepress": "^1.0.1", + "vitest": "^1.4.0" }, "engines": { "node": ">=18" @@ -209,672 +210,570 @@ "@algolia/requester-common": "4.22.1" } }, - "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, "dependencies": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { - "node": ">=6.9.0" + "node": ">=6.0.0" } }, - "node_modules/@babel/code-frame/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/@ampproject/remapping/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@babel/code-frame/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/@babel/helper-string-parser": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", + "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==", "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" + "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true, "engines": { - "node": ">=0.8.0" + "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/@babel/parser": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.1.tgz", + "integrity": "sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==", "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, "engines": { - "node": ">=4" + "node": ">=6.0.0" } }, - "node_modules/@babel/code-frame/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/@babel/types": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", - "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", - "dev": true, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/core": { - "version": "7.15.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.5.tgz", - "integrity": "sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg==", + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "node_modules/@bundled-es-modules/cookie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@bundled-es-modules/cookie/-/cookie-2.0.0.tgz", + "integrity": "sha512-Or6YHg/kamKHpxULAdSqhGqnWFneIXu1NKvvfBBzKGwpVsYuFIQ5aBPHDnnoR3ghW1nvSkALd+EF9iMtY7Vjxw==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-compilation-targets": "^7.15.4", - "@babel/helper-module-transforms": "^7.15.4", - "@babel/helpers": "^7.15.4", - "@babel/parser": "^7.15.5", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" + "cookie": "^0.5.0" } }, - "node_modules/@babel/core/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "node_modules/@bundled-es-modules/statuses": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@bundled-es-modules/statuses/-/statuses-1.0.1.tgz", + "integrity": "sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==", "dev": true, "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "statuses": "^2.0.1" } }, - "node_modules/@babel/core/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, "dependencies": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" + "@jridgewell/trace-mapping": "0.3.9" }, "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/generator/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", - "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "node_modules/@docsearch/css": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.6.0.tgz", + "integrity": "sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==", + "dev": true + }, + "node_modules/@docsearch/js": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.6.0.tgz", + "integrity": "sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ==", "dev": true, "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "@docsearch/react": "3.6.0", + "preact": "^10.0.0" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", - "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", + "node_modules/@docsearch/react": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.6.0.tgz", + "integrity": "sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" + "@algolia/autocomplete-core": "1.9.3", + "@algolia/autocomplete-preset-algolia": "1.9.3", + "@docsearch/css": "3.6.0", + "algoliasearch": "^4.19.1" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@types/react": ">= 16.8.0 < 19.0.0", + "react": ">= 16.8.0 < 19.0.0", + "react-dom": ">= 16.8.0 < 19.0.0", + "search-insights": ">= 1 < 3" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "search-insights": { + "optional": true + } } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "node_modules/@esbuild/aix-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", + "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", + "cpu": [ + "ppc64" + ], "dev": true, + "optional": true, + "os": [ + "aix" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "node_modules/@esbuild/android-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", + "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "node_modules/@esbuild/android-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", + "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", - "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", + "node_modules/@esbuild/android-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", + "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.15.4" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-module-imports": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", - "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", + "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.15.4" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.4.tgz", - "integrity": "sha512-9fHHSGE9zTC++KuXLZcB5FKgvlV83Ox+NLUmQTawovwlJ85+QMhk1CnVk406CQVj97LaWod6KVjl2Sfgw9Aktw==", + "node_modules/@esbuild/darwin-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", + "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.15.4", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-simple-access": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/helper-validator-identifier": "^7.14.9", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", - "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", + "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.15.4" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", - "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", + "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", - "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", + "node_modules/@esbuild/linux-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", + "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.15.4" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "node_modules/@esbuild/linux-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", + "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "node_modules/@esbuild/linux-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", + "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", + "cpu": [ + "ia32" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "node_modules/@esbuild/linux-loong64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", + "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", + "cpu": [ + "loong64" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "node_modules/@esbuild/linux-mips64el": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", + "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", + "cpu": [ + "mips64el" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helpers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", - "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", + "node_modules/@esbuild/linux-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", + "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", + "cpu": [ + "ppc64" + ], "dev": true, - "dependencies": { - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "node_modules/@esbuild/linux-riscv64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", + "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", + "cpu": [ + "riscv64" + ], "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/@esbuild/linux-s390x": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", + "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", + "cpu": [ + "s390x" + ], "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/@esbuild/linux-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", + "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "node_modules/@esbuild/netbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", + "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "color-name": "1.1.3" + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/@esbuild/openbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", + "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", + "cpu": [ + "x64" + ], "dev": true, + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">=0.8.0" + "node": ">=12" } }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/@esbuild/sunos-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", + "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", + "cpu": [ + "x64" + ], "dev": true, + "optional": true, + "os": [ + "sunos" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/@esbuild/win32-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", + "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/parser": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.1.tgz", - "integrity": "sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==", + "node_modules/@esbuild/win32-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", + "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", + "cpu": [ + "ia32" + ], "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=6.0.0" + "node": ">=12" } }, - "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "node_modules/@esbuild/win32-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", + "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "node_modules/@inquirer/confirm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-3.0.0.tgz", + "integrity": "sha512-LHeuYP1D8NmQra1eR4UqvZMXwxEdDXyElJmmZfU44xdNLL6+GcQBS0uE16vyfZVjH8c22p9e+DStROfE/hyHrg==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" + "@inquirer/core": "^7.0.0", + "@inquirer/type": "^1.2.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=18" } }, - "node_modules/@babel/traverse/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "node_modules/@inquirer/core": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-7.0.0.tgz", + "integrity": "sha512-g13W5yEt9r1sEVVriffJqQ8GWy94OnfxLCreNSOTw0HPVcszmc/If1KIf7YBmlwtX4klmvwpZHnQpl3N7VX2xA==", "dev": true, "dependencies": { - "ms": "2.1.2" + "@inquirer/type": "^1.2.0", + "@types/mute-stream": "^0.0.4", + "@types/node": "^20.11.16", + "@types/wrap-ansi": "^3.0.0", + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "cli-spinners": "^2.9.2", + "cli-width": "^4.1.0", + "figures": "^3.2.0", + "mute-stream": "^1.0.0", + "run-async": "^3.0.0", + "signal-exit": "^4.1.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=18" } }, - "node_modules/@babel/traverse/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "node_modules/@inquirer/core/node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - }, "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@bundled-es-modules/cookie": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@bundled-es-modules/cookie/-/cookie-2.0.0.tgz", - "integrity": "sha512-Or6YHg/kamKHpxULAdSqhGqnWFneIXu1NKvvfBBzKGwpVsYuFIQ5aBPHDnnoR3ghW1nvSkALd+EF9iMtY7Vjxw==", - "dev": true, - "dependencies": { - "cookie": "^0.5.0" - } - }, - "node_modules/@bundled-es-modules/statuses": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@bundled-es-modules/statuses/-/statuses-1.0.1.tgz", - "integrity": "sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==", - "dev": true, - "dependencies": { - "statuses": "^2.0.1" - } - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@docsearch/css": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.6.0.tgz", - "integrity": "sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==", - "dev": true - }, - "node_modules/@docsearch/js": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.6.0.tgz", - "integrity": "sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ==", - "dev": true, - "dependencies": { - "@docsearch/react": "3.6.0", - "preact": "^10.0.0" - } - }, - "node_modules/@docsearch/react": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.6.0.tgz", - "integrity": "sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==", - "dev": true, - "dependencies": { - "@algolia/autocomplete-core": "1.9.3", - "@algolia/autocomplete-preset-algolia": "1.9.3", - "@docsearch/css": "3.6.0", - "algoliasearch": "^4.19.1" - }, - "peerDependencies": { - "@types/react": ">= 16.8.0 < 19.0.0", - "react": ">= 16.8.0 < 19.0.0", - "react-dom": ">= 16.8.0 < 19.0.0", - "search-insights": ">= 1 < 3" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "react": { - "optional": true - }, - "react-dom": { - "optional": true - }, - "search-insights": { - "optional": true - } - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", - "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@inquirer/confirm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-3.0.0.tgz", - "integrity": "sha512-LHeuYP1D8NmQra1eR4UqvZMXwxEdDXyElJmmZfU44xdNLL6+GcQBS0uE16vyfZVjH8c22p9e+DStROfE/hyHrg==", - "dev": true, - "dependencies": { - "@inquirer/core": "^7.0.0", - "@inquirer/type": "^1.2.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@inquirer/core": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-7.0.0.tgz", - "integrity": "sha512-g13W5yEt9r1sEVVriffJqQ8GWy94OnfxLCreNSOTw0HPVcszmc/If1KIf7YBmlwtX4klmvwpZHnQpl3N7VX2xA==", - "dev": true, - "dependencies": { - "@inquirer/type": "^1.2.0", - "@types/mute-stream": "^0.0.4", - "@types/node": "^20.11.16", - "@types/wrap-ansi": "^3.0.0", - "ansi-escapes": "^4.3.2", - "chalk": "^4.1.2", - "cli-spinners": "^2.9.2", - "cli-width": "^4.1.0", - "figures": "^3.2.0", - "mute-stream": "^1.0.0", - "run-async": "^3.0.0", - "signal-exit": "^4.1.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^6.2.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@inquirer/core/node_modules/cli-width": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", - "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", - "dev": true, - "engines": { - "node": ">= 12" + "node": ">= 12" } }, "node_modules/@inquirer/core/node_modules/mute-stream": { @@ -916,126 +815,49 @@ "node": ">=18" } }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, "engines": { "node": ">=8" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, "dependencies": { - "p-try": "^2.0.0" + "@sinclair/typebox": "^0.27.8" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "dependencies": { - "p-limit": "^2.2.0" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true, - "engines": { - "node": ">=8" + "node": ">=6.0.0" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "node_modules/@jridgewell/gen-mapping/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, "node_modules/@jridgewell/resolve-uri": { @@ -1048,9 +870,9 @@ } }, "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, "engines": { "node": ">=6.0.0" @@ -1094,9 +916,9 @@ } }, "node_modules/@mswjs/interceptors": { - "version": "0.26.14", - "resolved": "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.26.14.tgz", - "integrity": "sha512-q4S8RGjOUzv3A3gCawuKkUEcNJXjdPaSqoRHFvuZPWQnc7yOw702iGBRDMJoBK+l0KSv9XN8YP5ek6duRzrpqw==", + "version": "0.25.16", + "resolved": "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.25.16.tgz", + "integrity": "sha512-8QC8JyKztvoGAdPgyZy49c9vSHHAZjHagwl4RY9E8carULk8ym3iTaiawrT1YoLF/qb449h48f71XDPgkUSOUg==", "dev": true, "dependencies": { "@open-draft/deferred-promise": "^2.2.0", @@ -1325,6 +1147,12 @@ "@shikijs/core": "1.2.0" } }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, "node_modules/@tsconfig/node10": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", @@ -1413,6 +1241,12 @@ "@types/node": "*" } }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true + }, "node_modules/@types/linkify-it": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.3.tgz", @@ -1514,45 +1348,225 @@ "integrity": "sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==", "dev": true }, - "node_modules/@vue/compiler-core": { - "version": "3.4.21", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.21.tgz", - "integrity": "sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.23.9", - "@vue/shared": "3.4.21", - "entities": "^4.5.0", - "estree-walker": "^2.0.2", - "source-map-js": "^1.0.2" - } - }, - "node_modules/@vue/compiler-core/node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, - "engines": { - "node": ">=0.12" + "node_modules/@vitest/coverage-v8": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.4.0.tgz", + "integrity": "sha512-4hDGyH1SvKpgZnIByr9LhGgCEuF9DKM34IBLCC/fVfy24Z3+PZ+Ii9hsVBsHvY1umM1aGPEjceRkzxCfcQ10wg==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.1", + "@bcoe/v8-coverage": "^0.2.3", + "debug": "^4.3.4", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.4", + "istanbul-reports": "^3.1.6", + "magic-string": "^0.30.5", + "magicast": "^0.3.3", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "strip-literal": "^2.0.0", + "test-exclude": "^6.0.0", + "v8-to-istanbul": "^9.2.0" }, "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "vitest": "1.4.0" } }, - "node_modules/@vue/compiler-dom": { - "version": "3.4.21", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.21.tgz", - "integrity": "sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==", + "node_modules/@vitest/coverage-v8/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "dependencies": { - "@vue/compiler-core": "3.4.21", - "@vue/shared": "3.4.21" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@vue/compiler-sfc": { - "version": "3.4.21", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.21.tgz", - "integrity": "sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==", + "node_modules/@vitest/coverage-v8/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@vitest/coverage-v8/node_modules/istanbul-lib-source-maps": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.4.tgz", + "integrity": "sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@vitest/coverage-v8/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@vitest/expect": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.4.0.tgz", + "integrity": "sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==", + "dev": true, + "dependencies": { + "@vitest/spy": "1.4.0", + "@vitest/utils": "1.4.0", + "chai": "^4.3.10" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.4.0.tgz", + "integrity": "sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==", + "dev": true, + "dependencies": { + "@vitest/utils": "1.4.0", + "p-limit": "^5.0.0", + "pathe": "^1.1.1" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner/node_modules/p-limit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", + "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vitest/runner/node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vitest/snapshot": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.4.0.tgz", + "integrity": "sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==", + "dev": true, + "dependencies": { + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "pretty-format": "^29.7.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.4.0.tgz", + "integrity": "sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==", + "dev": true, + "dependencies": { + "tinyspy": "^2.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.4.0.tgz", + "integrity": "sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==", + "dev": true, + "dependencies": { + "diff-sequences": "^29.6.3", + "estree-walker": "^3.0.3", + "loupe": "^2.3.7", + "pretty-format": "^29.7.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.21.tgz", + "integrity": "sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.23.9", + "@vue/shared": "3.4.21", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-core/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.21.tgz", + "integrity": "sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==", + "dev": true, + "dependencies": { + "@vue/compiler-core": "3.4.21", + "@vue/shared": "3.4.21" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.21.tgz", + "integrity": "sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==", "dev": true, "dependencies": { "@babel/parser": "^7.23.9", @@ -1865,9 +1879,9 @@ } }, "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -1877,27 +1891,14 @@ } }, "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", "dev": true, "engines": { "node": ">=0.4.0" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/algoliasearch": { "version": "4.22.1", "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.22.1.tgz", @@ -1920,15 +1921,6 @@ "@algolia/transporter": "4.22.1" } }, - "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", @@ -1991,6 +1983,8 @@ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -1999,42 +1993,27 @@ "node": ">= 8" } }, - "node_modules/append-transform": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", - "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", - "dev": true, - "dependencies": { - "default-require-extensions": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", - "dev": true - }, "node_modules/arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", "dev": true }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", "dev": true }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -2063,6 +2042,8 @@ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -2130,6 +2111,8 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "fill-range": "^7.0.1" }, @@ -2137,44 +2120,6 @@ "node": ">=8" } }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "node_modules/browserslist": { - "version": "4.21.11", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.11.tgz", - "integrity": "sha512-xn1UXOKUz7DjdGlg9RrUr0GGiWzI97UQJnugHtH0OLDfJB7jMgoIkYvRIEO1l9EeEERVqeqLYOcFBW9ldjypbQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001538", - "electron-to-chromium": "^1.4.526", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.13" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -2192,17 +2137,11 @@ "node": ">= 0.8" } }, - "node_modules/caching-transform": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", - "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", "dev": true, - "dependencies": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" - }, "engines": { "node": ">=8" } @@ -2220,35 +2159,24 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "node_modules/chai": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", + "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", "dev": true, + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", + "pathval": "^1.1.1", + "type-detect": "^4.0.8" + }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001538", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001538.tgz", - "integrity": "sha512-HWJnhnID+0YMtGlzcp3T9drmBJUVDchPJ08tpUGFLs9CYlwWPH2uLgpHn8fND5pCgXVtnGS3H4QR9XLMHVNkHw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -2265,6 +2193,18 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/check-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "dev": true, + "dependencies": { + "get-func-name": "^2.0.2" + }, + "engines": { + "node": "*" + } + }, "node_modules/chokidar": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", @@ -2276,6 +2216,8 @@ "url": "https://paulmillr.com/funding/" } ], + "optional": true, + "peer": true, "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -2292,15 +2234,6 @@ "fsevents": "~2.3.2" } }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/cli-spinners": { "version": "2.9.2", "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", @@ -2313,34 +2246,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -2379,12 +2284,6 @@ "optional": true, "peer": true }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -2432,15 +2331,6 @@ "node": ">= 0.6" } }, - "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, "node_modules/cookie": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", @@ -2491,25 +2381,16 @@ "ms": "2.0.0" } }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-require-extensions": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", - "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", + "node_modules/deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", "dev": true, "dependencies": { - "strip-bom": "^4.0.0" + "type-detect": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=6" } }, "node_modules/delayed-stream": { @@ -2540,13 +2421,13 @@ "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, "engines": { - "node": ">=0.3.1" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/ee-first": { @@ -2555,12 +2436,6 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", "dev": true }, - "node_modules/electron-to-chromium": { - "version": "1.4.527", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.527.tgz", - "integrity": "sha512-EafxEiEDzk2aLrdbtVczylHflHdHkNrpGNHIgDyA63sUQLQVS2ayj2hPw3RsVB42qkwURH+T2OxV7kGPUuYszA==", - "dev": true - }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -2576,11 +2451,43 @@ "node": ">= 0.8" } }, - "node_modules/es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true + "node_modules/esbuild": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", + "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.20.2", + "@esbuild/android-arm": "0.20.2", + "@esbuild/android-arm64": "0.20.2", + "@esbuild/android-x64": "0.20.2", + "@esbuild/darwin-arm64": "0.20.2", + "@esbuild/darwin-x64": "0.20.2", + "@esbuild/freebsd-arm64": "0.20.2", + "@esbuild/freebsd-x64": "0.20.2", + "@esbuild/linux-arm": "0.20.2", + "@esbuild/linux-arm64": "0.20.2", + "@esbuild/linux-ia32": "0.20.2", + "@esbuild/linux-loong64": "0.20.2", + "@esbuild/linux-mips64el": "0.20.2", + "@esbuild/linux-ppc64": "0.20.2", + "@esbuild/linux-riscv64": "0.20.2", + "@esbuild/linux-s390x": "0.20.2", + "@esbuild/linux-x64": "0.20.2", + "@esbuild/netbsd-x64": "0.20.2", + "@esbuild/openbsd-x64": "0.20.2", + "@esbuild/sunos-x64": "0.20.2", + "@esbuild/win32-arm64": "0.20.2", + "@esbuild/win32-ia32": "0.20.2", + "@esbuild/win32-x64": "0.20.2" + } }, "node_modules/escalade": { "version": "3.1.1", @@ -2597,31 +2504,6 @@ "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", "dev": true }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", @@ -2637,6 +2519,53 @@ "node": ">= 0.6" } }, + "node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/execa/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/execa/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/express": { "version": "4.19.2", "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", @@ -2737,6 +2666,8 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "to-regex-range": "^5.0.1" }, @@ -2762,112 +2693,6 @@ "node": ">= 0.8" } }, - "node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/find-cache-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/find-cache-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir/node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, - "bin": { - "flat": "cli.js" - } - }, "node_modules/focus-trap": { "version": "7.5.4", "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.5.4.tgz", @@ -2897,19 +2722,6 @@ } } }, - "node_modules/foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/form-data": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", @@ -2942,26 +2754,6 @@ "node": ">= 0.6" } }, - "node_modules/fromentries": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -2988,15 +2780,6 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -3006,6 +2789,15 @@ "node": "6.* || 8.* || >= 10.*" } }, + "node_modules/get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/get-intrinsic": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", @@ -3020,13 +2812,16 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", "dev": true, "engines": { - "node": ">=8.0.0" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/glob": { @@ -3054,6 +2849,8 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -3061,21 +2858,6 @@ "node": ">= 6" } }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, "node_modules/graphql": { "version": "16.8.1", "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.1.tgz", @@ -3148,31 +2930,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", - "dev": true, - "dependencies": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "bin": { - "he": "bin/he" - } - }, "node_modules/headers-polyfill": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/headers-polyfill/-/headers-polyfill-4.0.2.tgz", @@ -3207,6 +2964,15 @@ "node": ">= 0.8" } }, + "node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "engines": { + "node": ">=16.17.0" + } + }, "node_modules/husky": { "version": "9.0.11", "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.11.tgz", @@ -3242,24 +3008,6 @@ "optional": true, "peer": true }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -3290,6 +3038,8 @@ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "binary-extensions": "^2.0.0" }, @@ -3302,6 +3052,8 @@ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=0.10.0" } @@ -3320,6 +3072,8 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -3338,49 +3092,12 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=0.12.0" } }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -3388,123 +3105,62 @@ "dev": true }, "node_modules/istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-hook": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", - "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", - "dev": true, - "dependencies": { - "append-transform": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "dev": true, - "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-processinfo": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", - "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, - "dependencies": { - "archy": "^1.0.0", - "cross-spawn": "^7.0.0", - "istanbul-lib-coverage": "^3.0.0-alpha.1", - "make-dir": "^3.0.0", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "uuid": "^3.3.3" - }, "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, "dependencies": { "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", + "make-dir": "^4.0.0", "supports-color": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/istanbul-lib-source-maps": { + "node_modules/istanbul-lib-report/node_modules/make-dir": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "semver": "^7.5.3" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/istanbul-lib-source-maps/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "node_modules/istanbul-lib-report/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, "dependencies": { - "ms": "2.1.2" + "lru-cache": "^6.0.0" }, - "engines": { - "node": ">=6.0" + "bin": { + "semver": "bin/semver.js" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/istanbul-lib-source-maps/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, "node_modules/istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, "dependencies": { "html-escaper": "^2.0.0", @@ -3514,89 +3170,47 @@ "node": ">=8" } }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json5": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.2.tgz", - "integrity": "sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/jsonc-parser": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", "dev": true }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "node_modules/local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", "dev": true, "dependencies": { - "p-locate": "^5.0.0" + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/antfu" } }, - "node_modules/lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", - "dev": true + "node_modules/loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "dev": true, + "dependencies": { + "get-func-name": "^2.0.1" + } }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "yallist": "^4.0.0" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/lunr": { @@ -3617,19 +3231,15 @@ "node": ">=12" } }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "node_modules/magicast": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.3.tgz", + "integrity": "sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==", "dev": true, "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@babel/parser": "^7.23.6", + "@babel/types": "^7.23.6", + "source-map-js": "^1.0.2" } }, "node_modules/make-error": { @@ -3671,6 +3281,12 @@ "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", "dev": true }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, "node_modules/methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -3713,6 +3329,18 @@ "node": ">= 0.6" } }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/minimatch": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", @@ -3746,123 +3374,16 @@ "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", "dev": true }, - "node_modules/mocha": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.4.0.tgz", - "integrity": "sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA==", - "dev": true, - "dependencies": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "8.1.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha.js" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/mocha/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/mocha/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/mocha/node_modules/debug/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/mocha/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/mocha/node_modules/minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mocha/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/mocha/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/mlly": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.6.1.tgz", + "integrity": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.0.3", + "ufo": "^1.3.2" } }, "node_modules/ms": { @@ -3872,9 +3393,9 @@ "dev": true }, "node_modules/msw": { - "version": "2.2.13", - "resolved": "https://registry.npmjs.org/msw/-/msw-2.2.13.tgz", - "integrity": "sha512-ljFf1xZsU0b4zv1l7xzEmC6OZA6yD06hcx0H+dc8V0VypaP3HGYJa1rMLjQbBWl32ptGhcfwcPCWDB1wjmsftw==", + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/msw/-/msw-2.2.11.tgz", + "integrity": "sha512-XtIoewF7XWLT0a39Ftkazt9PprBA1bxHZ4CSlomN74sCBJOJU2w5VwLmGlswwsOBhGoF7jovt6bxrSIESxA1KA==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -3882,7 +3403,7 @@ "@bundled-es-modules/statuses": "^1.0.1", "@inquirer/confirm": "^3.0.0", "@mswjs/cookies": "^1.1.0", - "@mswjs/interceptors": "^0.26.14", + "@mswjs/interceptors": "^0.25.16", "@open-draft/until": "^2.1.0", "@types/cookie": "^0.6.0", "@types/statuses": "^2.0.4", @@ -4014,200 +3535,63 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, - "node_modules/node-preload": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", - "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", - "dev": true, - "dependencies": { - "process-on-spawn": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", - "dev": true - }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/nyc": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", - "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", + "node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, "dependencies": { - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "caching-transform": "^4.0.0", - "convert-source-map": "^1.7.0", - "decamelize": "^1.2.0", - "find-cache-dir": "^3.2.0", - "find-up": "^4.1.0", - "foreground-child": "^2.0.0", - "get-package-type": "^0.1.0", - "glob": "^7.1.6", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "make-dir": "^3.0.0", - "node-preload": "^0.2.1", - "p-map": "^3.0.0", - "process-on-spawn": "^1.0.0", - "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", - "yargs": "^15.0.2" + "path-key": "^4.0.0" }, - "bin": { - "nyc": "bin/nyc.js" + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, "engines": { - "node": ">=8.9" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/nyc/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "node_modules/object-inspect": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/nyc/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "ee-first": "1.1.1" }, "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/nyc/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/object-inspect": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", - "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" + "node": ">= 0.8" } }, "node_modules/once": { @@ -4219,77 +3603,26 @@ "wrappy": "1" } }, - "node_modules/outvariant": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/outvariant/-/outvariant-1.4.2.tgz", - "integrity": "sha512-Ou3dJ6bA/UJ5GVHxah4LnqDwZRwAmWxrG3wtrHrbGnP4RnLCtA64A4F+ae7Y8ww660JaddSoArUR5HjipWSHAQ==", - "dev": true - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, "dependencies": { - "p-limit": "^3.0.2" + "mimic-fn": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/package-hash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", - "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" - }, - "engines": { - "node": ">=8" - } + "node_modules/outvariant": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/outvariant/-/outvariant-1.4.2.tgz", + "integrity": "sha512-Ou3dJ6bA/UJ5GVHxah4LnqDwZRwAmWxrG3wtrHrbGnP4RnLCtA64A4F+ae7Y8ww660JaddSoArUR5HjipWSHAQ==", + "dev": true }, "node_modules/parseurl": { "version": "1.3.3", @@ -4300,15 +3633,6 @@ "node": ">= 0.8" } }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -4333,6 +3657,21 @@ "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", "dev": true }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/perfect-debounce": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", @@ -4350,6 +3689,8 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=8.6" }, @@ -4357,6 +3698,17 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pkg-types": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", + "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", + "dev": true, + "dependencies": { + "jsonc-parser": "^3.2.0", + "mlly": "^1.2.0", + "pathe": "^1.1.0" + } + }, "node_modules/postcss": { "version": "8.4.38", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", @@ -4428,16 +3780,30 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/process-on-spawn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "dependencies": { - "fromentries": "^1.2.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/proxy-addr": { @@ -4474,15 +3840,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, "node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", @@ -4492,11 +3849,19 @@ "node": ">= 0.6" } }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "picomatch": "^2.2.1" }, @@ -4504,18 +3869,6 @@ "node": ">=8.10.0" } }, - "node_modules/release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", - "dev": true, - "dependencies": { - "es6-error": "^4.0.1" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -4525,33 +3878,12 @@ "node": ">=0.10.0" } }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, "node_modules/rfdc": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz", "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==", "dev": true }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/rollup": { "version": "4.13.0", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.13.0.tgz", @@ -4584,12 +3916,6 @@ "fsevents": "~2.3.2" } }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -4622,15 +3948,6 @@ "dev": true, "peer": true }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/send": { "version": "0.18.0", "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", @@ -4661,15 +3978,6 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, - "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, "node_modules/serve-static": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", @@ -4685,12 +3993,6 @@ "node": ">= 0.8.0" } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -4744,21 +4046,12 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", "dev": true }, - "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/source-map-js": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", @@ -4791,23 +4084,6 @@ "node": ">=0.10.0" } }, - "node_modules/spawn-wrap": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", - "dev": true, - "dependencies": { - "foreground-child": "^2.0.0", - "is-windows": "^1.0.2", - "make-dir": "^3.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "which": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/speakingurl": { "version": "14.0.1", "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz", @@ -4817,10 +4093,10 @@ "node": ">=0.10.0" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", "dev": true }, "node_modules/statuses": { @@ -4832,6 +4108,12 @@ "node": ">= 0.8" } }, + "node_modules/std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", + "dev": true + }, "node_modules/strict-event-emitter": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/strict-event-emitter/-/strict-event-emitter-0.5.1.tgz", @@ -4864,27 +4146,36 @@ "node": ">=8" } }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "node_modules/strip-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.0.tgz", + "integrity": "sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "js-tokens": "^9.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/antfu" } }, + "node_modules/strip-literal/node_modules/js-tokens": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.0.tgz", + "integrity": "sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==", + "dev": true + }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -4937,6 +4228,30 @@ "node": ">=8" } }, + "node_modules/tinybench": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.6.0.tgz", + "integrity": "sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==", + "dev": true + }, + "node_modules/tinypool": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.3.tgz", + "integrity": "sha512-Ud7uepAklqRH1bvwy22ynrliC7Dljz7Tm8M/0RBUW+YRa4YHhZ6e4PpgE+fu1zr/WqB1kbeuVrdfeuyIBpy4tw==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tinyspy": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", + "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -4951,6 +4266,8 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "is-number": "^7.0.0" }, @@ -5019,13 +4336,13 @@ "node": ">=0.3.1" } }, - "node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, "engines": { - "node": ">=8" + "node": ">=4" } }, "node_modules/type-is": { @@ -5041,15 +4358,6 @@ "node": ">= 0.6" } }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, "node_modules/typedoc": { "version": "0.25.12", "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.12.tgz", @@ -5120,6 +4428,12 @@ "node": ">=14.17" } }, + "node_modules/ufo": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz", + "integrity": "sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==", + "dev": true + }, "node_modules/uglify-js": { "version": "3.17.4", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", @@ -5147,36 +4461,6 @@ "node": ">= 0.8" } }, - "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", @@ -5186,22 +4470,42 @@ "node": ">= 0.4.0" } }, - "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, "node_modules/v8-compile-cache-lib": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", "dev": true }, + "node_modules/v8-to-istanbul": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", + "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", @@ -5211,394 +4515,142 @@ "node": ">= 0.8" } }, - "node_modules/vitepress": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.0.1.tgz", - "integrity": "sha512-eNr5pOBppYUUjEhv8S0S2t9Tv95LQ6mMeHj6ivaGwfHxpov70Vduuwl/QQMDRznKDSaP0WKV7a82Pb4JVOaqEw==", + "node_modules/vite": { + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.7.tgz", + "integrity": "sha512-k14PWOKLI6pMaSzAuGtT+Cf0YmIx12z9YGon39onaJNy8DLBfBJrzg9FQEmkAM5lpHBZs9wksWAsyF/HkpEwJA==", "dev": true, "dependencies": { - "@docsearch/css": "^3.6.0", - "@docsearch/js": "^3.6.0", - "@shikijs/core": "^1.2.0", - "@shikijs/transformers": "^1.2.0", - "@types/markdown-it": "^13.0.7", - "@vitejs/plugin-vue": "^5.0.4", - "@vue/devtools-api": "^7.0.16", - "@vueuse/core": "^10.9.0", - "@vueuse/integrations": "^10.9.0", - "focus-trap": "^7.5.4", - "mark.js": "8.11.1", - "minisearch": "^6.3.0", - "shiki": "^1.2.0", - "vite": "^5.2.2", - "vue": "^3.4.21" + "esbuild": "^0.20.1", + "postcss": "^8.4.38", + "rollup": "^4.13.0" }, "bin": { - "vitepress": "bin/vitepress.js" + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" }, "peerDependencies": { - "markdown-it-mathjax3": "^4", - "postcss": "^8" + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" }, "peerDependenciesMeta": { - "markdown-it-mathjax3": { + "@types/node": { "optional": true }, - "postcss": { + "less": { "optional": true - } - } - }, - "node_modules/vitepress/node_modules/@esbuild/android-arm": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", - "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vitepress/node_modules/@esbuild/android-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", - "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vitepress/node_modules/@esbuild/android-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", - "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vitepress/node_modules/@esbuild/darwin-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", - "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vitepress/node_modules/@esbuild/darwin-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", - "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vitepress/node_modules/@esbuild/freebsd-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", - "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vitepress/node_modules/@esbuild/freebsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", - "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vitepress/node_modules/@esbuild/linux-arm": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", - "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vitepress/node_modules/@esbuild/linux-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", - "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vitepress/node_modules/@esbuild/linux-ia32": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", - "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vitepress/node_modules/@esbuild/linux-loong64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", - "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vitepress/node_modules/@esbuild/linux-mips64el": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", - "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vitepress/node_modules/@esbuild/linux-ppc64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", - "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vitepress/node_modules/@esbuild/linux-riscv64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", - "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vitepress/node_modules/@esbuild/linux-s390x": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", - "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vitepress/node_modules/@esbuild/linux-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", - "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vitepress/node_modules/@esbuild/netbsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", - "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vitepress/node_modules/@esbuild/openbsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", - "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vitepress/node_modules/@esbuild/sunos-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", - "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vitepress/node_modules/@esbuild/win32-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", - "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } } }, - "node_modules/vitepress/node_modules/@esbuild/win32-ia32": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", - "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", - "cpu": [ - "ia32" - ], + "node_modules/vite-node": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.4.0.tgz", + "integrity": "sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==", "dev": true, - "optional": true, - "os": [ - "win32" - ], + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.3.4", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "vite": "^5.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, "engines": { - "node": ">=12" + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/vitepress/node_modules/@esbuild/win32-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", - "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", - "cpu": [ - "x64" - ], + "node_modules/vite-node/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, - "optional": true, - "os": [ - "win32" - ], + "dependencies": { + "ms": "2.1.2" + }, "engines": { - "node": ">=12" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/vite-node/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/vitepress": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.0.1.tgz", + "integrity": "sha512-eNr5pOBppYUUjEhv8S0S2t9Tv95LQ6mMeHj6ivaGwfHxpov70Vduuwl/QQMDRznKDSaP0WKV7a82Pb4JVOaqEw==", + "dev": true, + "dependencies": { + "@docsearch/css": "^3.6.0", + "@docsearch/js": "^3.6.0", + "@shikijs/core": "^1.2.0", + "@shikijs/transformers": "^1.2.0", + "@types/markdown-it": "^13.0.7", + "@vitejs/plugin-vue": "^5.0.4", + "@vue/devtools-api": "^7.0.16", + "@vueuse/core": "^10.9.0", + "@vueuse/integrations": "^10.9.0", + "focus-trap": "^7.5.4", + "mark.js": "8.11.1", + "minisearch": "^6.3.0", + "shiki": "^1.2.0", + "vite": "^5.2.2", + "vue": "^3.4.21" + }, + "bin": { + "vitepress": "bin/vitepress.js" + }, + "peerDependencies": { + "markdown-it-mathjax3": "^4", + "postcss": "^8" + }, + "peerDependenciesMeta": { + "markdown-it-mathjax3": { + "optional": true + }, + "postcss": { + "optional": true + } } }, "node_modules/vitepress/node_modules/@vitejs/plugin-vue": { @@ -5623,44 +4675,6 @@ "@vue/devtools-kit": "^7.0.21" } }, - "node_modules/vitepress/node_modules/esbuild": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", - "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", - "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.20.2", - "@esbuild/android-arm": "0.20.2", - "@esbuild/android-arm64": "0.20.2", - "@esbuild/android-x64": "0.20.2", - "@esbuild/darwin-arm64": "0.20.2", - "@esbuild/darwin-x64": "0.20.2", - "@esbuild/freebsd-arm64": "0.20.2", - "@esbuild/freebsd-x64": "0.20.2", - "@esbuild/linux-arm": "0.20.2", - "@esbuild/linux-arm64": "0.20.2", - "@esbuild/linux-ia32": "0.20.2", - "@esbuild/linux-loong64": "0.20.2", - "@esbuild/linux-mips64el": "0.20.2", - "@esbuild/linux-ppc64": "0.20.2", - "@esbuild/linux-riscv64": "0.20.2", - "@esbuild/linux-s390x": "0.20.2", - "@esbuild/linux-x64": "0.20.2", - "@esbuild/netbsd-x64": "0.20.2", - "@esbuild/openbsd-x64": "0.20.2", - "@esbuild/sunos-x64": "0.20.2", - "@esbuild/win32-arm64": "0.20.2", - "@esbuild/win32-ia32": "0.20.2", - "@esbuild/win32-x64": "0.20.2" - } - }, "node_modules/vitepress/node_modules/shiki": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.2.0.tgz", @@ -5670,61 +4684,94 @@ "@shikijs/core": "1.2.0" } }, - "node_modules/vitepress/node_modules/vite": { - "version": "5.2.6", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.6.tgz", - "integrity": "sha512-FPtnxFlSIKYjZ2eosBQamz4CbyrTizbZ3hnGJlh/wMtCrlp1Hah6AzBLjGI5I2urTfNnpovpHdrL6YRuBOPnCA==", - "dev": true, - "dependencies": { - "esbuild": "^0.20.1", - "postcss": "^8.4.36", - "rollup": "^4.13.0" + "node_modules/vitest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.4.0.tgz", + "integrity": "sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==", + "dev": true, + "dependencies": { + "@vitest/expect": "1.4.0", + "@vitest/runner": "1.4.0", + "@vitest/snapshot": "1.4.0", + "@vitest/spy": "1.4.0", + "@vitest/utils": "1.4.0", + "acorn-walk": "^8.3.2", + "chai": "^4.3.10", + "debug": "^4.3.4", + "execa": "^8.0.1", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "strip-literal": "^2.0.0", + "tinybench": "^2.5.1", + "tinypool": "^0.8.2", + "vite": "^5.0.0", + "vite-node": "1.4.0", + "why-is-node-running": "^2.2.2" }, "bin": { - "vite": "bin/vite.js" + "vitest": "vitest.mjs" }, "engines": { "node": "^18.0.0 || >=20.0.0" }, "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" + "url": "https://opencollective.com/vitest" }, "peerDependencies": { + "@edge-runtime/vm": "*", "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" + "@vitest/browser": "1.4.0", + "@vitest/ui": "1.4.0", + "happy-dom": "*", + "jsdom": "*" }, "peerDependenciesMeta": { - "@types/node": { + "@edge-runtime/vm": { "optional": true }, - "less": { + "@types/node": { "optional": true }, - "lightningcss": { + "@vitest/browser": { "optional": true }, - "sass": { + "@vitest/ui": { "optional": true }, - "stylus": { + "happy-dom": { "optional": true }, - "sugarss": { + "jsdom": { "optional": true - }, - "terser": { + } + } + }, + "node_modules/vitest/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { "optional": true } } }, + "node_modules/vitest/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, "node_modules/vscode-oniguruma": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", @@ -5773,11 +4820,21 @@ "node": ">= 8" } }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true + "node_modules/why-is-node-running": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", + "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", + "dev": true, + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } }, "node_modules/wordwrap": { "version": "1.0.0", @@ -5785,12 +4842,6 @@ "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", "dev": true }, - "node_modules/workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", - "dev": true - }, "node_modules/wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -5811,107 +4862,11 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dev": true, - "dependencies": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-unparser/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yargs-unparser/node_modules/decamelize": { + "node_modules/yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yargs-unparser/node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, "node_modules/yn": { "version": "3.1.1", @@ -5921,18 +4876,6 @@ "engines": { "node": ">=6" } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } } } } diff --git a/package.json b/package.json index a134f43fa..e054485dc 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,8 @@ "format": "npm run prettier -- --write", "format:check": "npm run prettier -- -l", "clean": "rm -rf dist/*", - "prebuild": "npm run format:check && npm run clean", + "copy-rollup": "node ./scripts/workaround-for-rollup.mjs", + "prebuild": "npm run format:check && npm run clean && npm run copy-rollup", "build": "tsc", "docs": "vitepress dev docs", "docs:build": "vitepress build docs", @@ -58,6 +59,7 @@ "typedoc": "^0.25.1", "typedoc-plugin-markdown": "^3.16.0", "typescript": "5.4.3", + "vite": "^5.2.7", "vitepress": "^1.0.1", "vitest": "^1.4.0" }, diff --git a/scripts/workaround-for-rollup.mjs b/scripts/workaround-for-rollup.mjs new file mode 100644 index 000000000..8f102f859 --- /dev/null +++ b/scripts/workaround-for-rollup.mjs @@ -0,0 +1,44 @@ +/** + * This script is a workaround for a compatibility issue between Vite and its dependency, Rollup. + * Specifically, Vite's typescript definitions reference a module ('rollup/parseAst') that is not + * directly resolvable with the default module resolution strategy used in some configurations. + * + * The script copies the necessary Rollup files to the expected locations and updates import paths + * in 'parseAst.d.ts' to ensure Vite can correctly import these types. + * + * This workaround should be removed once the underlying issue with Vite's dependency resolution + * is resolved. Ideally, this would be when Vite or Rollup releases an update that addresses the + * issue directly, making this script unnecessary. + * + * Keep an eye on Vite and Rollup's release notes for an update on this issue. + * https://github.com/rollup/rollup/issues/5199 + * https://github.com/vitest-dev/vitest/issues/4567 + */ + +import fs from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { dirname } from 'node:path'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); + +const rollupDir = path.join(__dirname, '..', 'node_modules', 'rollup', 'dist'); +const destDir = path.join(__dirname, '..', 'node_modules', 'rollup'); + +const filesToCopy = ['parseAst.d.ts', 'parseAst.js']; + +filesToCopy.forEach(file => { + const srcPath = path.join(rollupDir, file); + const destPath = path.join(destDir, file); + + fs.copyFileSync(srcPath, destPath); + console.log(`[Workaround] Copied ${srcPath} to ${destPath}`); + + if (file === 'parseAst.d.ts') { + const data = fs.readFileSync(destPath, 'utf8'); + const result = data.replace("from './rollup';", "from './';"); + fs.writeFileSync(destPath, result, 'utf8'); + console.log(`[Workaround] Updated import in ${destPath}`); + } +}); From 7316b2d41ec3fdddc23faec029dfded2f79ef4b1 Mon Sep 17 00:00:00 2001 From: Yuta Kasai Date: Wed, 27 Mar 2024 22:17:10 +0900 Subject: [PATCH 06/24] 02 Add .js suffix to import other modules --- generate-code.py | 2 +- .../api-all.pebble | 2 +- .../api-single.pebble | 8 +- .../line-bot-sdk-nodejs-generator/api.pebble | 4 +- .../api_test.pebble | 4 +- .../model.pebble | 6 +- .../models.pebble | 2 +- lib/channel-access-token/api.ts | 4 +- lib/channel-access-token/api/apis.ts | 2 +- .../api/channelAccessTokenClient.ts | 20 +- lib/channel-access-token/model/models.ts | 12 +- .../api/ChannelAccessTokenClientTest.spec.ts | 16 +- lib/client.ts | 8 +- lib/http-axios.ts | 4 +- lib/http-fetch.ts | 4 +- lib/index.ts | 28 +- lib/insight/api.ts | 4 +- lib/insight/api/apis.ts | 2 +- lib/insight/api/insightClient.ts | 20 +- lib/insight/model/errorResponse.ts | 2 +- .../model/getFriendsDemographicsResponse.ts | 10 +- lib/insight/model/getMessageEventResponse.ts | 6 +- .../model/getStatisticsPerUnitResponse.ts | 6 +- lib/insight/model/models.ts | 36 +-- .../tests/api/InsightClientTest.spec.ts | 12 +- lib/liff/api.ts | 4 +- lib/liff/api/apis.ts | 2 +- lib/liff/api/liffClient.ts | 16 +- lib/liff/model/addLiffAppRequest.ts | 8 +- lib/liff/model/getAllLiffAppsResponse.ts | 2 +- lib/liff/model/liffApp.ts | 8 +- lib/liff/model/models.ts | 18 +- lib/liff/model/updateLiffAppRequest.ts | 8 +- lib/liff/tests/api/LiffClientTest.spec.ts | 10 +- lib/manage-audience/api.ts | 4 +- lib/manage-audience/api/apis.ts | 4 +- .../api/manageAudienceBlobClient.ts | 10 +- .../api/manageAudienceClient.ts | 38 +-- .../addAudienceToAudienceGroupRequest.ts | 2 +- lib/manage-audience/model/audienceGroup.ts | 10 +- lib/manage-audience/model/audienceGroupJob.ts | 6 +- .../model/createAudienceGroupRequest.ts | 2 +- .../model/createAudienceGroupResponse.ts | 2 +- .../createClickBasedAudienceGroupResponse.ts | 2 +- .../createImpBasedAudienceGroupResponse.ts | 2 +- lib/manage-audience/model/errorResponse.ts | 2 +- .../model/getAudienceDataResponse.ts | 4 +- .../getAudienceGroupAuthorityLevelResponse.ts | 2 +- .../model/getAudienceGroupsResponse.ts | 2 +- lib/manage-audience/model/models.ts | 52 ++-- ...pdateAudienceGroupAuthorityLevelRequest.ts | 2 +- .../api/ManageAudienceBlobClientTest.spec.ts | 4 +- .../api/ManageAudienceClientTest.spec.ts | 34 +-- lib/messaging-api/api.ts | 4 +- lib/messaging-api/api/apis.ts | 4 +- .../api/messagingApiBlobClient.ts | 10 +- lib/messaging-api/api/messagingApiClient.ts | 98 +++--- lib/messaging-api/model/action.ts | 18 +- .../model/ageDemographicFilter.ts | 6 +- .../model/appTypeDemographicFilter.ts | 6 +- .../model/areaDemographicFilter.ts | 6 +- .../model/audienceMatchMessagesRequest.ts | 2 +- lib/messaging-api/model/audienceRecipient.ts | 4 +- lib/messaging-api/model/audioMessage.ts | 8 +- lib/messaging-api/model/broadcastRequest.ts | 2 +- lib/messaging-api/model/buttonsTemplate.ts | 6 +- lib/messaging-api/model/cameraAction.ts | 4 +- lib/messaging-api/model/cameraRollAction.ts | 4 +- lib/messaging-api/model/carouselColumn.ts | 2 +- lib/messaging-api/model/carouselTemplate.ts | 6 +- lib/messaging-api/model/clipboardAction.ts | 4 +- .../model/clipboardImagemapAction.ts | 6 +- lib/messaging-api/model/confirmTemplate.ts | 6 +- .../model/datetimePickerAction.ts | 4 +- lib/messaging-api/model/demographicFilter.ts | 12 +- lib/messaging-api/model/errorResponse.ts | 4 +- lib/messaging-api/model/filter.ts | 2 +- lib/messaging-api/model/flexBox.ts | 8 +- lib/messaging-api/model/flexBoxBackground.ts | 2 +- .../model/flexBoxLinearGradient.ts | 4 +- lib/messaging-api/model/flexBubble.ts | 12 +- lib/messaging-api/model/flexBubbleStyles.ts | 2 +- lib/messaging-api/model/flexButton.ts | 6 +- lib/messaging-api/model/flexCarousel.ts | 6 +- lib/messaging-api/model/flexComponent.ts | 18 +- lib/messaging-api/model/flexContainer.ts | 4 +- lib/messaging-api/model/flexFiller.ts | 4 +- lib/messaging-api/model/flexIcon.ts | 4 +- lib/messaging-api/model/flexImage.ts | 6 +- lib/messaging-api/model/flexMessage.ts | 10 +- lib/messaging-api/model/flexSeparator.ts | 4 +- lib/messaging-api/model/flexSpan.ts | 4 +- lib/messaging-api/model/flexText.ts | 8 +- lib/messaging-api/model/flexVideo.ts | 6 +- .../model/genderDemographicFilter.ts | 6 +- .../model/imageCarouselColumn.ts | 2 +- .../model/imageCarouselTemplate.ts | 6 +- lib/messaging-api/model/imageMessage.ts | 8 +- lib/messaging-api/model/imagemapAction.ts | 8 +- lib/messaging-api/model/imagemapMessage.ts | 14 +- lib/messaging-api/model/imagemapVideo.ts | 4 +- lib/messaging-api/model/locationAction.ts | 4 +- lib/messaging-api/model/locationMessage.ts | 8 +- .../model/markMessagesAsReadRequest.ts | 2 +- lib/messaging-api/model/message.ts | 22 +- lib/messaging-api/model/messageAction.ts | 4 +- .../model/messageImagemapAction.ts | 6 +- .../model/messageQuotaResponse.ts | 2 +- lib/messaging-api/model/models.ts | 288 +++++++++--------- lib/messaging-api/model/multicastRequest.ts | 2 +- lib/messaging-api/model/narrowcastRequest.ts | 8 +- .../model/operatorDemographicFilter.ts | 4 +- lib/messaging-api/model/operatorRecipient.ts | 4 +- lib/messaging-api/model/pnpMessagesRequest.ts | 2 +- lib/messaging-api/model/postbackAction.ts | 4 +- lib/messaging-api/model/pushMessageRequest.ts | 2 +- .../model/pushMessageResponse.ts | 2 +- lib/messaging-api/model/quickReply.ts | 2 +- lib/messaging-api/model/quickReplyItem.ts | 2 +- lib/messaging-api/model/recipient.ts | 6 +- .../model/redeliveryRecipient.ts | 4 +- .../model/replyMessageRequest.ts | 2 +- .../model/replyMessageResponse.ts | 2 +- .../model/richMenuAliasListResponse.ts | 2 +- lib/messaging-api/model/richMenuArea.ts | 4 +- .../model/richMenuBatchLinkOperation.ts | 4 +- .../model/richMenuBatchOperation.ts | 6 +- .../model/richMenuBatchProgressResponse.ts | 2 +- .../model/richMenuBatchRequest.ts | 2 +- .../model/richMenuBatchUnlinkAllOperation.ts | 4 +- .../model/richMenuBatchUnlinkOperation.ts | 4 +- .../model/richMenuListResponse.ts | 2 +- lib/messaging-api/model/richMenuRequest.ts | 4 +- lib/messaging-api/model/richMenuResponse.ts | 4 +- .../model/richMenuSwitchAction.ts | 4 +- lib/messaging-api/model/stickerMessage.ts | 8 +- .../subscriptionPeriodDemographicFilter.ts | 6 +- lib/messaging-api/model/template.ts | 8 +- lib/messaging-api/model/templateMessage.ts | 10 +- lib/messaging-api/model/textMessage.ts | 10 +- lib/messaging-api/model/uRIAction.ts | 6 +- lib/messaging-api/model/uRIImagemapAction.ts | 6 +- .../model/validateMessageRequest.ts | 2 +- lib/messaging-api/model/videoMessage.ts | 8 +- .../api/MessagingApiBlobClientTest.spec.ts | 4 +- .../tests/api/MessagingApiClientTest.spec.ts | 92 +++--- lib/middleware.ts | 6 +- lib/module-attach/api.ts | 4 +- lib/module-attach/api/apis.ts | 2 +- .../api/lineModuleAttachClient.ts | 10 +- lib/module-attach/model/models.ts | 2 +- .../api/LineModuleAttachClientTest.spec.ts | 4 +- lib/module/api.ts | 4 +- lib/module/api/apis.ts | 2 +- lib/module/api/lineModuleClient.ts | 14 +- lib/module/model/getModulesResponse.ts | 2 +- lib/module/model/models.ts | 8 +- .../tests/api/LineModuleClientTest.spec.ts | 8 +- lib/shop/api.ts | 4 +- lib/shop/api/apis.ts | 2 +- lib/shop/api/shopClient.ts | 10 +- lib/shop/model/models.ts | 4 +- lib/shop/tests/api/ShopClientTest.spec.ts | 4 +- lib/utils.ts | 2 +- lib/webhook/api.ts | 2 +- lib/webhook/model/accountLinkEvent.ts | 12 +- lib/webhook/model/activatedEvent.ts | 12 +- lib/webhook/model/allMentionee.ts | 4 +- lib/webhook/model/attachedModuleContent.ts | 4 +- lib/webhook/model/audioMessageContent.ts | 6 +- lib/webhook/model/beaconEvent.ts | 12 +- lib/webhook/model/botResumedEvent.ts | 10 +- lib/webhook/model/botSuspendedEvent.ts | 10 +- lib/webhook/model/callbackRequest.ts | 2 +- lib/webhook/model/deactivatedEvent.ts | 10 +- lib/webhook/model/detachedModuleContent.ts | 4 +- lib/webhook/model/event.ts | 44 +-- lib/webhook/model/fileMessageContent.ts | 4 +- lib/webhook/model/followEvent.ts | 12 +- lib/webhook/model/groupSource.ts | 4 +- lib/webhook/model/imageMessageContent.ts | 8 +- lib/webhook/model/joinEvent.ts | 10 +- lib/webhook/model/joinedMembers.ts | 2 +- lib/webhook/model/leaveEvent.ts | 10 +- lib/webhook/model/leftMembers.ts | 2 +- lib/webhook/model/linkThingsContent.ts | 4 +- lib/webhook/model/locationMessageContent.ts | 4 +- lib/webhook/model/memberJoinedEvent.ts | 12 +- lib/webhook/model/memberLeftEvent.ts | 12 +- lib/webhook/model/mention.ts | 2 +- lib/webhook/model/mentionee.ts | 4 +- lib/webhook/model/messageContent.ts | 14 +- lib/webhook/model/messageEvent.ts | 12 +- lib/webhook/model/models.ts | 122 ++++---- lib/webhook/model/moduleContent.ts | 4 +- lib/webhook/model/moduleEvent.ts | 12 +- .../model/pnpDeliveryCompletionEvent.ts | 12 +- lib/webhook/model/postbackEvent.ts | 12 +- lib/webhook/model/roomSource.ts | 4 +- lib/webhook/model/scenarioResult.ts | 2 +- .../model/scenarioResultThingsContent.ts | 6 +- lib/webhook/model/source.ts | 6 +- lib/webhook/model/stickerMessageContent.ts | 4 +- lib/webhook/model/textMessageContent.ts | 8 +- lib/webhook/model/thingsContent.ts | 6 +- lib/webhook/model/thingsEvent.ts | 12 +- lib/webhook/model/unfollowEvent.ts | 10 +- lib/webhook/model/unlinkThingsContent.ts | 4 +- lib/webhook/model/unsendEvent.ts | 12 +- lib/webhook/model/userMentionee.ts | 4 +- lib/webhook/model/userSource.ts | 4 +- lib/webhook/model/videoMessageContent.ts | 6 +- lib/webhook/model/videoPlayCompleteEvent.ts | 12 +- test/client.spec.ts | 8 +- test/helpers/test-server.ts | 2 +- test/http-axios.spec.ts | 6 +- test/http-fetch.spec.ts | 8 +- test/libs-channelAccessToken.spec.ts | 2 +- test/libs-manageAudience.spec.ts | 2 +- test/libs-messagingApi.spec.ts | 2 +- test/libs-shop.spec.ts | 2 +- test/libs-webhook.spec.ts | 2 +- test/middleware.spec.ts | 10 +- test/utils.spec.ts | 4 +- test/validate-signature.spec.ts | 2 +- 225 files changed, 1063 insertions(+), 1041 deletions(-) diff --git a/generate-code.py b/generate-code.py index 96619bb8f..1e265afab 100644 --- a/generate-code.py +++ b/generate-code.py @@ -76,7 +76,7 @@ def generate_webhook(): run_command(f'rm -rf lib/webhook/tests/') with open('lib/webhook/api.ts', 'w') as wfp: - wfp.write("""export * from './model/models';""") + wfp.write("""export * from './model/models.js';""") def main(): diff --git a/generator/src/main/resources/line-bot-sdk-nodejs-generator/api-all.pebble b/generator/src/main/resources/line-bot-sdk-nodejs-generator/api-all.pebble index ed67d7c50..5dcf88e18 100644 --- a/generator/src/main/resources/line-bot-sdk-nodejs-generator/api-all.pebble +++ b/generator/src/main/resources/line-bot-sdk-nodejs-generator/api-all.pebble @@ -1,4 +1,4 @@ {# @pebvariable name="apiInfo" type="org.openapitools.codegen.model.ApiInfoMap" #} {% for api in apiInfo.apis -%} -export { {{ api.operations.classname }} } from './{{ api.get("classFilename") }}'; +export { {{ api.operations.classname }} } from './{{ api.get("classFilename") }}.js'; {% endfor %} diff --git a/generator/src/main/resources/line-bot-sdk-nodejs-generator/api-single.pebble b/generator/src/main/resources/line-bot-sdk-nodejs-generator/api-single.pebble index 51208af67..e238221fb 100644 --- a/generator/src/main/resources/line-bot-sdk-nodejs-generator/api-single.pebble +++ b/generator/src/main/resources/line-bot-sdk-nodejs-generator/api-single.pebble @@ -5,13 +5,13 @@ /* tslint:disable:no-unused-locals */ {% for import in imports -%} -import { {{import.classname}} } from '{{import.filename}}'; +import { {{import.classname}} } from '{{import.filename}}.js'; {% endfor %} -import * as Types from "../../types"; -import {ensureJSON} from "../../utils"; +import * as Types from "../../types.js"; +import {ensureJSON} from "../../utils.js"; import {Readable} from "node:stream"; -import HTTPFetchClient, { convertResponseToReadable } from "../../http-fetch"; +import HTTPFetchClient, { convertResponseToReadable } from "../../http-fetch.js"; // =============================================== // This file is autogenerated - Please do not edit diff --git a/generator/src/main/resources/line-bot-sdk-nodejs-generator/api.pebble b/generator/src/main/resources/line-bot-sdk-nodejs-generator/api.pebble index b1119f15c..048a59bd5 100644 --- a/generator/src/main/resources/line-bot-sdk-nodejs-generator/api.pebble +++ b/generator/src/main/resources/line-bot-sdk-nodejs-generator/api.pebble @@ -1,3 +1,3 @@ // This is the entrypoint for the package -export * from './api/apis'; -export * from './model/models'; +export * from './api/apis.js'; +export * from './model/models.js'; diff --git a/generator/src/main/resources/line-bot-sdk-nodejs-generator/api_test.pebble b/generator/src/main/resources/line-bot-sdk-nodejs-generator/api_test.pebble index 2c9d840dd..4881a30bb 100644 --- a/generator/src/main/resources/line-bot-sdk-nodejs-generator/api_test.pebble +++ b/generator/src/main/resources/line-bot-sdk-nodejs-generator/api_test.pebble @@ -1,10 +1,10 @@ {# @pebvariable name="imports" type="java.util.List>" #} {# @pebvariable name="operations" type="org.openapitools.codegen.model.OperationMap" #} {# @pebvariable name="authMethods" type="java.util.ArrayList" -#} -import { {{operations.classname}} } from "../../api"; +import { {{operations.classname}} } from "../../api.js"; {% for import in imports -%} -import { {{import.classname}} } from '../{{import.filename}}'; +import { {{import.classname}} } from '../{{import.filename}}.js'; {% endfor %} import { createServer } from "node:http"; diff --git a/generator/src/main/resources/line-bot-sdk-nodejs-generator/model.pebble b/generator/src/main/resources/line-bot-sdk-nodejs-generator/model.pebble index b044274a2..39b9e3b39 100644 --- a/generator/src/main/resources/line-bot-sdk-nodejs-generator/model.pebble +++ b/generator/src/main/resources/line-bot-sdk-nodejs-generator/model.pebble @@ -3,12 +3,12 @@ {% for model in models %} {% for tsi in model.get('tsImports') -%} -import { {{ tsi.classname }} } from '{{ tsi.filename }}'; +import { {{ tsi.classname }} } from '{{ tsi.filename }}.js'; {%- endfor %} {% if model.model.discriminator != null %} {% for model in model.model.discriminator.mappedModels -%} -import { {{model.modelName}} } from './models'; +import { {{model.modelName}} } from './models.js'; {% endfor %} export type {{classname}} = @@ -30,7 +30,7 @@ export type Unknown{{classname}} = {{classname}}Base & { {%- endif -%} {% if not model.model.isEnum -%} {% if model.model.parent != null %} -import { {{ model.model.parent }}Base } from './models'; +import { {{ model.model.parent }}Base } from './models.js'; {% endif %} export type {{classname}}{% if model.model.discriminator != null %}Base{% endif %} = {% if model.model.parent != null %}{{ model.model.parent }}Base & {% endif %} { {% if model.model.vendorExtensions.get("x-selector") != null %} diff --git a/generator/src/main/resources/line-bot-sdk-nodejs-generator/models.pebble b/generator/src/main/resources/line-bot-sdk-nodejs-generator/models.pebble index ad3f9f570..72661371a 100644 --- a/generator/src/main/resources/line-bot-sdk-nodejs-generator/models.pebble +++ b/generator/src/main/resources/line-bot-sdk-nodejs-generator/models.pebble @@ -1,4 +1,4 @@ {# @pebvariable name="models" type="java.util.ArrayList" #} {% for model in models -%} -export * from '{{ model.model.classFilename }}'; +export * from '{{ model.model.classFilename }}.js'; {%- endfor %} diff --git a/lib/channel-access-token/api.ts b/lib/channel-access-token/api.ts index eeedcdab6..ea34fcbaf 100644 --- a/lib/channel-access-token/api.ts +++ b/lib/channel-access-token/api.ts @@ -1,3 +1,3 @@ // This is the entrypoint for the package -export * from "./api/apis"; -export * from "./model/models"; +export * from "./api/apis.js"; +export * from "./model/models.js"; diff --git a/lib/channel-access-token/api/apis.ts b/lib/channel-access-token/api/apis.ts index aa7db257a..88cfbcf37 100644 --- a/lib/channel-access-token/api/apis.ts +++ b/lib/channel-access-token/api/apis.ts @@ -1 +1 @@ -export { ChannelAccessTokenClient } from "./channelAccessTokenClient"; +export { ChannelAccessTokenClient } from "./channelAccessTokenClient.js"; diff --git a/lib/channel-access-token/api/channelAccessTokenClient.ts b/lib/channel-access-token/api/channelAccessTokenClient.ts index eaf05d43c..10baf01bc 100644 --- a/lib/channel-access-token/api/channelAccessTokenClient.ts +++ b/lib/channel-access-token/api/channelAccessTokenClient.ts @@ -11,18 +11,20 @@ */ /* tslint:disable:no-unused-locals */ -import { ChannelAccessTokenKeyIdsResponse } from "../model/channelAccessTokenKeyIdsResponse"; -import { ErrorResponse } from "../model/errorResponse"; -import { IssueChannelAccessTokenResponse } from "../model/issueChannelAccessTokenResponse"; -import { IssueShortLivedChannelAccessTokenResponse } from "../model/issueShortLivedChannelAccessTokenResponse"; -import { IssueStatelessChannelAccessTokenResponse } from "../model/issueStatelessChannelAccessTokenResponse"; -import { VerifyChannelAccessTokenResponse } from "../model/verifyChannelAccessTokenResponse"; +import { ChannelAccessTokenKeyIdsResponse } from "../model/channelAccessTokenKeyIdsResponse.js"; +import { ErrorResponse } from "../model/errorResponse.js"; +import { IssueChannelAccessTokenResponse } from "../model/issueChannelAccessTokenResponse.js"; +import { IssueShortLivedChannelAccessTokenResponse } from "../model/issueShortLivedChannelAccessTokenResponse.js"; +import { IssueStatelessChannelAccessTokenResponse } from "../model/issueStatelessChannelAccessTokenResponse.js"; +import { VerifyChannelAccessTokenResponse } from "../model/verifyChannelAccessTokenResponse.js"; -import * as Types from "../../types"; -import { ensureJSON } from "../../utils"; +import * as Types from "../../types.js"; +import { ensureJSON } from "../../utils.js"; import { Readable } from "node:stream"; -import HTTPFetchClient, { convertResponseToReadable } from "../../http-fetch"; +import HTTPFetchClient, { + convertResponseToReadable, +} from "../../http-fetch.js"; // =============================================== // This file is autogenerated - Please do not edit diff --git a/lib/channel-access-token/model/models.ts b/lib/channel-access-token/model/models.ts index 5307ff1da..03e632751 100644 --- a/lib/channel-access-token/model/models.ts +++ b/lib/channel-access-token/model/models.ts @@ -1,6 +1,6 @@ -export * from "./channelAccessTokenKeyIdsResponse"; -export * from "./errorResponse"; -export * from "./issueChannelAccessTokenResponse"; -export * from "./issueShortLivedChannelAccessTokenResponse"; -export * from "./issueStatelessChannelAccessTokenResponse"; -export * from "./verifyChannelAccessTokenResponse"; +export * from "./channelAccessTokenKeyIdsResponse.js"; +export * from "./errorResponse.js"; +export * from "./issueChannelAccessTokenResponse.js"; +export * from "./issueShortLivedChannelAccessTokenResponse.js"; +export * from "./issueStatelessChannelAccessTokenResponse.js"; +export * from "./verifyChannelAccessTokenResponse.js"; diff --git a/lib/channel-access-token/tests/api/ChannelAccessTokenClientTest.spec.ts b/lib/channel-access-token/tests/api/ChannelAccessTokenClientTest.spec.ts index 2df0f1a0e..c0f1b8bab 100644 --- a/lib/channel-access-token/tests/api/ChannelAccessTokenClientTest.spec.ts +++ b/lib/channel-access-token/tests/api/ChannelAccessTokenClientTest.spec.ts @@ -1,11 +1,11 @@ -import { ChannelAccessTokenClient } from "../../api"; - -import { ChannelAccessTokenKeyIdsResponse } from "../../model/channelAccessTokenKeyIdsResponse"; -import { ErrorResponse } from "../../model/errorResponse"; -import { IssueChannelAccessTokenResponse } from "../../model/issueChannelAccessTokenResponse"; -import { IssueShortLivedChannelAccessTokenResponse } from "../../model/issueShortLivedChannelAccessTokenResponse"; -import { IssueStatelessChannelAccessTokenResponse } from "../../model/issueStatelessChannelAccessTokenResponse"; -import { VerifyChannelAccessTokenResponse } from "../../model/verifyChannelAccessTokenResponse"; +import { ChannelAccessTokenClient } from "../../api.js"; + +import { ChannelAccessTokenKeyIdsResponse } from "../../model/channelAccessTokenKeyIdsResponse.js"; +import { ErrorResponse } from "../../model/errorResponse.js"; +import { IssueChannelAccessTokenResponse } from "../../model/issueChannelAccessTokenResponse.js"; +import { IssueShortLivedChannelAccessTokenResponse } from "../../model/issueShortLivedChannelAccessTokenResponse.js"; +import { IssueStatelessChannelAccessTokenResponse } from "../../model/issueStatelessChannelAccessTokenResponse.js"; +import { VerifyChannelAccessTokenResponse } from "../../model/verifyChannelAccessTokenResponse.js"; import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; diff --git a/lib/client.ts b/lib/client.ts index 549112858..7638f2631 100644 --- a/lib/client.ts +++ b/lib/client.ts @@ -1,14 +1,14 @@ import { Readable } from "node:stream"; -import HTTPClient from "./http-axios"; -import * as Types from "./types"; +import HTTPClient from "./http-axios.js"; +import * as Types from "./types.js"; import { AxiosRequestConfig, AxiosResponse } from "axios"; -import { createMultipartFormData, ensureJSON, toArray } from "./utils"; +import { createMultipartFormData, ensureJSON, toArray } from "./utils.js"; import { DATA_API_PREFIX, MESSAGING_API_PREFIX, OAUTH_BASE_PREFIX, OAUTH_BASE_PREFIX_V2_1, -} from "./endpoints"; +} from "./endpoints.js"; type ChatType = "group" | "room"; type RequestOption = { diff --git a/lib/http-axios.ts b/lib/http-axios.ts index aa6176f78..1783be71a 100644 --- a/lib/http-axios.ts +++ b/lib/http-axios.ts @@ -5,8 +5,8 @@ import axios, { AxiosRequestConfig, } from "axios"; import { Readable } from "node:stream"; -import { HTTPError, ReadError, RequestError } from "./exceptions"; -import { USER_AGENT } from "./version"; +import { HTTPError, ReadError, RequestError } from "./exceptions.js"; +import { USER_AGENT } from "./version.js"; interface httpClientConfig extends Partial { baseURL?: string; diff --git a/lib/http-fetch.ts b/lib/http-fetch.ts index 9e731ed99..c72c16db6 100644 --- a/lib/http-fetch.ts +++ b/lib/http-fetch.ts @@ -1,6 +1,6 @@ import { Readable } from "node:stream"; -import { HTTPFetchError } from "./exceptions"; -import { USER_AGENT } from "./version"; +import { HTTPFetchError } from "./exceptions.js"; +import { USER_AGENT } from "./version.js"; export interface FetchRequestConfig { headers?: Record; diff --git a/lib/index.ts b/lib/index.ts index b4b58ebba..d0afe5476 100644 --- a/lib/index.ts +++ b/lib/index.ts @@ -1,29 +1,29 @@ -import Client, { OAuth } from "./client"; -import middleware from "./middleware"; -import validateSignature from "./validate-signature"; +import Client, { OAuth } from "./client.js"; +import middleware from "./middleware.js"; +import validateSignature from "./validate-signature.js"; export { Client, middleware, validateSignature, OAuth }; // re-export exceptions and types -export * from "./exceptions"; -export * from "./types"; +export * from "./exceptions.js"; +export * from "./types.js"; -import * as channelAccessToken from "./channel-access-token/api"; +import * as channelAccessToken from "./channel-access-token/api.js"; export { channelAccessToken }; -import * as insight from "./insight/api"; +import * as insight from "./insight/api.js"; export { insight }; -import * as liff from "./liff/api"; +import * as liff from "./liff/api.js"; export { liff }; -import * as manageAudience from "./manage-audience/api"; +import * as manageAudience from "./manage-audience/api.js"; export { manageAudience }; -import * as messagingApi from "./messaging-api/api"; +import * as messagingApi from "./messaging-api/api.js"; export { messagingApi }; // Note: `module` is reserved word in Javascript. -import * as moduleOperation from "./module/api"; +import * as moduleOperation from "./module/api.js"; export { moduleOperation }; -import * as moduleAttach from "./module-attach/api"; +import * as moduleAttach from "./module-attach/api.js"; export { moduleAttach }; -import * as shop from "./shop/api"; +import * as shop from "./shop/api.js"; export { shop }; -import * as webhook from "./webhook/api"; +import * as webhook from "./webhook/api.js"; export { webhook }; diff --git a/lib/insight/api.ts b/lib/insight/api.ts index eeedcdab6..ea34fcbaf 100644 --- a/lib/insight/api.ts +++ b/lib/insight/api.ts @@ -1,3 +1,3 @@ // This is the entrypoint for the package -export * from "./api/apis"; -export * from "./model/models"; +export * from "./api/apis.js"; +export * from "./model/models.js"; diff --git a/lib/insight/api/apis.ts b/lib/insight/api/apis.ts index 7dcb8689e..a61959775 100644 --- a/lib/insight/api/apis.ts +++ b/lib/insight/api/apis.ts @@ -1 +1 @@ -export { InsightClient } from "./insightClient"; +export { InsightClient } from "./insightClient.js"; diff --git a/lib/insight/api/insightClient.ts b/lib/insight/api/insightClient.ts index 4fa804762..768f2291b 100644 --- a/lib/insight/api/insightClient.ts +++ b/lib/insight/api/insightClient.ts @@ -11,17 +11,19 @@ */ /* tslint:disable:no-unused-locals */ -import { GetFriendsDemographicsResponse } from "../model/getFriendsDemographicsResponse"; -import { GetMessageEventResponse } from "../model/getMessageEventResponse"; -import { GetNumberOfFollowersResponse } from "../model/getNumberOfFollowersResponse"; -import { GetNumberOfMessageDeliveriesResponse } from "../model/getNumberOfMessageDeliveriesResponse"; -import { GetStatisticsPerUnitResponse } from "../model/getStatisticsPerUnitResponse"; - -import * as Types from "../../types"; -import { ensureJSON } from "../../utils"; +import { GetFriendsDemographicsResponse } from "../model/getFriendsDemographicsResponse.js"; +import { GetMessageEventResponse } from "../model/getMessageEventResponse.js"; +import { GetNumberOfFollowersResponse } from "../model/getNumberOfFollowersResponse.js"; +import { GetNumberOfMessageDeliveriesResponse } from "../model/getNumberOfMessageDeliveriesResponse.js"; +import { GetStatisticsPerUnitResponse } from "../model/getStatisticsPerUnitResponse.js"; + +import * as Types from "../../types.js"; +import { ensureJSON } from "../../utils.js"; import { Readable } from "node:stream"; -import HTTPFetchClient, { convertResponseToReadable } from "../../http-fetch"; +import HTTPFetchClient, { + convertResponseToReadable, +} from "../../http-fetch.js"; // =============================================== // This file is autogenerated - Please do not edit diff --git a/lib/insight/model/errorResponse.ts b/lib/insight/model/errorResponse.ts index 8f8c2546e..d90fd4b49 100644 --- a/lib/insight/model/errorResponse.ts +++ b/lib/insight/model/errorResponse.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { ErrorDetail } from "./errorDetail"; +import { ErrorDetail } from "./errorDetail.js"; export type ErrorResponse = { /** diff --git a/lib/insight/model/getFriendsDemographicsResponse.ts b/lib/insight/model/getFriendsDemographicsResponse.ts index 184a64518..bee0ce4df 100644 --- a/lib/insight/model/getFriendsDemographicsResponse.ts +++ b/lib/insight/model/getFriendsDemographicsResponse.ts @@ -10,11 +10,11 @@ * Do not edit the class manually. */ -import { AgeTile } from "./ageTile"; -import { AppTypeTile } from "./appTypeTile"; -import { AreaTile } from "./areaTile"; -import { GenderTile } from "./genderTile"; -import { SubscriptionPeriodTile } from "./subscriptionPeriodTile"; +import { AgeTile } from "./ageTile.js"; +import { AppTypeTile } from "./appTypeTile.js"; +import { AreaTile } from "./areaTile.js"; +import { GenderTile } from "./genderTile.js"; +import { SubscriptionPeriodTile } from "./subscriptionPeriodTile.js"; /** * Get friend demographics diff --git a/lib/insight/model/getMessageEventResponse.ts b/lib/insight/model/getMessageEventResponse.ts index 6cad5465e..c00869386 100644 --- a/lib/insight/model/getMessageEventResponse.ts +++ b/lib/insight/model/getMessageEventResponse.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { GetMessageEventResponseClick } from "./getMessageEventResponseClick"; -import { GetMessageEventResponseMessage } from "./getMessageEventResponseMessage"; -import { GetMessageEventResponseOverview } from "./getMessageEventResponseOverview"; +import { GetMessageEventResponseClick } from "./getMessageEventResponseClick.js"; +import { GetMessageEventResponseMessage } from "./getMessageEventResponseMessage.js"; +import { GetMessageEventResponseOverview } from "./getMessageEventResponseOverview.js"; /** * Statistics about how users interact with narrowcast messages or broadcast messages sent from your LINE Official Account. diff --git a/lib/insight/model/getStatisticsPerUnitResponse.ts b/lib/insight/model/getStatisticsPerUnitResponse.ts index c901bb435..6158aaf73 100644 --- a/lib/insight/model/getStatisticsPerUnitResponse.ts +++ b/lib/insight/model/getStatisticsPerUnitResponse.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { GetStatisticsPerUnitResponseClick } from "./getStatisticsPerUnitResponseClick"; -import { GetStatisticsPerUnitResponseMessage } from "./getStatisticsPerUnitResponseMessage"; -import { GetStatisticsPerUnitResponseOverview } from "./getStatisticsPerUnitResponseOverview"; +import { GetStatisticsPerUnitResponseClick } from "./getStatisticsPerUnitResponseClick.js"; +import { GetStatisticsPerUnitResponseMessage } from "./getStatisticsPerUnitResponseMessage.js"; +import { GetStatisticsPerUnitResponseOverview } from "./getStatisticsPerUnitResponseOverview.js"; /** * Response object for `get statistics per unit` diff --git a/lib/insight/model/models.ts b/lib/insight/model/models.ts index 86722e0e8..4fcb0a7ae 100644 --- a/lib/insight/model/models.ts +++ b/lib/insight/model/models.ts @@ -1,18 +1,18 @@ -export * from "./ageTile"; -export * from "./appTypeTile"; -export * from "./areaTile"; -export * from "./errorDetail"; -export * from "./errorResponse"; -export * from "./genderTile"; -export * from "./getFriendsDemographicsResponse"; -export * from "./getMessageEventResponse"; -export * from "./getMessageEventResponseClick"; -export * from "./getMessageEventResponseMessage"; -export * from "./getMessageEventResponseOverview"; -export * from "./getNumberOfFollowersResponse"; -export * from "./getNumberOfMessageDeliveriesResponse"; -export * from "./getStatisticsPerUnitResponse"; -export * from "./getStatisticsPerUnitResponseClick"; -export * from "./getStatisticsPerUnitResponseMessage"; -export * from "./getStatisticsPerUnitResponseOverview"; -export * from "./subscriptionPeriodTile"; +export * from "./ageTile.js"; +export * from "./appTypeTile.js"; +export * from "./areaTile.js"; +export * from "./errorDetail.js"; +export * from "./errorResponse.js"; +export * from "./genderTile.js"; +export * from "./getFriendsDemographicsResponse.js"; +export * from "./getMessageEventResponse.js"; +export * from "./getMessageEventResponseClick.js"; +export * from "./getMessageEventResponseMessage.js"; +export * from "./getMessageEventResponseOverview.js"; +export * from "./getNumberOfFollowersResponse.js"; +export * from "./getNumberOfMessageDeliveriesResponse.js"; +export * from "./getStatisticsPerUnitResponse.js"; +export * from "./getStatisticsPerUnitResponseClick.js"; +export * from "./getStatisticsPerUnitResponseMessage.js"; +export * from "./getStatisticsPerUnitResponseOverview.js"; +export * from "./subscriptionPeriodTile.js"; diff --git a/lib/insight/tests/api/InsightClientTest.spec.ts b/lib/insight/tests/api/InsightClientTest.spec.ts index aba71b9f1..efbc7b126 100644 --- a/lib/insight/tests/api/InsightClientTest.spec.ts +++ b/lib/insight/tests/api/InsightClientTest.spec.ts @@ -1,10 +1,10 @@ -import { InsightClient } from "../../api"; +import { InsightClient } from "../../api.js"; -import { GetFriendsDemographicsResponse } from "../../model/getFriendsDemographicsResponse"; -import { GetMessageEventResponse } from "../../model/getMessageEventResponse"; -import { GetNumberOfFollowersResponse } from "../../model/getNumberOfFollowersResponse"; -import { GetNumberOfMessageDeliveriesResponse } from "../../model/getNumberOfMessageDeliveriesResponse"; -import { GetStatisticsPerUnitResponse } from "../../model/getStatisticsPerUnitResponse"; +import { GetFriendsDemographicsResponse } from "../../model/getFriendsDemographicsResponse.js"; +import { GetMessageEventResponse } from "../../model/getMessageEventResponse.js"; +import { GetNumberOfFollowersResponse } from "../../model/getNumberOfFollowersResponse.js"; +import { GetNumberOfMessageDeliveriesResponse } from "../../model/getNumberOfMessageDeliveriesResponse.js"; +import { GetStatisticsPerUnitResponse } from "../../model/getStatisticsPerUnitResponse.js"; import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; diff --git a/lib/liff/api.ts b/lib/liff/api.ts index eeedcdab6..ea34fcbaf 100644 --- a/lib/liff/api.ts +++ b/lib/liff/api.ts @@ -1,3 +1,3 @@ // This is the entrypoint for the package -export * from "./api/apis"; -export * from "./model/models"; +export * from "./api/apis.js"; +export * from "./model/models.js"; diff --git a/lib/liff/api/apis.ts b/lib/liff/api/apis.ts index 5aae2e33a..f5d41d3c5 100644 --- a/lib/liff/api/apis.ts +++ b/lib/liff/api/apis.ts @@ -1 +1 @@ -export { LiffClient } from "./liffClient"; +export { LiffClient } from "./liffClient.js"; diff --git a/lib/liff/api/liffClient.ts b/lib/liff/api/liffClient.ts index 810332845..3a8a87fdd 100644 --- a/lib/liff/api/liffClient.ts +++ b/lib/liff/api/liffClient.ts @@ -11,16 +11,18 @@ */ /* tslint:disable:no-unused-locals */ -import { AddLiffAppRequest } from "../model/addLiffAppRequest"; -import { AddLiffAppResponse } from "../model/addLiffAppResponse"; -import { GetAllLiffAppsResponse } from "../model/getAllLiffAppsResponse"; -import { UpdateLiffAppRequest } from "../model/updateLiffAppRequest"; +import { AddLiffAppRequest } from "../model/addLiffAppRequest.js"; +import { AddLiffAppResponse } from "../model/addLiffAppResponse.js"; +import { GetAllLiffAppsResponse } from "../model/getAllLiffAppsResponse.js"; +import { UpdateLiffAppRequest } from "../model/updateLiffAppRequest.js"; -import * as Types from "../../types"; -import { ensureJSON } from "../../utils"; +import * as Types from "../../types.js"; +import { ensureJSON } from "../../utils.js"; import { Readable } from "node:stream"; -import HTTPFetchClient, { convertResponseToReadable } from "../../http-fetch"; +import HTTPFetchClient, { + convertResponseToReadable, +} from "../../http-fetch.js"; // =============================================== // This file is autogenerated - Please do not edit diff --git a/lib/liff/model/addLiffAppRequest.ts b/lib/liff/model/addLiffAppRequest.ts index aae1b5d2d..be60cb52e 100644 --- a/lib/liff/model/addLiffAppRequest.ts +++ b/lib/liff/model/addLiffAppRequest.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ -import { LiffBotPrompt } from "./liffBotPrompt"; -import { LiffFeatures } from "./liffFeatures"; -import { LiffScope } from "./liffScope"; -import { LiffView } from "./liffView"; +import { LiffBotPrompt } from "./liffBotPrompt.js"; +import { LiffFeatures } from "./liffFeatures.js"; +import { LiffScope } from "./liffScope.js"; +import { LiffView } from "./liffView.js"; export type AddLiffAppRequest = { /** diff --git a/lib/liff/model/getAllLiffAppsResponse.ts b/lib/liff/model/getAllLiffAppsResponse.ts index e0cbf0c10..6f13e84e6 100644 --- a/lib/liff/model/getAllLiffAppsResponse.ts +++ b/lib/liff/model/getAllLiffAppsResponse.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { LiffApp } from "./liffApp"; +import { LiffApp } from "./liffApp.js"; export type GetAllLiffAppsResponse = { /** diff --git a/lib/liff/model/liffApp.ts b/lib/liff/model/liffApp.ts index 6c51d1709..d47a3a36b 100644 --- a/lib/liff/model/liffApp.ts +++ b/lib/liff/model/liffApp.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ -import { LiffBotPrompt } from "./liffBotPrompt"; -import { LiffFeatures } from "./liffFeatures"; -import { LiffScope } from "./liffScope"; -import { LiffView } from "./liffView"; +import { LiffBotPrompt } from "./liffBotPrompt.js"; +import { LiffFeatures } from "./liffFeatures.js"; +import { LiffScope } from "./liffScope.js"; +import { LiffView } from "./liffView.js"; export type LiffApp = { /** diff --git a/lib/liff/model/models.ts b/lib/liff/model/models.ts index 3ab4beab2..29f33d604 100644 --- a/lib/liff/model/models.ts +++ b/lib/liff/model/models.ts @@ -1,9 +1,9 @@ -export * from "./addLiffAppRequest"; -export * from "./addLiffAppResponse"; -export * from "./getAllLiffAppsResponse"; -export * from "./liffApp"; -export * from "./liffBotPrompt"; -export * from "./liffFeatures"; -export * from "./liffScope"; -export * from "./liffView"; -export * from "./updateLiffAppRequest"; +export * from "./addLiffAppRequest.js"; +export * from "./addLiffAppResponse.js"; +export * from "./getAllLiffAppsResponse.js"; +export * from "./liffApp.js"; +export * from "./liffBotPrompt.js"; +export * from "./liffFeatures.js"; +export * from "./liffScope.js"; +export * from "./liffView.js"; +export * from "./updateLiffAppRequest.js"; diff --git a/lib/liff/model/updateLiffAppRequest.ts b/lib/liff/model/updateLiffAppRequest.ts index 6da3ffe4b..c22e8784a 100644 --- a/lib/liff/model/updateLiffAppRequest.ts +++ b/lib/liff/model/updateLiffAppRequest.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ -import { LiffBotPrompt } from "./liffBotPrompt"; -import { LiffFeatures } from "./liffFeatures"; -import { LiffScope } from "./liffScope"; -import { LiffView } from "./liffView"; +import { LiffBotPrompt } from "./liffBotPrompt.js"; +import { LiffFeatures } from "./liffFeatures.js"; +import { LiffScope } from "./liffScope.js"; +import { LiffView } from "./liffView.js"; export type UpdateLiffAppRequest = { /** diff --git a/lib/liff/tests/api/LiffClientTest.spec.ts b/lib/liff/tests/api/LiffClientTest.spec.ts index f405dbf4d..43132b3be 100644 --- a/lib/liff/tests/api/LiffClientTest.spec.ts +++ b/lib/liff/tests/api/LiffClientTest.spec.ts @@ -1,9 +1,9 @@ -import { LiffClient } from "../../api"; +import { LiffClient } from "../../api.js"; -import { AddLiffAppRequest } from "../../model/addLiffAppRequest"; -import { AddLiffAppResponse } from "../../model/addLiffAppResponse"; -import { GetAllLiffAppsResponse } from "../../model/getAllLiffAppsResponse"; -import { UpdateLiffAppRequest } from "../../model/updateLiffAppRequest"; +import { AddLiffAppRequest } from "../../model/addLiffAppRequest.js"; +import { AddLiffAppResponse } from "../../model/addLiffAppResponse.js"; +import { GetAllLiffAppsResponse } from "../../model/getAllLiffAppsResponse.js"; +import { UpdateLiffAppRequest } from "../../model/updateLiffAppRequest.js"; import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; diff --git a/lib/manage-audience/api.ts b/lib/manage-audience/api.ts index eeedcdab6..ea34fcbaf 100644 --- a/lib/manage-audience/api.ts +++ b/lib/manage-audience/api.ts @@ -1,3 +1,3 @@ // This is the entrypoint for the package -export * from "./api/apis"; -export * from "./model/models"; +export * from "./api/apis.js"; +export * from "./model/models.js"; diff --git a/lib/manage-audience/api/apis.ts b/lib/manage-audience/api/apis.ts index 7daef664c..30f4f210f 100644 --- a/lib/manage-audience/api/apis.ts +++ b/lib/manage-audience/api/apis.ts @@ -1,2 +1,2 @@ -export { ManageAudienceClient } from "./manageAudienceClient"; -export { ManageAudienceBlobClient } from "./manageAudienceBlobClient"; +export { ManageAudienceClient } from "./manageAudienceClient.js"; +export { ManageAudienceBlobClient } from "./manageAudienceBlobClient.js"; diff --git a/lib/manage-audience/api/manageAudienceBlobClient.ts b/lib/manage-audience/api/manageAudienceBlobClient.ts index 2fdf5e574..9a8fe9616 100644 --- a/lib/manage-audience/api/manageAudienceBlobClient.ts +++ b/lib/manage-audience/api/manageAudienceBlobClient.ts @@ -11,13 +11,15 @@ */ /* tslint:disable:no-unused-locals */ -import { CreateAudienceGroupResponse } from "../model/createAudienceGroupResponse"; +import { CreateAudienceGroupResponse } from "../model/createAudienceGroupResponse.js"; -import * as Types from "../../types"; -import { ensureJSON } from "../../utils"; +import * as Types from "../../types.js"; +import { ensureJSON } from "../../utils.js"; import { Readable } from "node:stream"; -import HTTPFetchClient, { convertResponseToReadable } from "../../http-fetch"; +import HTTPFetchClient, { + convertResponseToReadable, +} from "../../http-fetch.js"; // =============================================== // This file is autogenerated - Please do not edit diff --git a/lib/manage-audience/api/manageAudienceClient.ts b/lib/manage-audience/api/manageAudienceClient.ts index ab305b0a5..37f951771 100644 --- a/lib/manage-audience/api/manageAudienceClient.ts +++ b/lib/manage-audience/api/manageAudienceClient.ts @@ -11,27 +11,29 @@ */ /* tslint:disable:no-unused-locals */ -import { AddAudienceToAudienceGroupRequest } from "../model/addAudienceToAudienceGroupRequest"; -import { AudienceGroupCreateRoute } from "../model/audienceGroupCreateRoute"; -import { AudienceGroupStatus } from "../model/audienceGroupStatus"; -import { CreateAudienceGroupRequest } from "../model/createAudienceGroupRequest"; -import { CreateAudienceGroupResponse } from "../model/createAudienceGroupResponse"; -import { CreateClickBasedAudienceGroupRequest } from "../model/createClickBasedAudienceGroupRequest"; -import { CreateClickBasedAudienceGroupResponse } from "../model/createClickBasedAudienceGroupResponse"; -import { CreateImpBasedAudienceGroupRequest } from "../model/createImpBasedAudienceGroupRequest"; -import { CreateImpBasedAudienceGroupResponse } from "../model/createImpBasedAudienceGroupResponse"; -import { ErrorResponse } from "../model/errorResponse"; -import { GetAudienceDataResponse } from "../model/getAudienceDataResponse"; -import { GetAudienceGroupAuthorityLevelResponse } from "../model/getAudienceGroupAuthorityLevelResponse"; -import { GetAudienceGroupsResponse } from "../model/getAudienceGroupsResponse"; -import { UpdateAudienceGroupAuthorityLevelRequest } from "../model/updateAudienceGroupAuthorityLevelRequest"; -import { UpdateAudienceGroupDescriptionRequest } from "../model/updateAudienceGroupDescriptionRequest"; +import { AddAudienceToAudienceGroupRequest } from "../model/addAudienceToAudienceGroupRequest.js"; +import { AudienceGroupCreateRoute } from "../model/audienceGroupCreateRoute.js"; +import { AudienceGroupStatus } from "../model/audienceGroupStatus.js"; +import { CreateAudienceGroupRequest } from "../model/createAudienceGroupRequest.js"; +import { CreateAudienceGroupResponse } from "../model/createAudienceGroupResponse.js"; +import { CreateClickBasedAudienceGroupRequest } from "../model/createClickBasedAudienceGroupRequest.js"; +import { CreateClickBasedAudienceGroupResponse } from "../model/createClickBasedAudienceGroupResponse.js"; +import { CreateImpBasedAudienceGroupRequest } from "../model/createImpBasedAudienceGroupRequest.js"; +import { CreateImpBasedAudienceGroupResponse } from "../model/createImpBasedAudienceGroupResponse.js"; +import { ErrorResponse } from "../model/errorResponse.js"; +import { GetAudienceDataResponse } from "../model/getAudienceDataResponse.js"; +import { GetAudienceGroupAuthorityLevelResponse } from "../model/getAudienceGroupAuthorityLevelResponse.js"; +import { GetAudienceGroupsResponse } from "../model/getAudienceGroupsResponse.js"; +import { UpdateAudienceGroupAuthorityLevelRequest } from "../model/updateAudienceGroupAuthorityLevelRequest.js"; +import { UpdateAudienceGroupDescriptionRequest } from "../model/updateAudienceGroupDescriptionRequest.js"; -import * as Types from "../../types"; -import { ensureJSON } from "../../utils"; +import * as Types from "../../types.js"; +import { ensureJSON } from "../../utils.js"; import { Readable } from "node:stream"; -import HTTPFetchClient, { convertResponseToReadable } from "../../http-fetch"; +import HTTPFetchClient, { + convertResponseToReadable, +} from "../../http-fetch.js"; // =============================================== // This file is autogenerated - Please do not edit diff --git a/lib/manage-audience/model/addAudienceToAudienceGroupRequest.ts b/lib/manage-audience/model/addAudienceToAudienceGroupRequest.ts index 296adde09..83e527c7d 100644 --- a/lib/manage-audience/model/addAudienceToAudienceGroupRequest.ts +++ b/lib/manage-audience/model/addAudienceToAudienceGroupRequest.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { Audience } from "./audience"; +import { Audience } from "./audience.js"; /** * Add user IDs or Identifiers for Advertisers (IFAs) to an audience for uploading user IDs (by JSON) diff --git a/lib/manage-audience/model/audienceGroup.ts b/lib/manage-audience/model/audienceGroup.ts index e0595dedb..48246aa0e 100644 --- a/lib/manage-audience/model/audienceGroup.ts +++ b/lib/manage-audience/model/audienceGroup.ts @@ -10,11 +10,11 @@ * Do not edit the class manually. */ -import { AudienceGroupCreateRoute } from "./audienceGroupCreateRoute"; -import { AudienceGroupFailedType } from "./audienceGroupFailedType"; -import { AudienceGroupPermission } from "./audienceGroupPermission"; -import { AudienceGroupStatus } from "./audienceGroupStatus"; -import { AudienceGroupType } from "./audienceGroupType"; +import { AudienceGroupCreateRoute } from "./audienceGroupCreateRoute.js"; +import { AudienceGroupFailedType } from "./audienceGroupFailedType.js"; +import { AudienceGroupPermission } from "./audienceGroupPermission.js"; +import { AudienceGroupStatus } from "./audienceGroupStatus.js"; +import { AudienceGroupType } from "./audienceGroupType.js"; /** * Audience group diff --git a/lib/manage-audience/model/audienceGroupJob.ts b/lib/manage-audience/model/audienceGroupJob.ts index 2bf7a7a26..d82ca20ef 100644 --- a/lib/manage-audience/model/audienceGroupJob.ts +++ b/lib/manage-audience/model/audienceGroupJob.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { AudienceGroupJobFailedType } from "./audienceGroupJobFailedType"; -import { AudienceGroupJobStatus } from "./audienceGroupJobStatus"; -import { AudienceGroupJobType } from "./audienceGroupJobType"; +import { AudienceGroupJobFailedType } from "./audienceGroupJobFailedType.js"; +import { AudienceGroupJobStatus } from "./audienceGroupJobStatus.js"; +import { AudienceGroupJobType } from "./audienceGroupJobType.js"; /** * Audience group job diff --git a/lib/manage-audience/model/createAudienceGroupRequest.ts b/lib/manage-audience/model/createAudienceGroupRequest.ts index 724078905..db2e45f39 100644 --- a/lib/manage-audience/model/createAudienceGroupRequest.ts +++ b/lib/manage-audience/model/createAudienceGroupRequest.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { Audience } from "./audience"; +import { Audience } from "./audience.js"; /** * Create audience for uploading user IDs (by JSON) diff --git a/lib/manage-audience/model/createAudienceGroupResponse.ts b/lib/manage-audience/model/createAudienceGroupResponse.ts index 0697255c3..1d40acb1c 100644 --- a/lib/manage-audience/model/createAudienceGroupResponse.ts +++ b/lib/manage-audience/model/createAudienceGroupResponse.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { AudienceGroupType } from "./audienceGroupType"; +import { AudienceGroupType } from "./audienceGroupType.js"; /** * Create audience for uploading user IDs (by JSON) diff --git a/lib/manage-audience/model/createClickBasedAudienceGroupResponse.ts b/lib/manage-audience/model/createClickBasedAudienceGroupResponse.ts index 4ee7125f2..f3d861651 100644 --- a/lib/manage-audience/model/createClickBasedAudienceGroupResponse.ts +++ b/lib/manage-audience/model/createClickBasedAudienceGroupResponse.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { AudienceGroupType } from "./audienceGroupType"; +import { AudienceGroupType } from "./audienceGroupType.js"; /** * Create audience for click-based retargeting diff --git a/lib/manage-audience/model/createImpBasedAudienceGroupResponse.ts b/lib/manage-audience/model/createImpBasedAudienceGroupResponse.ts index 2f949fd03..02e05b681 100644 --- a/lib/manage-audience/model/createImpBasedAudienceGroupResponse.ts +++ b/lib/manage-audience/model/createImpBasedAudienceGroupResponse.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { AudienceGroupType } from "./audienceGroupType"; +import { AudienceGroupType } from "./audienceGroupType.js"; /** * Create audience for impression-based retargeting diff --git a/lib/manage-audience/model/errorResponse.ts b/lib/manage-audience/model/errorResponse.ts index 3c6763bbe..a0e8fafcf 100644 --- a/lib/manage-audience/model/errorResponse.ts +++ b/lib/manage-audience/model/errorResponse.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { ErrorDetail } from "./errorDetail"; +import { ErrorDetail } from "./errorDetail.js"; export type ErrorResponse = { /** diff --git a/lib/manage-audience/model/getAudienceDataResponse.ts b/lib/manage-audience/model/getAudienceDataResponse.ts index 221536d07..890dea29a 100644 --- a/lib/manage-audience/model/getAudienceDataResponse.ts +++ b/lib/manage-audience/model/getAudienceDataResponse.ts @@ -10,8 +10,8 @@ * Do not edit the class manually. */ -import { AudienceGroup } from "./audienceGroup"; -import { AudienceGroupJob } from "./audienceGroupJob"; +import { AudienceGroup } from "./audienceGroup.js"; +import { AudienceGroupJob } from "./audienceGroupJob.js"; /** * Get audience data diff --git a/lib/manage-audience/model/getAudienceGroupAuthorityLevelResponse.ts b/lib/manage-audience/model/getAudienceGroupAuthorityLevelResponse.ts index 35f203824..d340d1fa6 100644 --- a/lib/manage-audience/model/getAudienceGroupAuthorityLevelResponse.ts +++ b/lib/manage-audience/model/getAudienceGroupAuthorityLevelResponse.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { AudienceGroupAuthorityLevel } from "./audienceGroupAuthorityLevel"; +import { AudienceGroupAuthorityLevel } from "./audienceGroupAuthorityLevel.js"; /** * Get the authority level of the audience diff --git a/lib/manage-audience/model/getAudienceGroupsResponse.ts b/lib/manage-audience/model/getAudienceGroupsResponse.ts index 7307e811f..19439f240 100644 --- a/lib/manage-audience/model/getAudienceGroupsResponse.ts +++ b/lib/manage-audience/model/getAudienceGroupsResponse.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { AudienceGroup } from "./audienceGroup"; +import { AudienceGroup } from "./audienceGroup.js"; /** * Gets data for more than one audience. diff --git a/lib/manage-audience/model/models.ts b/lib/manage-audience/model/models.ts index 7fd0566c7..b54782c72 100644 --- a/lib/manage-audience/model/models.ts +++ b/lib/manage-audience/model/models.ts @@ -1,26 +1,26 @@ -export * from "./addAudienceToAudienceGroupRequest"; -export * from "./audience"; -export * from "./audienceGroup"; -export * from "./audienceGroupAuthorityLevel"; -export * from "./audienceGroupCreateRoute"; -export * from "./audienceGroupFailedType"; -export * from "./audienceGroupJob"; -export * from "./audienceGroupJobFailedType"; -export * from "./audienceGroupJobStatus"; -export * from "./audienceGroupJobType"; -export * from "./audienceGroupPermission"; -export * from "./audienceGroupStatus"; -export * from "./audienceGroupType"; -export * from "./createAudienceGroupRequest"; -export * from "./createAudienceGroupResponse"; -export * from "./createClickBasedAudienceGroupRequest"; -export * from "./createClickBasedAudienceGroupResponse"; -export * from "./createImpBasedAudienceGroupRequest"; -export * from "./createImpBasedAudienceGroupResponse"; -export * from "./errorDetail"; -export * from "./errorResponse"; -export * from "./getAudienceDataResponse"; -export * from "./getAudienceGroupAuthorityLevelResponse"; -export * from "./getAudienceGroupsResponse"; -export * from "./updateAudienceGroupAuthorityLevelRequest"; -export * from "./updateAudienceGroupDescriptionRequest"; +export * from "./addAudienceToAudienceGroupRequest.js"; +export * from "./audience.js"; +export * from "./audienceGroup.js"; +export * from "./audienceGroupAuthorityLevel.js"; +export * from "./audienceGroupCreateRoute.js"; +export * from "./audienceGroupFailedType.js"; +export * from "./audienceGroupJob.js"; +export * from "./audienceGroupJobFailedType.js"; +export * from "./audienceGroupJobStatus.js"; +export * from "./audienceGroupJobType.js"; +export * from "./audienceGroupPermission.js"; +export * from "./audienceGroupStatus.js"; +export * from "./audienceGroupType.js"; +export * from "./createAudienceGroupRequest.js"; +export * from "./createAudienceGroupResponse.js"; +export * from "./createClickBasedAudienceGroupRequest.js"; +export * from "./createClickBasedAudienceGroupResponse.js"; +export * from "./createImpBasedAudienceGroupRequest.js"; +export * from "./createImpBasedAudienceGroupResponse.js"; +export * from "./errorDetail.js"; +export * from "./errorResponse.js"; +export * from "./getAudienceDataResponse.js"; +export * from "./getAudienceGroupAuthorityLevelResponse.js"; +export * from "./getAudienceGroupsResponse.js"; +export * from "./updateAudienceGroupAuthorityLevelRequest.js"; +export * from "./updateAudienceGroupDescriptionRequest.js"; diff --git a/lib/manage-audience/model/updateAudienceGroupAuthorityLevelRequest.ts b/lib/manage-audience/model/updateAudienceGroupAuthorityLevelRequest.ts index 2879db757..bdab03953 100644 --- a/lib/manage-audience/model/updateAudienceGroupAuthorityLevelRequest.ts +++ b/lib/manage-audience/model/updateAudienceGroupAuthorityLevelRequest.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { AudienceGroupAuthorityLevel } from "./audienceGroupAuthorityLevel"; +import { AudienceGroupAuthorityLevel } from "./audienceGroupAuthorityLevel.js"; /** * Change the authority level of the audience diff --git a/lib/manage-audience/tests/api/ManageAudienceBlobClientTest.spec.ts b/lib/manage-audience/tests/api/ManageAudienceBlobClientTest.spec.ts index a949b33cc..a5df33c2d 100644 --- a/lib/manage-audience/tests/api/ManageAudienceBlobClientTest.spec.ts +++ b/lib/manage-audience/tests/api/ManageAudienceBlobClientTest.spec.ts @@ -1,6 +1,6 @@ -import { ManageAudienceBlobClient } from "../../api"; +import { ManageAudienceBlobClient } from "../../api.js"; -import { CreateAudienceGroupResponse } from "../../model/createAudienceGroupResponse"; +import { CreateAudienceGroupResponse } from "../../model/createAudienceGroupResponse.js"; import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; diff --git a/lib/manage-audience/tests/api/ManageAudienceClientTest.spec.ts b/lib/manage-audience/tests/api/ManageAudienceClientTest.spec.ts index 33cabd68e..a0f6d269f 100644 --- a/lib/manage-audience/tests/api/ManageAudienceClientTest.spec.ts +++ b/lib/manage-audience/tests/api/ManageAudienceClientTest.spec.ts @@ -1,20 +1,20 @@ -import { ManageAudienceClient } from "../../api"; - -import { AddAudienceToAudienceGroupRequest } from "../../model/addAudienceToAudienceGroupRequest"; -import { AudienceGroupCreateRoute } from "../../model/audienceGroupCreateRoute"; -import { AudienceGroupStatus } from "../../model/audienceGroupStatus"; -import { CreateAudienceGroupRequest } from "../../model/createAudienceGroupRequest"; -import { CreateAudienceGroupResponse } from "../../model/createAudienceGroupResponse"; -import { CreateClickBasedAudienceGroupRequest } from "../../model/createClickBasedAudienceGroupRequest"; -import { CreateClickBasedAudienceGroupResponse } from "../../model/createClickBasedAudienceGroupResponse"; -import { CreateImpBasedAudienceGroupRequest } from "../../model/createImpBasedAudienceGroupRequest"; -import { CreateImpBasedAudienceGroupResponse } from "../../model/createImpBasedAudienceGroupResponse"; -import { ErrorResponse } from "../../model/errorResponse"; -import { GetAudienceDataResponse } from "../../model/getAudienceDataResponse"; -import { GetAudienceGroupAuthorityLevelResponse } from "../../model/getAudienceGroupAuthorityLevelResponse"; -import { GetAudienceGroupsResponse } from "../../model/getAudienceGroupsResponse"; -import { UpdateAudienceGroupAuthorityLevelRequest } from "../../model/updateAudienceGroupAuthorityLevelRequest"; -import { UpdateAudienceGroupDescriptionRequest } from "../../model/updateAudienceGroupDescriptionRequest"; +import { ManageAudienceClient } from "../../api.js"; + +import { AddAudienceToAudienceGroupRequest } from "../../model/addAudienceToAudienceGroupRequest.js"; +import { AudienceGroupCreateRoute } from "../../model/audienceGroupCreateRoute.js"; +import { AudienceGroupStatus } from "../../model/audienceGroupStatus.js"; +import { CreateAudienceGroupRequest } from "../../model/createAudienceGroupRequest.js"; +import { CreateAudienceGroupResponse } from "../../model/createAudienceGroupResponse.js"; +import { CreateClickBasedAudienceGroupRequest } from "../../model/createClickBasedAudienceGroupRequest.js"; +import { CreateClickBasedAudienceGroupResponse } from "../../model/createClickBasedAudienceGroupResponse.js"; +import { CreateImpBasedAudienceGroupRequest } from "../../model/createImpBasedAudienceGroupRequest.js"; +import { CreateImpBasedAudienceGroupResponse } from "../../model/createImpBasedAudienceGroupResponse.js"; +import { ErrorResponse } from "../../model/errorResponse.js"; +import { GetAudienceDataResponse } from "../../model/getAudienceDataResponse.js"; +import { GetAudienceGroupAuthorityLevelResponse } from "../../model/getAudienceGroupAuthorityLevelResponse.js"; +import { GetAudienceGroupsResponse } from "../../model/getAudienceGroupsResponse.js"; +import { UpdateAudienceGroupAuthorityLevelRequest } from "../../model/updateAudienceGroupAuthorityLevelRequest.js"; +import { UpdateAudienceGroupDescriptionRequest } from "../../model/updateAudienceGroupDescriptionRequest.js"; import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; diff --git a/lib/messaging-api/api.ts b/lib/messaging-api/api.ts index eeedcdab6..ea34fcbaf 100644 --- a/lib/messaging-api/api.ts +++ b/lib/messaging-api/api.ts @@ -1,3 +1,3 @@ // This is the entrypoint for the package -export * from "./api/apis"; -export * from "./model/models"; +export * from "./api/apis.js"; +export * from "./model/models.js"; diff --git a/lib/messaging-api/api/apis.ts b/lib/messaging-api/api/apis.ts index fe311f03a..11b64b943 100644 --- a/lib/messaging-api/api/apis.ts +++ b/lib/messaging-api/api/apis.ts @@ -1,2 +1,2 @@ -export { MessagingApiClient } from "./messagingApiClient"; -export { MessagingApiBlobClient } from "./messagingApiBlobClient"; +export { MessagingApiClient } from "./messagingApiClient.js"; +export { MessagingApiBlobClient } from "./messagingApiBlobClient.js"; diff --git a/lib/messaging-api/api/messagingApiBlobClient.ts b/lib/messaging-api/api/messagingApiBlobClient.ts index ee461015f..f3f610705 100644 --- a/lib/messaging-api/api/messagingApiBlobClient.ts +++ b/lib/messaging-api/api/messagingApiBlobClient.ts @@ -11,13 +11,15 @@ */ /* tslint:disable:no-unused-locals */ -import { GetMessageContentTranscodingResponse } from "../model/getMessageContentTranscodingResponse"; +import { GetMessageContentTranscodingResponse } from "../model/getMessageContentTranscodingResponse.js"; -import * as Types from "../../types"; -import { ensureJSON } from "../../utils"; +import * as Types from "../../types.js"; +import { ensureJSON } from "../../utils.js"; import { Readable } from "node:stream"; -import HTTPFetchClient, { convertResponseToReadable } from "../../http-fetch"; +import HTTPFetchClient, { + convertResponseToReadable, +} from "../../http-fetch.js"; // =============================================== // This file is autogenerated - Please do not edit diff --git a/lib/messaging-api/api/messagingApiClient.ts b/lib/messaging-api/api/messagingApiClient.ts index aa81d7513..f421ae7f6 100644 --- a/lib/messaging-api/api/messagingApiClient.ts +++ b/lib/messaging-api/api/messagingApiClient.ts @@ -11,56 +11,58 @@ */ /* tslint:disable:no-unused-locals */ -import { AudienceMatchMessagesRequest } from "../model/audienceMatchMessagesRequest"; -import { BotInfoResponse } from "../model/botInfoResponse"; -import { BroadcastRequest } from "../model/broadcastRequest"; -import { CreateRichMenuAliasRequest } from "../model/createRichMenuAliasRequest"; -import { ErrorResponse } from "../model/errorResponse"; -import { GetAggregationUnitNameListResponse } from "../model/getAggregationUnitNameListResponse"; -import { GetAggregationUnitUsageResponse } from "../model/getAggregationUnitUsageResponse"; -import { GetFollowersResponse } from "../model/getFollowersResponse"; -import { GetWebhookEndpointResponse } from "../model/getWebhookEndpointResponse"; -import { GroupMemberCountResponse } from "../model/groupMemberCountResponse"; -import { GroupSummaryResponse } from "../model/groupSummaryResponse"; -import { GroupUserProfileResponse } from "../model/groupUserProfileResponse"; -import { IssueLinkTokenResponse } from "../model/issueLinkTokenResponse"; -import { MarkMessagesAsReadRequest } from "../model/markMessagesAsReadRequest"; -import { MembersIdsResponse } from "../model/membersIdsResponse"; -import { MessageQuotaResponse } from "../model/messageQuotaResponse"; -import { MulticastRequest } from "../model/multicastRequest"; -import { NarrowcastProgressResponse } from "../model/narrowcastProgressResponse"; -import { NarrowcastRequest } from "../model/narrowcastRequest"; -import { NumberOfMessagesResponse } from "../model/numberOfMessagesResponse"; -import { PnpMessagesRequest } from "../model/pnpMessagesRequest"; -import { PushMessageRequest } from "../model/pushMessageRequest"; -import { PushMessageResponse } from "../model/pushMessageResponse"; -import { QuotaConsumptionResponse } from "../model/quotaConsumptionResponse"; -import { ReplyMessageRequest } from "../model/replyMessageRequest"; -import { ReplyMessageResponse } from "../model/replyMessageResponse"; -import { RichMenuAliasListResponse } from "../model/richMenuAliasListResponse"; -import { RichMenuAliasResponse } from "../model/richMenuAliasResponse"; -import { RichMenuBatchProgressResponse } from "../model/richMenuBatchProgressResponse"; -import { RichMenuBatchRequest } from "../model/richMenuBatchRequest"; -import { RichMenuBulkLinkRequest } from "../model/richMenuBulkLinkRequest"; -import { RichMenuBulkUnlinkRequest } from "../model/richMenuBulkUnlinkRequest"; -import { RichMenuIdResponse } from "../model/richMenuIdResponse"; -import { RichMenuListResponse } from "../model/richMenuListResponse"; -import { RichMenuRequest } from "../model/richMenuRequest"; -import { RichMenuResponse } from "../model/richMenuResponse"; -import { RoomMemberCountResponse } from "../model/roomMemberCountResponse"; -import { RoomUserProfileResponse } from "../model/roomUserProfileResponse"; -import { SetWebhookEndpointRequest } from "../model/setWebhookEndpointRequest"; -import { TestWebhookEndpointRequest } from "../model/testWebhookEndpointRequest"; -import { TestWebhookEndpointResponse } from "../model/testWebhookEndpointResponse"; -import { UpdateRichMenuAliasRequest } from "../model/updateRichMenuAliasRequest"; -import { UserProfileResponse } from "../model/userProfileResponse"; -import { ValidateMessageRequest } from "../model/validateMessageRequest"; - -import * as Types from "../../types"; -import { ensureJSON } from "../../utils"; +import { AudienceMatchMessagesRequest } from "../model/audienceMatchMessagesRequest.js"; +import { BotInfoResponse } from "../model/botInfoResponse.js"; +import { BroadcastRequest } from "../model/broadcastRequest.js"; +import { CreateRichMenuAliasRequest } from "../model/createRichMenuAliasRequest.js"; +import { ErrorResponse } from "../model/errorResponse.js"; +import { GetAggregationUnitNameListResponse } from "../model/getAggregationUnitNameListResponse.js"; +import { GetAggregationUnitUsageResponse } from "../model/getAggregationUnitUsageResponse.js"; +import { GetFollowersResponse } from "../model/getFollowersResponse.js"; +import { GetWebhookEndpointResponse } from "../model/getWebhookEndpointResponse.js"; +import { GroupMemberCountResponse } from "../model/groupMemberCountResponse.js"; +import { GroupSummaryResponse } from "../model/groupSummaryResponse.js"; +import { GroupUserProfileResponse } from "../model/groupUserProfileResponse.js"; +import { IssueLinkTokenResponse } from "../model/issueLinkTokenResponse.js"; +import { MarkMessagesAsReadRequest } from "../model/markMessagesAsReadRequest.js"; +import { MembersIdsResponse } from "../model/membersIdsResponse.js"; +import { MessageQuotaResponse } from "../model/messageQuotaResponse.js"; +import { MulticastRequest } from "../model/multicastRequest.js"; +import { NarrowcastProgressResponse } from "../model/narrowcastProgressResponse.js"; +import { NarrowcastRequest } from "../model/narrowcastRequest.js"; +import { NumberOfMessagesResponse } from "../model/numberOfMessagesResponse.js"; +import { PnpMessagesRequest } from "../model/pnpMessagesRequest.js"; +import { PushMessageRequest } from "../model/pushMessageRequest.js"; +import { PushMessageResponse } from "../model/pushMessageResponse.js"; +import { QuotaConsumptionResponse } from "../model/quotaConsumptionResponse.js"; +import { ReplyMessageRequest } from "../model/replyMessageRequest.js"; +import { ReplyMessageResponse } from "../model/replyMessageResponse.js"; +import { RichMenuAliasListResponse } from "../model/richMenuAliasListResponse.js"; +import { RichMenuAliasResponse } from "../model/richMenuAliasResponse.js"; +import { RichMenuBatchProgressResponse } from "../model/richMenuBatchProgressResponse.js"; +import { RichMenuBatchRequest } from "../model/richMenuBatchRequest.js"; +import { RichMenuBulkLinkRequest } from "../model/richMenuBulkLinkRequest.js"; +import { RichMenuBulkUnlinkRequest } from "../model/richMenuBulkUnlinkRequest.js"; +import { RichMenuIdResponse } from "../model/richMenuIdResponse.js"; +import { RichMenuListResponse } from "../model/richMenuListResponse.js"; +import { RichMenuRequest } from "../model/richMenuRequest.js"; +import { RichMenuResponse } from "../model/richMenuResponse.js"; +import { RoomMemberCountResponse } from "../model/roomMemberCountResponse.js"; +import { RoomUserProfileResponse } from "../model/roomUserProfileResponse.js"; +import { SetWebhookEndpointRequest } from "../model/setWebhookEndpointRequest.js"; +import { TestWebhookEndpointRequest } from "../model/testWebhookEndpointRequest.js"; +import { TestWebhookEndpointResponse } from "../model/testWebhookEndpointResponse.js"; +import { UpdateRichMenuAliasRequest } from "../model/updateRichMenuAliasRequest.js"; +import { UserProfileResponse } from "../model/userProfileResponse.js"; +import { ValidateMessageRequest } from "../model/validateMessageRequest.js"; + +import * as Types from "../../types.js"; +import { ensureJSON } from "../../utils.js"; import { Readable } from "node:stream"; -import HTTPFetchClient, { convertResponseToReadable } from "../../http-fetch"; +import HTTPFetchClient, { + convertResponseToReadable, +} from "../../http-fetch.js"; // =============================================== // This file is autogenerated - Please do not edit diff --git a/lib/messaging-api/model/action.ts b/lib/messaging-api/model/action.ts index 8b6a98c35..d03217626 100644 --- a/lib/messaging-api/model/action.ts +++ b/lib/messaging-api/model/action.ts @@ -10,15 +10,15 @@ * Do not edit the class manually. */ -import { CameraAction } from "./models"; -import { CameraRollAction } from "./models"; -import { ClipboardAction } from "./models"; -import { DatetimePickerAction } from "./models"; -import { LocationAction } from "./models"; -import { MessageAction } from "./models"; -import { PostbackAction } from "./models"; -import { RichMenuSwitchAction } from "./models"; -import { URIAction } from "./models"; +import { CameraAction } from "./models.js"; +import { CameraRollAction } from "./models.js"; +import { ClipboardAction } from "./models.js"; +import { DatetimePickerAction } from "./models.js"; +import { LocationAction } from "./models.js"; +import { MessageAction } from "./models.js"; +import { PostbackAction } from "./models.js"; +import { RichMenuSwitchAction } from "./models.js"; +import { URIAction } from "./models.js"; export type Action = | CameraAction // camera diff --git a/lib/messaging-api/model/ageDemographicFilter.ts b/lib/messaging-api/model/ageDemographicFilter.ts index 983d33aa5..3855532f3 100644 --- a/lib/messaging-api/model/ageDemographicFilter.ts +++ b/lib/messaging-api/model/ageDemographicFilter.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ -import { AgeDemographic } from "./ageDemographic"; -import { DemographicFilter } from "./demographicFilter"; +import { AgeDemographic } from "./ageDemographic.js"; +import { DemographicFilter } from "./demographicFilter.js"; -import { DemographicFilterBase } from "./models"; +import { DemographicFilterBase } from "./models.js"; export type AgeDemographicFilter = DemographicFilterBase & { type: "age"; diff --git a/lib/messaging-api/model/appTypeDemographicFilter.ts b/lib/messaging-api/model/appTypeDemographicFilter.ts index f2cd486ae..d63e73f9d 100644 --- a/lib/messaging-api/model/appTypeDemographicFilter.ts +++ b/lib/messaging-api/model/appTypeDemographicFilter.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ -import { AppTypeDemographic } from "./appTypeDemographic"; -import { DemographicFilter } from "./demographicFilter"; +import { AppTypeDemographic } from "./appTypeDemographic.js"; +import { DemographicFilter } from "./demographicFilter.js"; -import { DemographicFilterBase } from "./models"; +import { DemographicFilterBase } from "./models.js"; export type AppTypeDemographicFilter = DemographicFilterBase & { type: "appType"; diff --git a/lib/messaging-api/model/areaDemographicFilter.ts b/lib/messaging-api/model/areaDemographicFilter.ts index 5fd608295..7aa36ab16 100644 --- a/lib/messaging-api/model/areaDemographicFilter.ts +++ b/lib/messaging-api/model/areaDemographicFilter.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ -import { AreaDemographic } from "./areaDemographic"; -import { DemographicFilter } from "./demographicFilter"; +import { AreaDemographic } from "./areaDemographic.js"; +import { DemographicFilter } from "./demographicFilter.js"; -import { DemographicFilterBase } from "./models"; +import { DemographicFilterBase } from "./models.js"; export type AreaDemographicFilter = DemographicFilterBase & { type: "area"; diff --git a/lib/messaging-api/model/audienceMatchMessagesRequest.ts b/lib/messaging-api/model/audienceMatchMessagesRequest.ts index fd56fa7ce..7644d5f1e 100644 --- a/lib/messaging-api/model/audienceMatchMessagesRequest.ts +++ b/lib/messaging-api/model/audienceMatchMessagesRequest.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { Message } from "./message"; +import { Message } from "./message.js"; export type AudienceMatchMessagesRequest = { /** diff --git a/lib/messaging-api/model/audienceRecipient.ts b/lib/messaging-api/model/audienceRecipient.ts index 9881f4ddd..456ad81f9 100644 --- a/lib/messaging-api/model/audienceRecipient.ts +++ b/lib/messaging-api/model/audienceRecipient.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { Recipient } from "./recipient"; +import { Recipient } from "./recipient.js"; -import { RecipientBase } from "./models"; +import { RecipientBase } from "./models.js"; export type AudienceRecipient = RecipientBase & { type: "audience"; diff --git a/lib/messaging-api/model/audioMessage.ts b/lib/messaging-api/model/audioMessage.ts index 1c624f6e1..1114dc0f5 100644 --- a/lib/messaging-api/model/audioMessage.ts +++ b/lib/messaging-api/model/audioMessage.ts @@ -10,11 +10,11 @@ * Do not edit the class manually. */ -import { Message } from "./message"; -import { QuickReply } from "./quickReply"; -import { Sender } from "./sender"; +import { Message } from "./message.js"; +import { QuickReply } from "./quickReply.js"; +import { Sender } from "./sender.js"; -import { MessageBase } from "./models"; +import { MessageBase } from "./models.js"; export type AudioMessage = MessageBase & { type: "audio"; diff --git a/lib/messaging-api/model/broadcastRequest.ts b/lib/messaging-api/model/broadcastRequest.ts index 698542eb3..14d48949d 100644 --- a/lib/messaging-api/model/broadcastRequest.ts +++ b/lib/messaging-api/model/broadcastRequest.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { Message } from "./message"; +import { Message } from "./message.js"; export type BroadcastRequest = { /** diff --git a/lib/messaging-api/model/buttonsTemplate.ts b/lib/messaging-api/model/buttonsTemplate.ts index d593923b4..31f16a8d0 100644 --- a/lib/messaging-api/model/buttonsTemplate.ts +++ b/lib/messaging-api/model/buttonsTemplate.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ -import { Action } from "./action"; -import { Template } from "./template"; +import { Action } from "./action.js"; +import { Template } from "./template.js"; -import { TemplateBase } from "./models"; +import { TemplateBase } from "./models.js"; export type ButtonsTemplate = TemplateBase & { type: "buttons"; diff --git a/lib/messaging-api/model/cameraAction.ts b/lib/messaging-api/model/cameraAction.ts index 66ea11744..347266492 100644 --- a/lib/messaging-api/model/cameraAction.ts +++ b/lib/messaging-api/model/cameraAction.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { Action } from "./action"; +import { Action } from "./action.js"; -import { ActionBase } from "./models"; +import { ActionBase } from "./models.js"; export type CameraAction = ActionBase & { type: "camera"; diff --git a/lib/messaging-api/model/cameraRollAction.ts b/lib/messaging-api/model/cameraRollAction.ts index 34cd5e8f7..e6ba0f995 100644 --- a/lib/messaging-api/model/cameraRollAction.ts +++ b/lib/messaging-api/model/cameraRollAction.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { Action } from "./action"; +import { Action } from "./action.js"; -import { ActionBase } from "./models"; +import { ActionBase } from "./models.js"; export type CameraRollAction = ActionBase & { type: "cameraRoll"; diff --git a/lib/messaging-api/model/carouselColumn.ts b/lib/messaging-api/model/carouselColumn.ts index a667a3ae8..606f4b9c9 100644 --- a/lib/messaging-api/model/carouselColumn.ts +++ b/lib/messaging-api/model/carouselColumn.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { Action } from "./action"; +import { Action } from "./action.js"; /** * Column object for carousel template. diff --git a/lib/messaging-api/model/carouselTemplate.ts b/lib/messaging-api/model/carouselTemplate.ts index 4d199bada..76864121a 100644 --- a/lib/messaging-api/model/carouselTemplate.ts +++ b/lib/messaging-api/model/carouselTemplate.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ -import { CarouselColumn } from "./carouselColumn"; -import { Template } from "./template"; +import { CarouselColumn } from "./carouselColumn.js"; +import { Template } from "./template.js"; -import { TemplateBase } from "./models"; +import { TemplateBase } from "./models.js"; export type CarouselTemplate = TemplateBase & { type: "carousel"; diff --git a/lib/messaging-api/model/clipboardAction.ts b/lib/messaging-api/model/clipboardAction.ts index d5361cbf8..b9b014aba 100644 --- a/lib/messaging-api/model/clipboardAction.ts +++ b/lib/messaging-api/model/clipboardAction.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { Action } from "./action"; +import { Action } from "./action.js"; -import { ActionBase } from "./models"; +import { ActionBase } from "./models.js"; export type ClipboardAction = ActionBase & { type: "clipboard"; diff --git a/lib/messaging-api/model/clipboardImagemapAction.ts b/lib/messaging-api/model/clipboardImagemapAction.ts index b3ce632ec..35afd5c9f 100644 --- a/lib/messaging-api/model/clipboardImagemapAction.ts +++ b/lib/messaging-api/model/clipboardImagemapAction.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ -import { ImagemapAction } from "./imagemapAction"; -import { ImagemapArea } from "./imagemapArea"; +import { ImagemapAction } from "./imagemapAction.js"; +import { ImagemapArea } from "./imagemapArea.js"; -import { ImagemapActionBase } from "./models"; +import { ImagemapActionBase } from "./models.js"; export type ClipboardImagemapAction = ImagemapActionBase & { type: "clipboard"; diff --git a/lib/messaging-api/model/confirmTemplate.ts b/lib/messaging-api/model/confirmTemplate.ts index 94ef258a7..11a76cdf9 100644 --- a/lib/messaging-api/model/confirmTemplate.ts +++ b/lib/messaging-api/model/confirmTemplate.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ -import { Action } from "./action"; -import { Template } from "./template"; +import { Action } from "./action.js"; +import { Template } from "./template.js"; -import { TemplateBase } from "./models"; +import { TemplateBase } from "./models.js"; export type ConfirmTemplate = TemplateBase & { type: "confirm"; diff --git a/lib/messaging-api/model/datetimePickerAction.ts b/lib/messaging-api/model/datetimePickerAction.ts index 92130914a..7764d4bdf 100644 --- a/lib/messaging-api/model/datetimePickerAction.ts +++ b/lib/messaging-api/model/datetimePickerAction.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { Action } from "./action"; +import { Action } from "./action.js"; -import { ActionBase } from "./models"; +import { ActionBase } from "./models.js"; export type DatetimePickerAction = ActionBase & { type: "datetimepicker"; diff --git a/lib/messaging-api/model/demographicFilter.ts b/lib/messaging-api/model/demographicFilter.ts index 63502a869..8f40af607 100644 --- a/lib/messaging-api/model/demographicFilter.ts +++ b/lib/messaging-api/model/demographicFilter.ts @@ -10,12 +10,12 @@ * Do not edit the class manually. */ -import { AgeDemographicFilter } from "./models"; -import { AppTypeDemographicFilter } from "./models"; -import { AreaDemographicFilter } from "./models"; -import { GenderDemographicFilter } from "./models"; -import { OperatorDemographicFilter } from "./models"; -import { SubscriptionPeriodDemographicFilter } from "./models"; +import { AgeDemographicFilter } from "./models.js"; +import { AppTypeDemographicFilter } from "./models.js"; +import { AreaDemographicFilter } from "./models.js"; +import { GenderDemographicFilter } from "./models.js"; +import { OperatorDemographicFilter } from "./models.js"; +import { SubscriptionPeriodDemographicFilter } from "./models.js"; export type DemographicFilter = | AgeDemographicFilter // age diff --git a/lib/messaging-api/model/errorResponse.ts b/lib/messaging-api/model/errorResponse.ts index 897443ce9..cb9fcb4f2 100644 --- a/lib/messaging-api/model/errorResponse.ts +++ b/lib/messaging-api/model/errorResponse.ts @@ -10,8 +10,8 @@ * Do not edit the class manually. */ -import { ErrorDetail } from "./errorDetail"; -import { SentMessage } from "./sentMessage"; +import { ErrorDetail } from "./errorDetail.js"; +import { SentMessage } from "./sentMessage.js"; export type ErrorResponse = { /** diff --git a/lib/messaging-api/model/filter.ts b/lib/messaging-api/model/filter.ts index cc7376520..253890fc4 100644 --- a/lib/messaging-api/model/filter.ts +++ b/lib/messaging-api/model/filter.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { DemographicFilter } from "./demographicFilter"; +import { DemographicFilter } from "./demographicFilter.js"; /** * Filter for narrowcast diff --git a/lib/messaging-api/model/flexBox.ts b/lib/messaging-api/model/flexBox.ts index f5fefa259..a58d6020c 100644 --- a/lib/messaging-api/model/flexBox.ts +++ b/lib/messaging-api/model/flexBox.ts @@ -10,11 +10,11 @@ * Do not edit the class manually. */ -import { Action } from "./action"; -import { FlexBoxBackground } from "./flexBoxBackground"; -import { FlexComponent } from "./flexComponent"; +import { Action } from "./action.js"; +import { FlexBoxBackground } from "./flexBoxBackground.js"; +import { FlexComponent } from "./flexComponent.js"; -import { FlexComponentBase } from "./models"; +import { FlexComponentBase } from "./models.js"; export type FlexBox = FlexComponentBase & { type: "box"; diff --git a/lib/messaging-api/model/flexBoxBackground.ts b/lib/messaging-api/model/flexBoxBackground.ts index d3a9ae4be..101becd95 100644 --- a/lib/messaging-api/model/flexBoxBackground.ts +++ b/lib/messaging-api/model/flexBoxBackground.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { FlexBoxLinearGradient } from "./models"; +import { FlexBoxLinearGradient } from "./models.js"; export type FlexBoxBackground = | FlexBoxLinearGradient // linearGradient diff --git a/lib/messaging-api/model/flexBoxLinearGradient.ts b/lib/messaging-api/model/flexBoxLinearGradient.ts index 57f15af24..ae3f27505 100644 --- a/lib/messaging-api/model/flexBoxLinearGradient.ts +++ b/lib/messaging-api/model/flexBoxLinearGradient.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { FlexBoxBackground } from "./flexBoxBackground"; +import { FlexBoxBackground } from "./flexBoxBackground.js"; -import { FlexBoxBackgroundBase } from "./models"; +import { FlexBoxBackgroundBase } from "./models.js"; export type FlexBoxLinearGradient = FlexBoxBackgroundBase & { type: "linearGradient"; diff --git a/lib/messaging-api/model/flexBubble.ts b/lib/messaging-api/model/flexBubble.ts index 191dc1fb9..bfb5c6354 100644 --- a/lib/messaging-api/model/flexBubble.ts +++ b/lib/messaging-api/model/flexBubble.ts @@ -10,13 +10,13 @@ * Do not edit the class manually. */ -import { Action } from "./action"; -import { FlexBox } from "./flexBox"; -import { FlexBubbleStyles } from "./flexBubbleStyles"; -import { FlexComponent } from "./flexComponent"; -import { FlexContainer } from "./flexContainer"; +import { Action } from "./action.js"; +import { FlexBox } from "./flexBox.js"; +import { FlexBubbleStyles } from "./flexBubbleStyles.js"; +import { FlexComponent } from "./flexComponent.js"; +import { FlexContainer } from "./flexContainer.js"; -import { FlexContainerBase } from "./models"; +import { FlexContainerBase } from "./models.js"; export type FlexBubble = FlexContainerBase & { type: "bubble"; diff --git a/lib/messaging-api/model/flexBubbleStyles.ts b/lib/messaging-api/model/flexBubbleStyles.ts index b09c5d4e9..eb559734a 100644 --- a/lib/messaging-api/model/flexBubbleStyles.ts +++ b/lib/messaging-api/model/flexBubbleStyles.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { FlexBlockStyle } from "./flexBlockStyle"; +import { FlexBlockStyle } from "./flexBlockStyle.js"; export type FlexBubbleStyles = { /** diff --git a/lib/messaging-api/model/flexButton.ts b/lib/messaging-api/model/flexButton.ts index c87ec37e6..155199d6d 100644 --- a/lib/messaging-api/model/flexButton.ts +++ b/lib/messaging-api/model/flexButton.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ -import { Action } from "./action"; -import { FlexComponent } from "./flexComponent"; +import { Action } from "./action.js"; +import { FlexComponent } from "./flexComponent.js"; -import { FlexComponentBase } from "./models"; +import { FlexComponentBase } from "./models.js"; export type FlexButton = FlexComponentBase & { type: "button"; diff --git a/lib/messaging-api/model/flexCarousel.ts b/lib/messaging-api/model/flexCarousel.ts index 250c31235..7eff23827 100644 --- a/lib/messaging-api/model/flexCarousel.ts +++ b/lib/messaging-api/model/flexCarousel.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ -import { FlexBubble } from "./flexBubble"; -import { FlexContainer } from "./flexContainer"; +import { FlexBubble } from "./flexBubble.js"; +import { FlexContainer } from "./flexContainer.js"; -import { FlexContainerBase } from "./models"; +import { FlexContainerBase } from "./models.js"; export type FlexCarousel = FlexContainerBase & { type: "carousel"; diff --git a/lib/messaging-api/model/flexComponent.ts b/lib/messaging-api/model/flexComponent.ts index e24a841e8..5fe658d9b 100644 --- a/lib/messaging-api/model/flexComponent.ts +++ b/lib/messaging-api/model/flexComponent.ts @@ -10,15 +10,15 @@ * Do not edit the class manually. */ -import { FlexBox } from "./models"; -import { FlexButton } from "./models"; -import { FlexFiller } from "./models"; -import { FlexIcon } from "./models"; -import { FlexImage } from "./models"; -import { FlexSeparator } from "./models"; -import { FlexSpan } from "./models"; -import { FlexText } from "./models"; -import { FlexVideo } from "./models"; +import { FlexBox } from "./models.js"; +import { FlexButton } from "./models.js"; +import { FlexFiller } from "./models.js"; +import { FlexIcon } from "./models.js"; +import { FlexImage } from "./models.js"; +import { FlexSeparator } from "./models.js"; +import { FlexSpan } from "./models.js"; +import { FlexText } from "./models.js"; +import { FlexVideo } from "./models.js"; export type FlexComponent = | FlexBox // box diff --git a/lib/messaging-api/model/flexContainer.ts b/lib/messaging-api/model/flexContainer.ts index 59d276208..af44239c2 100644 --- a/lib/messaging-api/model/flexContainer.ts +++ b/lib/messaging-api/model/flexContainer.ts @@ -10,8 +10,8 @@ * Do not edit the class manually. */ -import { FlexBubble } from "./models"; -import { FlexCarousel } from "./models"; +import { FlexBubble } from "./models.js"; +import { FlexCarousel } from "./models.js"; export type FlexContainer = | FlexBubble // bubble diff --git a/lib/messaging-api/model/flexFiller.ts b/lib/messaging-api/model/flexFiller.ts index f043221da..5373d91cc 100644 --- a/lib/messaging-api/model/flexFiller.ts +++ b/lib/messaging-api/model/flexFiller.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { FlexComponent } from "./flexComponent"; +import { FlexComponent } from "./flexComponent.js"; -import { FlexComponentBase } from "./models"; +import { FlexComponentBase } from "./models.js"; export type FlexFiller = FlexComponentBase & { type: "filler"; diff --git a/lib/messaging-api/model/flexIcon.ts b/lib/messaging-api/model/flexIcon.ts index 90f988cce..b77675546 100644 --- a/lib/messaging-api/model/flexIcon.ts +++ b/lib/messaging-api/model/flexIcon.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { FlexComponent } from "./flexComponent"; +import { FlexComponent } from "./flexComponent.js"; -import { FlexComponentBase } from "./models"; +import { FlexComponentBase } from "./models.js"; export type FlexIcon = FlexComponentBase & { type: "icon"; diff --git a/lib/messaging-api/model/flexImage.ts b/lib/messaging-api/model/flexImage.ts index b72187390..33279e5e2 100644 --- a/lib/messaging-api/model/flexImage.ts +++ b/lib/messaging-api/model/flexImage.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ -import { Action } from "./action"; -import { FlexComponent } from "./flexComponent"; +import { Action } from "./action.js"; +import { FlexComponent } from "./flexComponent.js"; -import { FlexComponentBase } from "./models"; +import { FlexComponentBase } from "./models.js"; export type FlexImage = FlexComponentBase & { type: "image"; diff --git a/lib/messaging-api/model/flexMessage.ts b/lib/messaging-api/model/flexMessage.ts index bbff35570..506e35537 100644 --- a/lib/messaging-api/model/flexMessage.ts +++ b/lib/messaging-api/model/flexMessage.ts @@ -10,12 +10,12 @@ * Do not edit the class manually. */ -import { FlexContainer } from "./flexContainer"; -import { Message } from "./message"; -import { QuickReply } from "./quickReply"; -import { Sender } from "./sender"; +import { FlexContainer } from "./flexContainer.js"; +import { Message } from "./message.js"; +import { QuickReply } from "./quickReply.js"; +import { Sender } from "./sender.js"; -import { MessageBase } from "./models"; +import { MessageBase } from "./models.js"; export type FlexMessage = MessageBase & { type: "flex"; diff --git a/lib/messaging-api/model/flexSeparator.ts b/lib/messaging-api/model/flexSeparator.ts index 289fdfdbc..5d53e2318 100644 --- a/lib/messaging-api/model/flexSeparator.ts +++ b/lib/messaging-api/model/flexSeparator.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { FlexComponent } from "./flexComponent"; +import { FlexComponent } from "./flexComponent.js"; -import { FlexComponentBase } from "./models"; +import { FlexComponentBase } from "./models.js"; export type FlexSeparator = FlexComponentBase & { type: "separator"; diff --git a/lib/messaging-api/model/flexSpan.ts b/lib/messaging-api/model/flexSpan.ts index a88440bd6..b622048e8 100644 --- a/lib/messaging-api/model/flexSpan.ts +++ b/lib/messaging-api/model/flexSpan.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { FlexComponent } from "./flexComponent"; +import { FlexComponent } from "./flexComponent.js"; -import { FlexComponentBase } from "./models"; +import { FlexComponentBase } from "./models.js"; export type FlexSpan = FlexComponentBase & { type: "span"; diff --git a/lib/messaging-api/model/flexText.ts b/lib/messaging-api/model/flexText.ts index a139fdd4d..1da5f9225 100644 --- a/lib/messaging-api/model/flexText.ts +++ b/lib/messaging-api/model/flexText.ts @@ -10,11 +10,11 @@ * Do not edit the class manually. */ -import { Action } from "./action"; -import { FlexComponent } from "./flexComponent"; -import { FlexSpan } from "./flexSpan"; +import { Action } from "./action.js"; +import { FlexComponent } from "./flexComponent.js"; +import { FlexSpan } from "./flexSpan.js"; -import { FlexComponentBase } from "./models"; +import { FlexComponentBase } from "./models.js"; export type FlexText = FlexComponentBase & { type: "text"; diff --git a/lib/messaging-api/model/flexVideo.ts b/lib/messaging-api/model/flexVideo.ts index 79e310ca7..f1e137c28 100644 --- a/lib/messaging-api/model/flexVideo.ts +++ b/lib/messaging-api/model/flexVideo.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ -import { Action } from "./action"; -import { FlexComponent } from "./flexComponent"; +import { Action } from "./action.js"; +import { FlexComponent } from "./flexComponent.js"; -import { FlexComponentBase } from "./models"; +import { FlexComponentBase } from "./models.js"; export type FlexVideo = FlexComponentBase & { type: "video"; diff --git a/lib/messaging-api/model/genderDemographicFilter.ts b/lib/messaging-api/model/genderDemographicFilter.ts index 324fd1a5e..4378e60c7 100644 --- a/lib/messaging-api/model/genderDemographicFilter.ts +++ b/lib/messaging-api/model/genderDemographicFilter.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ -import { DemographicFilter } from "./demographicFilter"; -import { GenderDemographic } from "./genderDemographic"; +import { DemographicFilter } from "./demographicFilter.js"; +import { GenderDemographic } from "./genderDemographic.js"; -import { DemographicFilterBase } from "./models"; +import { DemographicFilterBase } from "./models.js"; export type GenderDemographicFilter = DemographicFilterBase & { type: "gender"; diff --git a/lib/messaging-api/model/imageCarouselColumn.ts b/lib/messaging-api/model/imageCarouselColumn.ts index aae74c566..415ea5210 100644 --- a/lib/messaging-api/model/imageCarouselColumn.ts +++ b/lib/messaging-api/model/imageCarouselColumn.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { Action } from "./action"; +import { Action } from "./action.js"; export type ImageCarouselColumn = { /** diff --git a/lib/messaging-api/model/imageCarouselTemplate.ts b/lib/messaging-api/model/imageCarouselTemplate.ts index e8133919f..68276dadf 100644 --- a/lib/messaging-api/model/imageCarouselTemplate.ts +++ b/lib/messaging-api/model/imageCarouselTemplate.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ -import { ImageCarouselColumn } from "./imageCarouselColumn"; -import { Template } from "./template"; +import { ImageCarouselColumn } from "./imageCarouselColumn.js"; +import { Template } from "./template.js"; -import { TemplateBase } from "./models"; +import { TemplateBase } from "./models.js"; export type ImageCarouselTemplate = TemplateBase & { type: "image_carousel"; diff --git a/lib/messaging-api/model/imageMessage.ts b/lib/messaging-api/model/imageMessage.ts index e1c23c2ad..84af4eb73 100644 --- a/lib/messaging-api/model/imageMessage.ts +++ b/lib/messaging-api/model/imageMessage.ts @@ -10,11 +10,11 @@ * Do not edit the class manually. */ -import { Message } from "./message"; -import { QuickReply } from "./quickReply"; -import { Sender } from "./sender"; +import { Message } from "./message.js"; +import { QuickReply } from "./quickReply.js"; +import { Sender } from "./sender.js"; -import { MessageBase } from "./models"; +import { MessageBase } from "./models.js"; export type ImageMessage = MessageBase & { type: "image"; diff --git a/lib/messaging-api/model/imagemapAction.ts b/lib/messaging-api/model/imagemapAction.ts index 96a58384d..b200dfbcb 100644 --- a/lib/messaging-api/model/imagemapAction.ts +++ b/lib/messaging-api/model/imagemapAction.ts @@ -10,11 +10,11 @@ * Do not edit the class manually. */ -import { ImagemapArea } from "./imagemapArea"; +import { ImagemapArea } from "./imagemapArea.js"; -import { ClipboardImagemapAction } from "./models"; -import { MessageImagemapAction } from "./models"; -import { URIImagemapAction } from "./models"; +import { ClipboardImagemapAction } from "./models.js"; +import { MessageImagemapAction } from "./models.js"; +import { URIImagemapAction } from "./models.js"; export type ImagemapAction = | ClipboardImagemapAction // clipboard diff --git a/lib/messaging-api/model/imagemapMessage.ts b/lib/messaging-api/model/imagemapMessage.ts index f7ff7f51d..a52a351fc 100644 --- a/lib/messaging-api/model/imagemapMessage.ts +++ b/lib/messaging-api/model/imagemapMessage.ts @@ -10,14 +10,14 @@ * Do not edit the class manually. */ -import { ImagemapAction } from "./imagemapAction"; -import { ImagemapBaseSize } from "./imagemapBaseSize"; -import { ImagemapVideo } from "./imagemapVideo"; -import { Message } from "./message"; -import { QuickReply } from "./quickReply"; -import { Sender } from "./sender"; +import { ImagemapAction } from "./imagemapAction.js"; +import { ImagemapBaseSize } from "./imagemapBaseSize.js"; +import { ImagemapVideo } from "./imagemapVideo.js"; +import { Message } from "./message.js"; +import { QuickReply } from "./quickReply.js"; +import { Sender } from "./sender.js"; -import { MessageBase } from "./models"; +import { MessageBase } from "./models.js"; export type ImagemapMessage = MessageBase & { type: "imagemap"; diff --git a/lib/messaging-api/model/imagemapVideo.ts b/lib/messaging-api/model/imagemapVideo.ts index 7d7c330a8..c351bfe16 100644 --- a/lib/messaging-api/model/imagemapVideo.ts +++ b/lib/messaging-api/model/imagemapVideo.ts @@ -10,8 +10,8 @@ * Do not edit the class manually. */ -import { ImagemapArea } from "./imagemapArea"; -import { ImagemapExternalLink } from "./imagemapExternalLink"; +import { ImagemapArea } from "./imagemapArea.js"; +import { ImagemapExternalLink } from "./imagemapExternalLink.js"; export type ImagemapVideo = { /** diff --git a/lib/messaging-api/model/locationAction.ts b/lib/messaging-api/model/locationAction.ts index 17102320f..afbc9210d 100644 --- a/lib/messaging-api/model/locationAction.ts +++ b/lib/messaging-api/model/locationAction.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { Action } from "./action"; +import { Action } from "./action.js"; -import { ActionBase } from "./models"; +import { ActionBase } from "./models.js"; export type LocationAction = ActionBase & { type: "location"; diff --git a/lib/messaging-api/model/locationMessage.ts b/lib/messaging-api/model/locationMessage.ts index 4c4d7dd21..b8927458c 100644 --- a/lib/messaging-api/model/locationMessage.ts +++ b/lib/messaging-api/model/locationMessage.ts @@ -10,11 +10,11 @@ * Do not edit the class manually. */ -import { Message } from "./message"; -import { QuickReply } from "./quickReply"; -import { Sender } from "./sender"; +import { Message } from "./message.js"; +import { QuickReply } from "./quickReply.js"; +import { Sender } from "./sender.js"; -import { MessageBase } from "./models"; +import { MessageBase } from "./models.js"; export type LocationMessage = MessageBase & { type: "location"; diff --git a/lib/messaging-api/model/markMessagesAsReadRequest.ts b/lib/messaging-api/model/markMessagesAsReadRequest.ts index de556a8f1..83545e14f 100644 --- a/lib/messaging-api/model/markMessagesAsReadRequest.ts +++ b/lib/messaging-api/model/markMessagesAsReadRequest.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { ChatReference } from "./chatReference"; +import { ChatReference } from "./chatReference.js"; export type MarkMessagesAsReadRequest = { /** diff --git a/lib/messaging-api/model/message.ts b/lib/messaging-api/model/message.ts index 55dadd8b3..2bd20131a 100644 --- a/lib/messaging-api/model/message.ts +++ b/lib/messaging-api/model/message.ts @@ -10,18 +10,18 @@ * Do not edit the class manually. */ -import { QuickReply } from "./quickReply"; -import { Sender } from "./sender"; +import { QuickReply } from "./quickReply.js"; +import { Sender } from "./sender.js"; -import { AudioMessage } from "./models"; -import { FlexMessage } from "./models"; -import { ImageMessage } from "./models"; -import { ImagemapMessage } from "./models"; -import { LocationMessage } from "./models"; -import { StickerMessage } from "./models"; -import { TemplateMessage } from "./models"; -import { TextMessage } from "./models"; -import { VideoMessage } from "./models"; +import { AudioMessage } from "./models.js"; +import { FlexMessage } from "./models.js"; +import { ImageMessage } from "./models.js"; +import { ImagemapMessage } from "./models.js"; +import { LocationMessage } from "./models.js"; +import { StickerMessage } from "./models.js"; +import { TemplateMessage } from "./models.js"; +import { TextMessage } from "./models.js"; +import { VideoMessage } from "./models.js"; export type Message = | AudioMessage // audio diff --git a/lib/messaging-api/model/messageAction.ts b/lib/messaging-api/model/messageAction.ts index 38c907cc8..a9121b069 100644 --- a/lib/messaging-api/model/messageAction.ts +++ b/lib/messaging-api/model/messageAction.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { Action } from "./action"; +import { Action } from "./action.js"; -import { ActionBase } from "./models"; +import { ActionBase } from "./models.js"; export type MessageAction = ActionBase & { type: "message"; diff --git a/lib/messaging-api/model/messageImagemapAction.ts b/lib/messaging-api/model/messageImagemapAction.ts index aa668c3a8..5d2aae146 100644 --- a/lib/messaging-api/model/messageImagemapAction.ts +++ b/lib/messaging-api/model/messageImagemapAction.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ -import { ImagemapAction } from "./imagemapAction"; -import { ImagemapArea } from "./imagemapArea"; +import { ImagemapAction } from "./imagemapAction.js"; +import { ImagemapArea } from "./imagemapArea.js"; -import { ImagemapActionBase } from "./models"; +import { ImagemapActionBase } from "./models.js"; export type MessageImagemapAction = ImagemapActionBase & { type: "message"; diff --git a/lib/messaging-api/model/messageQuotaResponse.ts b/lib/messaging-api/model/messageQuotaResponse.ts index c4e08df9c..27b0766bb 100644 --- a/lib/messaging-api/model/messageQuotaResponse.ts +++ b/lib/messaging-api/model/messageQuotaResponse.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { QuotaType } from "./quotaType"; +import { QuotaType } from "./quotaType.js"; export type MessageQuotaResponse = { /** diff --git a/lib/messaging-api/model/models.ts b/lib/messaging-api/model/models.ts index 6b4a3bc0f..2f06a028a 100644 --- a/lib/messaging-api/model/models.ts +++ b/lib/messaging-api/model/models.ts @@ -1,144 +1,144 @@ -export * from "./action"; -export * from "./ageDemographic"; -export * from "./ageDemographicFilter"; -export * from "./altUri"; -export * from "./appTypeDemographic"; -export * from "./appTypeDemographicFilter"; -export * from "./areaDemographic"; -export * from "./areaDemographicFilter"; -export * from "./audienceMatchMessagesRequest"; -export * from "./audienceRecipient"; -export * from "./audioMessage"; -export * from "./botInfoResponse"; -export * from "./broadcastRequest"; -export * from "./buttonsTemplate"; -export * from "./cameraAction"; -export * from "./cameraRollAction"; -export * from "./carouselColumn"; -export * from "./carouselTemplate"; -export * from "./chatReference"; -export * from "./clipboardAction"; -export * from "./clipboardImagemapAction"; -export * from "./confirmTemplate"; -export * from "./createRichMenuAliasRequest"; -export * from "./datetimePickerAction"; -export * from "./demographicFilter"; -export * from "./emoji"; -export * from "./errorDetail"; -export * from "./errorResponse"; -export * from "./filter"; -export * from "./flexBlockStyle"; -export * from "./flexBox"; -export * from "./flexBoxBackground"; -export * from "./flexBoxBorderWidth"; -export * from "./flexBoxCornerRadius"; -export * from "./flexBoxLinearGradient"; -export * from "./flexBoxPadding"; -export * from "./flexBoxSpacing"; -export * from "./flexBubble"; -export * from "./flexBubbleStyles"; -export * from "./flexButton"; -export * from "./flexCarousel"; -export * from "./flexComponent"; -export * from "./flexContainer"; -export * from "./flexFiller"; -export * from "./flexIcon"; -export * from "./flexIconSize"; -export * from "./flexImage"; -export * from "./flexImageSize"; -export * from "./flexMargin"; -export * from "./flexMessage"; -export * from "./flexOffset"; -export * from "./flexSeparator"; -export * from "./flexSpan"; -export * from "./flexSpanSize"; -export * from "./flexText"; -export * from "./flexTextFontSize"; -export * from "./flexVideo"; -export * from "./genderDemographic"; -export * from "./genderDemographicFilter"; -export * from "./getAggregationUnitNameListResponse"; -export * from "./getAggregationUnitUsageResponse"; -export * from "./getFollowersResponse"; -export * from "./getMessageContentTranscodingResponse"; -export * from "./getWebhookEndpointResponse"; -export * from "./groupMemberCountResponse"; -export * from "./groupSummaryResponse"; -export * from "./groupUserProfileResponse"; -export * from "./imageCarouselColumn"; -export * from "./imageCarouselTemplate"; -export * from "./imageMessage"; -export * from "./imagemapAction"; -export * from "./imagemapArea"; -export * from "./imagemapBaseSize"; -export * from "./imagemapExternalLink"; -export * from "./imagemapMessage"; -export * from "./imagemapVideo"; -export * from "./issueLinkTokenResponse"; -export * from "./limit"; -export * from "./locationAction"; -export * from "./locationMessage"; -export * from "./markMessagesAsReadRequest"; -export * from "./membersIdsResponse"; -export * from "./message"; -export * from "./messageAction"; -export * from "./messageImagemapAction"; -export * from "./messageQuotaResponse"; -export * from "./multicastRequest"; -export * from "./narrowcastProgressResponse"; -export * from "./narrowcastRequest"; -export * from "./numberOfMessagesResponse"; -export * from "./operatorDemographicFilter"; -export * from "./operatorRecipient"; -export * from "./pnpMessagesRequest"; -export * from "./postbackAction"; -export * from "./pushMessageRequest"; -export * from "./pushMessageResponse"; -export * from "./quickReply"; -export * from "./quickReplyItem"; -export * from "./quotaConsumptionResponse"; -export * from "./quotaType"; -export * from "./recipient"; -export * from "./redeliveryRecipient"; -export * from "./replyMessageRequest"; -export * from "./replyMessageResponse"; -export * from "./richMenuAliasListResponse"; -export * from "./richMenuAliasResponse"; -export * from "./richMenuArea"; -export * from "./richMenuBatchLinkOperation"; -export * from "./richMenuBatchOperation"; -export * from "./richMenuBatchProgressPhase"; -export * from "./richMenuBatchProgressResponse"; -export * from "./richMenuBatchRequest"; -export * from "./richMenuBatchUnlinkAllOperation"; -export * from "./richMenuBatchUnlinkOperation"; -export * from "./richMenuBounds"; -export * from "./richMenuBulkLinkRequest"; -export * from "./richMenuBulkUnlinkRequest"; -export * from "./richMenuIdResponse"; -export * from "./richMenuListResponse"; -export * from "./richMenuRequest"; -export * from "./richMenuResponse"; -export * from "./richMenuSize"; -export * from "./richMenuSwitchAction"; -export * from "./roomMemberCountResponse"; -export * from "./roomUserProfileResponse"; -export * from "./sender"; -export * from "./sentMessage"; -export * from "./setWebhookEndpointRequest"; -export * from "./stickerMessage"; -export * from "./subscriptionPeriodDemographic"; -export * from "./subscriptionPeriodDemographicFilter"; -export * from "./template"; -export * from "./templateImageAspectRatio"; -export * from "./templateImageSize"; -export * from "./templateMessage"; -export * from "./testWebhookEndpointRequest"; -export * from "./testWebhookEndpointResponse"; -export * from "./textMessage"; -export * from "./uRIAction"; -export * from "./uRIImagemapAction"; -export * from "./updateRichMenuAliasRequest"; -export * from "./userProfileResponse"; -export * from "./validateMessageRequest"; -export * from "./videoMessage"; +export * from "./action.js"; +export * from "./ageDemographic.js"; +export * from "./ageDemographicFilter.js"; +export * from "./altUri.js"; +export * from "./appTypeDemographic.js"; +export * from "./appTypeDemographicFilter.js"; +export * from "./areaDemographic.js"; +export * from "./areaDemographicFilter.js"; +export * from "./audienceMatchMessagesRequest.js"; +export * from "./audienceRecipient.js"; +export * from "./audioMessage.js"; +export * from "./botInfoResponse.js"; +export * from "./broadcastRequest.js"; +export * from "./buttonsTemplate.js"; +export * from "./cameraAction.js"; +export * from "./cameraRollAction.js"; +export * from "./carouselColumn.js"; +export * from "./carouselTemplate.js"; +export * from "./chatReference.js"; +export * from "./clipboardAction.js"; +export * from "./clipboardImagemapAction.js"; +export * from "./confirmTemplate.js"; +export * from "./createRichMenuAliasRequest.js"; +export * from "./datetimePickerAction.js"; +export * from "./demographicFilter.js"; +export * from "./emoji.js"; +export * from "./errorDetail.js"; +export * from "./errorResponse.js"; +export * from "./filter.js"; +export * from "./flexBlockStyle.js"; +export * from "./flexBox.js"; +export * from "./flexBoxBackground.js"; +export * from "./flexBoxBorderWidth.js"; +export * from "./flexBoxCornerRadius.js"; +export * from "./flexBoxLinearGradient.js"; +export * from "./flexBoxPadding.js"; +export * from "./flexBoxSpacing.js"; +export * from "./flexBubble.js"; +export * from "./flexBubbleStyles.js"; +export * from "./flexButton.js"; +export * from "./flexCarousel.js"; +export * from "./flexComponent.js"; +export * from "./flexContainer.js"; +export * from "./flexFiller.js"; +export * from "./flexIcon.js"; +export * from "./flexIconSize.js"; +export * from "./flexImage.js"; +export * from "./flexImageSize.js"; +export * from "./flexMargin.js"; +export * from "./flexMessage.js"; +export * from "./flexOffset.js"; +export * from "./flexSeparator.js"; +export * from "./flexSpan.js"; +export * from "./flexSpanSize.js"; +export * from "./flexText.js"; +export * from "./flexTextFontSize.js"; +export * from "./flexVideo.js"; +export * from "./genderDemographic.js"; +export * from "./genderDemographicFilter.js"; +export * from "./getAggregationUnitNameListResponse.js"; +export * from "./getAggregationUnitUsageResponse.js"; +export * from "./getFollowersResponse.js"; +export * from "./getMessageContentTranscodingResponse.js"; +export * from "./getWebhookEndpointResponse.js"; +export * from "./groupMemberCountResponse.js"; +export * from "./groupSummaryResponse.js"; +export * from "./groupUserProfileResponse.js"; +export * from "./imageCarouselColumn.js"; +export * from "./imageCarouselTemplate.js"; +export * from "./imageMessage.js"; +export * from "./imagemapAction.js"; +export * from "./imagemapArea.js"; +export * from "./imagemapBaseSize.js"; +export * from "./imagemapExternalLink.js"; +export * from "./imagemapMessage.js"; +export * from "./imagemapVideo.js"; +export * from "./issueLinkTokenResponse.js"; +export * from "./limit.js"; +export * from "./locationAction.js"; +export * from "./locationMessage.js"; +export * from "./markMessagesAsReadRequest.js"; +export * from "./membersIdsResponse.js"; +export * from "./message.js"; +export * from "./messageAction.js"; +export * from "./messageImagemapAction.js"; +export * from "./messageQuotaResponse.js"; +export * from "./multicastRequest.js"; +export * from "./narrowcastProgressResponse.js"; +export * from "./narrowcastRequest.js"; +export * from "./numberOfMessagesResponse.js"; +export * from "./operatorDemographicFilter.js"; +export * from "./operatorRecipient.js"; +export * from "./pnpMessagesRequest.js"; +export * from "./postbackAction.js"; +export * from "./pushMessageRequest.js"; +export * from "./pushMessageResponse.js"; +export * from "./quickReply.js"; +export * from "./quickReplyItem.js"; +export * from "./quotaConsumptionResponse.js"; +export * from "./quotaType.js"; +export * from "./recipient.js"; +export * from "./redeliveryRecipient.js"; +export * from "./replyMessageRequest.js"; +export * from "./replyMessageResponse.js"; +export * from "./richMenuAliasListResponse.js"; +export * from "./richMenuAliasResponse.js"; +export * from "./richMenuArea.js"; +export * from "./richMenuBatchLinkOperation.js"; +export * from "./richMenuBatchOperation.js"; +export * from "./richMenuBatchProgressPhase.js"; +export * from "./richMenuBatchProgressResponse.js"; +export * from "./richMenuBatchRequest.js"; +export * from "./richMenuBatchUnlinkAllOperation.js"; +export * from "./richMenuBatchUnlinkOperation.js"; +export * from "./richMenuBounds.js"; +export * from "./richMenuBulkLinkRequest.js"; +export * from "./richMenuBulkUnlinkRequest.js"; +export * from "./richMenuIdResponse.js"; +export * from "./richMenuListResponse.js"; +export * from "./richMenuRequest.js"; +export * from "./richMenuResponse.js"; +export * from "./richMenuSize.js"; +export * from "./richMenuSwitchAction.js"; +export * from "./roomMemberCountResponse.js"; +export * from "./roomUserProfileResponse.js"; +export * from "./sender.js"; +export * from "./sentMessage.js"; +export * from "./setWebhookEndpointRequest.js"; +export * from "./stickerMessage.js"; +export * from "./subscriptionPeriodDemographic.js"; +export * from "./subscriptionPeriodDemographicFilter.js"; +export * from "./template.js"; +export * from "./templateImageAspectRatio.js"; +export * from "./templateImageSize.js"; +export * from "./templateMessage.js"; +export * from "./testWebhookEndpointRequest.js"; +export * from "./testWebhookEndpointResponse.js"; +export * from "./textMessage.js"; +export * from "./uRIAction.js"; +export * from "./uRIImagemapAction.js"; +export * from "./updateRichMenuAliasRequest.js"; +export * from "./userProfileResponse.js"; +export * from "./validateMessageRequest.js"; +export * from "./videoMessage.js"; diff --git a/lib/messaging-api/model/multicastRequest.ts b/lib/messaging-api/model/multicastRequest.ts index c09a695c9..50aa110c3 100644 --- a/lib/messaging-api/model/multicastRequest.ts +++ b/lib/messaging-api/model/multicastRequest.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { Message } from "./message"; +import { Message } from "./message.js"; export type MulticastRequest = { /** diff --git a/lib/messaging-api/model/narrowcastRequest.ts b/lib/messaging-api/model/narrowcastRequest.ts index 6bca5f02d..fe52cc024 100644 --- a/lib/messaging-api/model/narrowcastRequest.ts +++ b/lib/messaging-api/model/narrowcastRequest.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ -import { Filter } from "./filter"; -import { Limit } from "./limit"; -import { Message } from "./message"; -import { Recipient } from "./recipient"; +import { Filter } from "./filter.js"; +import { Limit } from "./limit.js"; +import { Message } from "./message.js"; +import { Recipient } from "./recipient.js"; export type NarrowcastRequest = { /** diff --git a/lib/messaging-api/model/operatorDemographicFilter.ts b/lib/messaging-api/model/operatorDemographicFilter.ts index 48bf6121a..bfa21d5ea 100644 --- a/lib/messaging-api/model/operatorDemographicFilter.ts +++ b/lib/messaging-api/model/operatorDemographicFilter.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { DemographicFilter } from "./demographicFilter"; +import { DemographicFilter } from "./demographicFilter.js"; -import { DemographicFilterBase } from "./models"; +import { DemographicFilterBase } from "./models.js"; export type OperatorDemographicFilter = DemographicFilterBase & { type: "operator"; diff --git a/lib/messaging-api/model/operatorRecipient.ts b/lib/messaging-api/model/operatorRecipient.ts index 0e3db9c8b..b8ba0e22c 100644 --- a/lib/messaging-api/model/operatorRecipient.ts +++ b/lib/messaging-api/model/operatorRecipient.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { Recipient } from "./recipient"; +import { Recipient } from "./recipient.js"; -import { RecipientBase } from "./models"; +import { RecipientBase } from "./models.js"; export type OperatorRecipient = RecipientBase & { type: "operator"; diff --git a/lib/messaging-api/model/pnpMessagesRequest.ts b/lib/messaging-api/model/pnpMessagesRequest.ts index da6e5c4c7..9433c6f88 100644 --- a/lib/messaging-api/model/pnpMessagesRequest.ts +++ b/lib/messaging-api/model/pnpMessagesRequest.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { Message } from "./message"; +import { Message } from "./message.js"; export type PnpMessagesRequest = { /** diff --git a/lib/messaging-api/model/postbackAction.ts b/lib/messaging-api/model/postbackAction.ts index 0cd73cdbe..b7b34c7a1 100644 --- a/lib/messaging-api/model/postbackAction.ts +++ b/lib/messaging-api/model/postbackAction.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { Action } from "./action"; +import { Action } from "./action.js"; -import { ActionBase } from "./models"; +import { ActionBase } from "./models.js"; export type PostbackAction = ActionBase & { type: "postback"; diff --git a/lib/messaging-api/model/pushMessageRequest.ts b/lib/messaging-api/model/pushMessageRequest.ts index 2c9a64d45..f29a0c1da 100644 --- a/lib/messaging-api/model/pushMessageRequest.ts +++ b/lib/messaging-api/model/pushMessageRequest.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { Message } from "./message"; +import { Message } from "./message.js"; export type PushMessageRequest = { /** diff --git a/lib/messaging-api/model/pushMessageResponse.ts b/lib/messaging-api/model/pushMessageResponse.ts index 3e9769cae..d2aca967d 100644 --- a/lib/messaging-api/model/pushMessageResponse.ts +++ b/lib/messaging-api/model/pushMessageResponse.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { SentMessage } from "./sentMessage"; +import { SentMessage } from "./sentMessage.js"; export type PushMessageResponse = { /** diff --git a/lib/messaging-api/model/quickReply.ts b/lib/messaging-api/model/quickReply.ts index 3b48a0c70..8c24292bc 100644 --- a/lib/messaging-api/model/quickReply.ts +++ b/lib/messaging-api/model/quickReply.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { QuickReplyItem } from "./quickReplyItem"; +import { QuickReplyItem } from "./quickReplyItem.js"; /** * Quick reply diff --git a/lib/messaging-api/model/quickReplyItem.ts b/lib/messaging-api/model/quickReplyItem.ts index a4e593aa5..acdde4285 100644 --- a/lib/messaging-api/model/quickReplyItem.ts +++ b/lib/messaging-api/model/quickReplyItem.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { Action } from "./action"; +import { Action } from "./action.js"; export type QuickReplyItem = { /** diff --git a/lib/messaging-api/model/recipient.ts b/lib/messaging-api/model/recipient.ts index 9d9b9bb6c..8de4805e3 100644 --- a/lib/messaging-api/model/recipient.ts +++ b/lib/messaging-api/model/recipient.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { AudienceRecipient } from "./models"; -import { OperatorRecipient } from "./models"; -import { RedeliveryRecipient } from "./models"; +import { AudienceRecipient } from "./models.js"; +import { OperatorRecipient } from "./models.js"; +import { RedeliveryRecipient } from "./models.js"; export type Recipient = | AudienceRecipient // audience diff --git a/lib/messaging-api/model/redeliveryRecipient.ts b/lib/messaging-api/model/redeliveryRecipient.ts index 009b442ae..368ebda9a 100644 --- a/lib/messaging-api/model/redeliveryRecipient.ts +++ b/lib/messaging-api/model/redeliveryRecipient.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { Recipient } from "./recipient"; +import { Recipient } from "./recipient.js"; -import { RecipientBase } from "./models"; +import { RecipientBase } from "./models.js"; export type RedeliveryRecipient = RecipientBase & { type: "redelivery"; diff --git a/lib/messaging-api/model/replyMessageRequest.ts b/lib/messaging-api/model/replyMessageRequest.ts index 83a97f5d2..376c8cbab 100644 --- a/lib/messaging-api/model/replyMessageRequest.ts +++ b/lib/messaging-api/model/replyMessageRequest.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { Message } from "./message"; +import { Message } from "./message.js"; export type ReplyMessageRequest = { /** diff --git a/lib/messaging-api/model/replyMessageResponse.ts b/lib/messaging-api/model/replyMessageResponse.ts index 37d6cbfce..2f03b47a0 100644 --- a/lib/messaging-api/model/replyMessageResponse.ts +++ b/lib/messaging-api/model/replyMessageResponse.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { SentMessage } from "./sentMessage"; +import { SentMessage } from "./sentMessage.js"; export type ReplyMessageResponse = { /** diff --git a/lib/messaging-api/model/richMenuAliasListResponse.ts b/lib/messaging-api/model/richMenuAliasListResponse.ts index bf42acbb9..e031e887d 100644 --- a/lib/messaging-api/model/richMenuAliasListResponse.ts +++ b/lib/messaging-api/model/richMenuAliasListResponse.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { RichMenuAliasResponse } from "./richMenuAliasResponse"; +import { RichMenuAliasResponse } from "./richMenuAliasResponse.js"; export type RichMenuAliasListResponse = { /** diff --git a/lib/messaging-api/model/richMenuArea.ts b/lib/messaging-api/model/richMenuArea.ts index d1a0a06b1..119c1cab5 100644 --- a/lib/messaging-api/model/richMenuArea.ts +++ b/lib/messaging-api/model/richMenuArea.ts @@ -10,8 +10,8 @@ * Do not edit the class manually. */ -import { Action } from "./action"; -import { RichMenuBounds } from "./richMenuBounds"; +import { Action } from "./action.js"; +import { RichMenuBounds } from "./richMenuBounds.js"; /** * Rich menu area diff --git a/lib/messaging-api/model/richMenuBatchLinkOperation.ts b/lib/messaging-api/model/richMenuBatchLinkOperation.ts index cd432fa8c..755595586 100644 --- a/lib/messaging-api/model/richMenuBatchLinkOperation.ts +++ b/lib/messaging-api/model/richMenuBatchLinkOperation.ts @@ -10,12 +10,12 @@ * Do not edit the class manually. */ -import { RichMenuBatchOperation } from "./richMenuBatchOperation"; +import { RichMenuBatchOperation } from "./richMenuBatchOperation.js"; /** * Replace the rich menu with the rich menu specified in the `to` property for all users linked to the rich menu specified in the `from` property. */ -import { RichMenuBatchOperationBase } from "./models"; +import { RichMenuBatchOperationBase } from "./models.js"; export type RichMenuBatchLinkOperation = RichMenuBatchOperationBase & { type: "link"; diff --git a/lib/messaging-api/model/richMenuBatchOperation.ts b/lib/messaging-api/model/richMenuBatchOperation.ts index 8ca767c29..02ad148fd 100644 --- a/lib/messaging-api/model/richMenuBatchOperation.ts +++ b/lib/messaging-api/model/richMenuBatchOperation.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { RichMenuBatchLinkOperation } from "./models"; -import { RichMenuBatchUnlinkOperation } from "./models"; -import { RichMenuBatchUnlinkAllOperation } from "./models"; +import { RichMenuBatchLinkOperation } from "./models.js"; +import { RichMenuBatchUnlinkOperation } from "./models.js"; +import { RichMenuBatchUnlinkAllOperation } from "./models.js"; export type RichMenuBatchOperation = | RichMenuBatchLinkOperation // link diff --git a/lib/messaging-api/model/richMenuBatchProgressResponse.ts b/lib/messaging-api/model/richMenuBatchProgressResponse.ts index 1963bf81e..960d5ef27 100644 --- a/lib/messaging-api/model/richMenuBatchProgressResponse.ts +++ b/lib/messaging-api/model/richMenuBatchProgressResponse.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { RichMenuBatchProgressPhase } from "./richMenuBatchProgressPhase"; +import { RichMenuBatchProgressPhase } from "./richMenuBatchProgressPhase.js"; export type RichMenuBatchProgressResponse = { /** diff --git a/lib/messaging-api/model/richMenuBatchRequest.ts b/lib/messaging-api/model/richMenuBatchRequest.ts index 946b83545..437803cff 100644 --- a/lib/messaging-api/model/richMenuBatchRequest.ts +++ b/lib/messaging-api/model/richMenuBatchRequest.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { RichMenuBatchOperation } from "./richMenuBatchOperation"; +import { RichMenuBatchOperation } from "./richMenuBatchOperation.js"; export type RichMenuBatchRequest = { /** diff --git a/lib/messaging-api/model/richMenuBatchUnlinkAllOperation.ts b/lib/messaging-api/model/richMenuBatchUnlinkAllOperation.ts index 332608860..43ea2726c 100644 --- a/lib/messaging-api/model/richMenuBatchUnlinkAllOperation.ts +++ b/lib/messaging-api/model/richMenuBatchUnlinkAllOperation.ts @@ -10,12 +10,12 @@ * Do not edit the class manually. */ -import { RichMenuBatchOperation } from "./richMenuBatchOperation"; +import { RichMenuBatchOperation } from "./richMenuBatchOperation.js"; /** * Unlink the rich menu from all users linked to the rich menu. */ -import { RichMenuBatchOperationBase } from "./models"; +import { RichMenuBatchOperationBase } from "./models.js"; export type RichMenuBatchUnlinkAllOperation = RichMenuBatchOperationBase & { type: "unlinkAll"; diff --git a/lib/messaging-api/model/richMenuBatchUnlinkOperation.ts b/lib/messaging-api/model/richMenuBatchUnlinkOperation.ts index 36201f143..dc92b2dd9 100644 --- a/lib/messaging-api/model/richMenuBatchUnlinkOperation.ts +++ b/lib/messaging-api/model/richMenuBatchUnlinkOperation.ts @@ -10,12 +10,12 @@ * Do not edit the class manually. */ -import { RichMenuBatchOperation } from "./richMenuBatchOperation"; +import { RichMenuBatchOperation } from "./richMenuBatchOperation.js"; /** * Unlink the rich menu for all users linked to the rich menu specified in the `from` property. */ -import { RichMenuBatchOperationBase } from "./models"; +import { RichMenuBatchOperationBase } from "./models.js"; export type RichMenuBatchUnlinkOperation = RichMenuBatchOperationBase & { type: "unlink"; diff --git a/lib/messaging-api/model/richMenuListResponse.ts b/lib/messaging-api/model/richMenuListResponse.ts index c3fa3828a..c3a87a6d4 100644 --- a/lib/messaging-api/model/richMenuListResponse.ts +++ b/lib/messaging-api/model/richMenuListResponse.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { RichMenuResponse } from "./richMenuResponse"; +import { RichMenuResponse } from "./richMenuResponse.js"; export type RichMenuListResponse = { /** diff --git a/lib/messaging-api/model/richMenuRequest.ts b/lib/messaging-api/model/richMenuRequest.ts index f527f9c61..d35400bd2 100644 --- a/lib/messaging-api/model/richMenuRequest.ts +++ b/lib/messaging-api/model/richMenuRequest.ts @@ -10,8 +10,8 @@ * Do not edit the class manually. */ -import { RichMenuArea } from "./richMenuArea"; -import { RichMenuSize } from "./richMenuSize"; +import { RichMenuArea } from "./richMenuArea.js"; +import { RichMenuSize } from "./richMenuSize.js"; export type RichMenuRequest = { /** diff --git a/lib/messaging-api/model/richMenuResponse.ts b/lib/messaging-api/model/richMenuResponse.ts index 90247af03..630f5f55e 100644 --- a/lib/messaging-api/model/richMenuResponse.ts +++ b/lib/messaging-api/model/richMenuResponse.ts @@ -10,8 +10,8 @@ * Do not edit the class manually. */ -import { RichMenuArea } from "./richMenuArea"; -import { RichMenuSize } from "./richMenuSize"; +import { RichMenuArea } from "./richMenuArea.js"; +import { RichMenuSize } from "./richMenuSize.js"; export type RichMenuResponse = { /** diff --git a/lib/messaging-api/model/richMenuSwitchAction.ts b/lib/messaging-api/model/richMenuSwitchAction.ts index a058eb90e..402d002c1 100644 --- a/lib/messaging-api/model/richMenuSwitchAction.ts +++ b/lib/messaging-api/model/richMenuSwitchAction.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { Action } from "./action"; +import { Action } from "./action.js"; -import { ActionBase } from "./models"; +import { ActionBase } from "./models.js"; export type RichMenuSwitchAction = ActionBase & { type: "richmenuswitch"; diff --git a/lib/messaging-api/model/stickerMessage.ts b/lib/messaging-api/model/stickerMessage.ts index 81e9e222b..f454c4d04 100644 --- a/lib/messaging-api/model/stickerMessage.ts +++ b/lib/messaging-api/model/stickerMessage.ts @@ -10,11 +10,11 @@ * Do not edit the class manually. */ -import { Message } from "./message"; -import { QuickReply } from "./quickReply"; -import { Sender } from "./sender"; +import { Message } from "./message.js"; +import { QuickReply } from "./quickReply.js"; +import { Sender } from "./sender.js"; -import { MessageBase } from "./models"; +import { MessageBase } from "./models.js"; export type StickerMessage = MessageBase & { type: "sticker"; diff --git a/lib/messaging-api/model/subscriptionPeriodDemographicFilter.ts b/lib/messaging-api/model/subscriptionPeriodDemographicFilter.ts index 57e888631..7e3bc7557 100644 --- a/lib/messaging-api/model/subscriptionPeriodDemographicFilter.ts +++ b/lib/messaging-api/model/subscriptionPeriodDemographicFilter.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ -import { DemographicFilter } from "./demographicFilter"; -import { SubscriptionPeriodDemographic } from "./subscriptionPeriodDemographic"; +import { DemographicFilter } from "./demographicFilter.js"; +import { SubscriptionPeriodDemographic } from "./subscriptionPeriodDemographic.js"; -import { DemographicFilterBase } from "./models"; +import { DemographicFilterBase } from "./models.js"; export type SubscriptionPeriodDemographicFilter = DemographicFilterBase & { type: "subscriptionPeriod"; diff --git a/lib/messaging-api/model/template.ts b/lib/messaging-api/model/template.ts index c51817c97..778b31fc0 100644 --- a/lib/messaging-api/model/template.ts +++ b/lib/messaging-api/model/template.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ -import { ButtonsTemplate } from "./models"; -import { CarouselTemplate } from "./models"; -import { ConfirmTemplate } from "./models"; -import { ImageCarouselTemplate } from "./models"; +import { ButtonsTemplate } from "./models.js"; +import { CarouselTemplate } from "./models.js"; +import { ConfirmTemplate } from "./models.js"; +import { ImageCarouselTemplate } from "./models.js"; export type Template = | ButtonsTemplate // buttons diff --git a/lib/messaging-api/model/templateMessage.ts b/lib/messaging-api/model/templateMessage.ts index 8f73cea23..592ea996f 100644 --- a/lib/messaging-api/model/templateMessage.ts +++ b/lib/messaging-api/model/templateMessage.ts @@ -10,12 +10,12 @@ * Do not edit the class manually. */ -import { Message } from "./message"; -import { QuickReply } from "./quickReply"; -import { Sender } from "./sender"; -import { Template } from "./template"; +import { Message } from "./message.js"; +import { QuickReply } from "./quickReply.js"; +import { Sender } from "./sender.js"; +import { Template } from "./template.js"; -import { MessageBase } from "./models"; +import { MessageBase } from "./models.js"; export type TemplateMessage = MessageBase & { type: "template"; diff --git a/lib/messaging-api/model/textMessage.ts b/lib/messaging-api/model/textMessage.ts index 98bd75963..3fd657d59 100644 --- a/lib/messaging-api/model/textMessage.ts +++ b/lib/messaging-api/model/textMessage.ts @@ -10,12 +10,12 @@ * Do not edit the class manually. */ -import { Emoji } from "./emoji"; -import { Message } from "./message"; -import { QuickReply } from "./quickReply"; -import { Sender } from "./sender"; +import { Emoji } from "./emoji.js"; +import { Message } from "./message.js"; +import { QuickReply } from "./quickReply.js"; +import { Sender } from "./sender.js"; -import { MessageBase } from "./models"; +import { MessageBase } from "./models.js"; export type TextMessage = MessageBase & { type: "text"; diff --git a/lib/messaging-api/model/uRIAction.ts b/lib/messaging-api/model/uRIAction.ts index b4ba3e8e9..42fa92d33 100644 --- a/lib/messaging-api/model/uRIAction.ts +++ b/lib/messaging-api/model/uRIAction.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ -import { Action } from "./action"; -import { AltUri } from "./altUri"; +import { Action } from "./action.js"; +import { AltUri } from "./altUri.js"; -import { ActionBase } from "./models"; +import { ActionBase } from "./models.js"; export type URIAction = ActionBase & { type: "uri"; diff --git a/lib/messaging-api/model/uRIImagemapAction.ts b/lib/messaging-api/model/uRIImagemapAction.ts index 6b51c6a8f..739db79a9 100644 --- a/lib/messaging-api/model/uRIImagemapAction.ts +++ b/lib/messaging-api/model/uRIImagemapAction.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ -import { ImagemapAction } from "./imagemapAction"; -import { ImagemapArea } from "./imagemapArea"; +import { ImagemapAction } from "./imagemapAction.js"; +import { ImagemapArea } from "./imagemapArea.js"; -import { ImagemapActionBase } from "./models"; +import { ImagemapActionBase } from "./models.js"; export type URIImagemapAction = ImagemapActionBase & { type: "uri"; diff --git a/lib/messaging-api/model/validateMessageRequest.ts b/lib/messaging-api/model/validateMessageRequest.ts index 72af0855d..c1e4d5cce 100644 --- a/lib/messaging-api/model/validateMessageRequest.ts +++ b/lib/messaging-api/model/validateMessageRequest.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { Message } from "./message"; +import { Message } from "./message.js"; export type ValidateMessageRequest = { /** diff --git a/lib/messaging-api/model/videoMessage.ts b/lib/messaging-api/model/videoMessage.ts index 92644e545..34ed1a3ca 100644 --- a/lib/messaging-api/model/videoMessage.ts +++ b/lib/messaging-api/model/videoMessage.ts @@ -10,11 +10,11 @@ * Do not edit the class manually. */ -import { Message } from "./message"; -import { QuickReply } from "./quickReply"; -import { Sender } from "./sender"; +import { Message } from "./message.js"; +import { QuickReply } from "./quickReply.js"; +import { Sender } from "./sender.js"; -import { MessageBase } from "./models"; +import { MessageBase } from "./models.js"; export type VideoMessage = MessageBase & { type: "video"; diff --git a/lib/messaging-api/tests/api/MessagingApiBlobClientTest.spec.ts b/lib/messaging-api/tests/api/MessagingApiBlobClientTest.spec.ts index 4ac297663..b08375405 100644 --- a/lib/messaging-api/tests/api/MessagingApiBlobClientTest.spec.ts +++ b/lib/messaging-api/tests/api/MessagingApiBlobClientTest.spec.ts @@ -1,6 +1,6 @@ -import { MessagingApiBlobClient } from "../../api"; +import { MessagingApiBlobClient } from "../../api.js"; -import { GetMessageContentTranscodingResponse } from "../../model/getMessageContentTranscodingResponse"; +import { GetMessageContentTranscodingResponse } from "../../model/getMessageContentTranscodingResponse.js"; import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; diff --git a/lib/messaging-api/tests/api/MessagingApiClientTest.spec.ts b/lib/messaging-api/tests/api/MessagingApiClientTest.spec.ts index 915381f77..ecebf62d6 100644 --- a/lib/messaging-api/tests/api/MessagingApiClientTest.spec.ts +++ b/lib/messaging-api/tests/api/MessagingApiClientTest.spec.ts @@ -1,49 +1,49 @@ -import { MessagingApiClient } from "../../api"; - -import { AudienceMatchMessagesRequest } from "../../model/audienceMatchMessagesRequest"; -import { BotInfoResponse } from "../../model/botInfoResponse"; -import { BroadcastRequest } from "../../model/broadcastRequest"; -import { CreateRichMenuAliasRequest } from "../../model/createRichMenuAliasRequest"; -import { ErrorResponse } from "../../model/errorResponse"; -import { GetAggregationUnitNameListResponse } from "../../model/getAggregationUnitNameListResponse"; -import { GetAggregationUnitUsageResponse } from "../../model/getAggregationUnitUsageResponse"; -import { GetFollowersResponse } from "../../model/getFollowersResponse"; -import { GetWebhookEndpointResponse } from "../../model/getWebhookEndpointResponse"; -import { GroupMemberCountResponse } from "../../model/groupMemberCountResponse"; -import { GroupSummaryResponse } from "../../model/groupSummaryResponse"; -import { GroupUserProfileResponse } from "../../model/groupUserProfileResponse"; -import { IssueLinkTokenResponse } from "../../model/issueLinkTokenResponse"; -import { MarkMessagesAsReadRequest } from "../../model/markMessagesAsReadRequest"; -import { MembersIdsResponse } from "../../model/membersIdsResponse"; -import { MessageQuotaResponse } from "../../model/messageQuotaResponse"; -import { MulticastRequest } from "../../model/multicastRequest"; -import { NarrowcastProgressResponse } from "../../model/narrowcastProgressResponse"; -import { NarrowcastRequest } from "../../model/narrowcastRequest"; -import { NumberOfMessagesResponse } from "../../model/numberOfMessagesResponse"; -import { PnpMessagesRequest } from "../../model/pnpMessagesRequest"; -import { PushMessageRequest } from "../../model/pushMessageRequest"; -import { PushMessageResponse } from "../../model/pushMessageResponse"; -import { QuotaConsumptionResponse } from "../../model/quotaConsumptionResponse"; -import { ReplyMessageRequest } from "../../model/replyMessageRequest"; -import { ReplyMessageResponse } from "../../model/replyMessageResponse"; -import { RichMenuAliasListResponse } from "../../model/richMenuAliasListResponse"; -import { RichMenuAliasResponse } from "../../model/richMenuAliasResponse"; -import { RichMenuBatchProgressResponse } from "../../model/richMenuBatchProgressResponse"; -import { RichMenuBatchRequest } from "../../model/richMenuBatchRequest"; -import { RichMenuBulkLinkRequest } from "../../model/richMenuBulkLinkRequest"; -import { RichMenuBulkUnlinkRequest } from "../../model/richMenuBulkUnlinkRequest"; -import { RichMenuIdResponse } from "../../model/richMenuIdResponse"; -import { RichMenuListResponse } from "../../model/richMenuListResponse"; -import { RichMenuRequest } from "../../model/richMenuRequest"; -import { RichMenuResponse } from "../../model/richMenuResponse"; -import { RoomMemberCountResponse } from "../../model/roomMemberCountResponse"; -import { RoomUserProfileResponse } from "../../model/roomUserProfileResponse"; -import { SetWebhookEndpointRequest } from "../../model/setWebhookEndpointRequest"; -import { TestWebhookEndpointRequest } from "../../model/testWebhookEndpointRequest"; -import { TestWebhookEndpointResponse } from "../../model/testWebhookEndpointResponse"; -import { UpdateRichMenuAliasRequest } from "../../model/updateRichMenuAliasRequest"; -import { UserProfileResponse } from "../../model/userProfileResponse"; -import { ValidateMessageRequest } from "../../model/validateMessageRequest"; +import { MessagingApiClient } from "../../api.js"; + +import { AudienceMatchMessagesRequest } from "../../model/audienceMatchMessagesRequest.js"; +import { BotInfoResponse } from "../../model/botInfoResponse.js"; +import { BroadcastRequest } from "../../model/broadcastRequest.js"; +import { CreateRichMenuAliasRequest } from "../../model/createRichMenuAliasRequest.js"; +import { ErrorResponse } from "../../model/errorResponse.js"; +import { GetAggregationUnitNameListResponse } from "../../model/getAggregationUnitNameListResponse.js"; +import { GetAggregationUnitUsageResponse } from "../../model/getAggregationUnitUsageResponse.js"; +import { GetFollowersResponse } from "../../model/getFollowersResponse.js"; +import { GetWebhookEndpointResponse } from "../../model/getWebhookEndpointResponse.js"; +import { GroupMemberCountResponse } from "../../model/groupMemberCountResponse.js"; +import { GroupSummaryResponse } from "../../model/groupSummaryResponse.js"; +import { GroupUserProfileResponse } from "../../model/groupUserProfileResponse.js"; +import { IssueLinkTokenResponse } from "../../model/issueLinkTokenResponse.js"; +import { MarkMessagesAsReadRequest } from "../../model/markMessagesAsReadRequest.js"; +import { MembersIdsResponse } from "../../model/membersIdsResponse.js"; +import { MessageQuotaResponse } from "../../model/messageQuotaResponse.js"; +import { MulticastRequest } from "../../model/multicastRequest.js"; +import { NarrowcastProgressResponse } from "../../model/narrowcastProgressResponse.js"; +import { NarrowcastRequest } from "../../model/narrowcastRequest.js"; +import { NumberOfMessagesResponse } from "../../model/numberOfMessagesResponse.js"; +import { PnpMessagesRequest } from "../../model/pnpMessagesRequest.js"; +import { PushMessageRequest } from "../../model/pushMessageRequest.js"; +import { PushMessageResponse } from "../../model/pushMessageResponse.js"; +import { QuotaConsumptionResponse } from "../../model/quotaConsumptionResponse.js"; +import { ReplyMessageRequest } from "../../model/replyMessageRequest.js"; +import { ReplyMessageResponse } from "../../model/replyMessageResponse.js"; +import { RichMenuAliasListResponse } from "../../model/richMenuAliasListResponse.js"; +import { RichMenuAliasResponse } from "../../model/richMenuAliasResponse.js"; +import { RichMenuBatchProgressResponse } from "../../model/richMenuBatchProgressResponse.js"; +import { RichMenuBatchRequest } from "../../model/richMenuBatchRequest.js"; +import { RichMenuBulkLinkRequest } from "../../model/richMenuBulkLinkRequest.js"; +import { RichMenuBulkUnlinkRequest } from "../../model/richMenuBulkUnlinkRequest.js"; +import { RichMenuIdResponse } from "../../model/richMenuIdResponse.js"; +import { RichMenuListResponse } from "../../model/richMenuListResponse.js"; +import { RichMenuRequest } from "../../model/richMenuRequest.js"; +import { RichMenuResponse } from "../../model/richMenuResponse.js"; +import { RoomMemberCountResponse } from "../../model/roomMemberCountResponse.js"; +import { RoomUserProfileResponse } from "../../model/roomUserProfileResponse.js"; +import { SetWebhookEndpointRequest } from "../../model/setWebhookEndpointRequest.js"; +import { TestWebhookEndpointRequest } from "../../model/testWebhookEndpointRequest.js"; +import { TestWebhookEndpointResponse } from "../../model/testWebhookEndpointResponse.js"; +import { UpdateRichMenuAliasRequest } from "../../model/updateRichMenuAliasRequest.js"; +import { UserProfileResponse } from "../../model/userProfileResponse.js"; +import { ValidateMessageRequest } from "../../model/validateMessageRequest.js"; import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; diff --git a/lib/middleware.ts b/lib/middleware.ts index d34d56e22..2b56a9f6a 100644 --- a/lib/middleware.ts +++ b/lib/middleware.ts @@ -1,7 +1,7 @@ import * as http from "node:http"; -import { JSONParseError, SignatureValidationFailed } from "./exceptions"; -import * as Types from "./types"; -import validateSignature from "./validate-signature"; +import { JSONParseError, SignatureValidationFailed } from "./exceptions.js"; +import * as Types from "./types.js"; +import validateSignature from "./validate-signature.js"; export type Request = http.IncomingMessage & { body: any }; export type Response = http.ServerResponse; diff --git a/lib/module-attach/api.ts b/lib/module-attach/api.ts index eeedcdab6..ea34fcbaf 100644 --- a/lib/module-attach/api.ts +++ b/lib/module-attach/api.ts @@ -1,3 +1,3 @@ // This is the entrypoint for the package -export * from "./api/apis"; -export * from "./model/models"; +export * from "./api/apis.js"; +export * from "./model/models.js"; diff --git a/lib/module-attach/api/apis.ts b/lib/module-attach/api/apis.ts index bb09d6851..8bc77ba9d 100644 --- a/lib/module-attach/api/apis.ts +++ b/lib/module-attach/api/apis.ts @@ -1 +1 @@ -export { LineModuleAttachClient } from "./lineModuleAttachClient"; +export { LineModuleAttachClient } from "./lineModuleAttachClient.js"; diff --git a/lib/module-attach/api/lineModuleAttachClient.ts b/lib/module-attach/api/lineModuleAttachClient.ts index 8b9eb4f07..d6be6d907 100644 --- a/lib/module-attach/api/lineModuleAttachClient.ts +++ b/lib/module-attach/api/lineModuleAttachClient.ts @@ -11,13 +11,15 @@ */ /* tslint:disable:no-unused-locals */ -import { AttachModuleResponse } from "../model/attachModuleResponse"; +import { AttachModuleResponse } from "../model/attachModuleResponse.js"; -import * as Types from "../../types"; -import { ensureJSON } from "../../utils"; +import * as Types from "../../types.js"; +import { ensureJSON } from "../../utils.js"; import { Readable } from "node:stream"; -import HTTPFetchClient, { convertResponseToReadable } from "../../http-fetch"; +import HTTPFetchClient, { + convertResponseToReadable, +} from "../../http-fetch.js"; // =============================================== // This file is autogenerated - Please do not edit diff --git a/lib/module-attach/model/models.ts b/lib/module-attach/model/models.ts index 490661810..9b4f986af 100644 --- a/lib/module-attach/model/models.ts +++ b/lib/module-attach/model/models.ts @@ -1 +1 @@ -export * from "./attachModuleResponse"; +export * from "./attachModuleResponse.js"; diff --git a/lib/module-attach/tests/api/LineModuleAttachClientTest.spec.ts b/lib/module-attach/tests/api/LineModuleAttachClientTest.spec.ts index fabbc3154..940e2a213 100644 --- a/lib/module-attach/tests/api/LineModuleAttachClientTest.spec.ts +++ b/lib/module-attach/tests/api/LineModuleAttachClientTest.spec.ts @@ -1,6 +1,6 @@ -import { LineModuleAttachClient } from "../../api"; +import { LineModuleAttachClient } from "../../api.js"; -import { AttachModuleResponse } from "../../model/attachModuleResponse"; +import { AttachModuleResponse } from "../../model/attachModuleResponse.js"; import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; diff --git a/lib/module/api.ts b/lib/module/api.ts index eeedcdab6..ea34fcbaf 100644 --- a/lib/module/api.ts +++ b/lib/module/api.ts @@ -1,3 +1,3 @@ // This is the entrypoint for the package -export * from "./api/apis"; -export * from "./model/models"; +export * from "./api/apis.js"; +export * from "./model/models.js"; diff --git a/lib/module/api/apis.ts b/lib/module/api/apis.ts index b5f45afa2..b22810428 100644 --- a/lib/module/api/apis.ts +++ b/lib/module/api/apis.ts @@ -1 +1 @@ -export { LineModuleClient } from "./lineModuleClient"; +export { LineModuleClient } from "./lineModuleClient.js"; diff --git a/lib/module/api/lineModuleClient.ts b/lib/module/api/lineModuleClient.ts index cc76e2ddc..f41081522 100644 --- a/lib/module/api/lineModuleClient.ts +++ b/lib/module/api/lineModuleClient.ts @@ -11,15 +11,17 @@ */ /* tslint:disable:no-unused-locals */ -import { AcquireChatControlRequest } from "../model/acquireChatControlRequest"; -import { DetachModuleRequest } from "../model/detachModuleRequest"; -import { GetModulesResponse } from "../model/getModulesResponse"; +import { AcquireChatControlRequest } from "../model/acquireChatControlRequest.js"; +import { DetachModuleRequest } from "../model/detachModuleRequest.js"; +import { GetModulesResponse } from "../model/getModulesResponse.js"; -import * as Types from "../../types"; -import { ensureJSON } from "../../utils"; +import * as Types from "../../types.js"; +import { ensureJSON } from "../../utils.js"; import { Readable } from "node:stream"; -import HTTPFetchClient, { convertResponseToReadable } from "../../http-fetch"; +import HTTPFetchClient, { + convertResponseToReadable, +} from "../../http-fetch.js"; // =============================================== // This file is autogenerated - Please do not edit diff --git a/lib/module/model/getModulesResponse.ts b/lib/module/model/getModulesResponse.ts index cbc1b7bc1..5b71b5503 100644 --- a/lib/module/model/getModulesResponse.ts +++ b/lib/module/model/getModulesResponse.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { ModuleBot } from "./moduleBot"; +import { ModuleBot } from "./moduleBot.js"; /** * List of bots to which the module is attached diff --git a/lib/module/model/models.ts b/lib/module/model/models.ts index 219f4a999..6e9922510 100644 --- a/lib/module/model/models.ts +++ b/lib/module/model/models.ts @@ -1,4 +1,4 @@ -export * from "./acquireChatControlRequest"; -export * from "./detachModuleRequest"; -export * from "./getModulesResponse"; -export * from "./moduleBot"; +export * from "./acquireChatControlRequest.js"; +export * from "./detachModuleRequest.js"; +export * from "./getModulesResponse.js"; +export * from "./moduleBot.js"; diff --git a/lib/module/tests/api/LineModuleClientTest.spec.ts b/lib/module/tests/api/LineModuleClientTest.spec.ts index 9a1a4e905..f94ef57ca 100644 --- a/lib/module/tests/api/LineModuleClientTest.spec.ts +++ b/lib/module/tests/api/LineModuleClientTest.spec.ts @@ -1,8 +1,8 @@ -import { LineModuleClient } from "../../api"; +import { LineModuleClient } from "../../api.js"; -import { AcquireChatControlRequest } from "../../model/acquireChatControlRequest"; -import { DetachModuleRequest } from "../../model/detachModuleRequest"; -import { GetModulesResponse } from "../../model/getModulesResponse"; +import { AcquireChatControlRequest } from "../../model/acquireChatControlRequest.js"; +import { DetachModuleRequest } from "../../model/detachModuleRequest.js"; +import { GetModulesResponse } from "../../model/getModulesResponse.js"; import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; diff --git a/lib/shop/api.ts b/lib/shop/api.ts index eeedcdab6..ea34fcbaf 100644 --- a/lib/shop/api.ts +++ b/lib/shop/api.ts @@ -1,3 +1,3 @@ // This is the entrypoint for the package -export * from "./api/apis"; -export * from "./model/models"; +export * from "./api/apis.js"; +export * from "./model/models.js"; diff --git a/lib/shop/api/apis.ts b/lib/shop/api/apis.ts index 8c160c6bd..82d1f2274 100644 --- a/lib/shop/api/apis.ts +++ b/lib/shop/api/apis.ts @@ -1 +1 @@ -export { ShopClient } from "./shopClient"; +export { ShopClient } from "./shopClient.js"; diff --git a/lib/shop/api/shopClient.ts b/lib/shop/api/shopClient.ts index 17f42bf91..df05c6ad8 100644 --- a/lib/shop/api/shopClient.ts +++ b/lib/shop/api/shopClient.ts @@ -11,13 +11,15 @@ */ /* tslint:disable:no-unused-locals */ -import { MissionStickerRequest } from "../model/missionStickerRequest"; +import { MissionStickerRequest } from "../model/missionStickerRequest.js"; -import * as Types from "../../types"; -import { ensureJSON } from "../../utils"; +import * as Types from "../../types.js"; +import { ensureJSON } from "../../utils.js"; import { Readable } from "node:stream"; -import HTTPFetchClient, { convertResponseToReadable } from "../../http-fetch"; +import HTTPFetchClient, { + convertResponseToReadable, +} from "../../http-fetch.js"; // =============================================== // This file is autogenerated - Please do not edit diff --git a/lib/shop/model/models.ts b/lib/shop/model/models.ts index ffbf7100a..a77acc6d8 100644 --- a/lib/shop/model/models.ts +++ b/lib/shop/model/models.ts @@ -1,2 +1,2 @@ -export * from "./errorResponse"; -export * from "./missionStickerRequest"; +export * from "./errorResponse.js"; +export * from "./missionStickerRequest.js"; diff --git a/lib/shop/tests/api/ShopClientTest.spec.ts b/lib/shop/tests/api/ShopClientTest.spec.ts index ddde30741..0fcdc284a 100644 --- a/lib/shop/tests/api/ShopClientTest.spec.ts +++ b/lib/shop/tests/api/ShopClientTest.spec.ts @@ -1,6 +1,6 @@ -import { ShopClient } from "../../api"; +import { ShopClient } from "../../api.js"; -import { MissionStickerRequest } from "../../model/missionStickerRequest"; +import { MissionStickerRequest } from "../../model/missionStickerRequest.js"; import { createServer } from "node:http"; import { deepEqual, equal, ok } from "node:assert"; diff --git a/lib/utils.ts b/lib/utils.ts index 5c37736cd..9c3dfa026 100644 --- a/lib/utils.ts +++ b/lib/utils.ts @@ -1,4 +1,4 @@ -import { JSONParseError } from "./exceptions"; +import { JSONParseError } from "./exceptions.js"; export function toArray(maybeArr: T | T[]): T[] { return Array.isArray(maybeArr) ? maybeArr : [maybeArr]; diff --git a/lib/webhook/api.ts b/lib/webhook/api.ts index 00dd34ea2..c906fd9c3 100644 --- a/lib/webhook/api.ts +++ b/lib/webhook/api.ts @@ -1 +1 @@ -export * from "./model/models"; +export * from "./model/models.js"; diff --git a/lib/webhook/model/accountLinkEvent.ts b/lib/webhook/model/accountLinkEvent.ts index 024392423..ca1c42b6d 100644 --- a/lib/webhook/model/accountLinkEvent.ts +++ b/lib/webhook/model/accountLinkEvent.ts @@ -10,16 +10,16 @@ * Do not edit the class manually. */ -import { DeliveryContext } from "./deliveryContext"; -import { Event } from "./event"; -import { EventMode } from "./eventMode"; -import { LinkContent } from "./linkContent"; -import { Source } from "./source"; +import { DeliveryContext } from "./deliveryContext.js"; +import { Event } from "./event.js"; +import { EventMode } from "./eventMode.js"; +import { LinkContent } from "./linkContent.js"; +import { Source } from "./source.js"; /** * Event object for when a user has linked their LINE account with a provider\'s service account. You can reply to account link events. */ -import { EventBase } from "./models"; +import { EventBase } from "./models.js"; export type AccountLinkEvent = EventBase & { type: "accountLink"; diff --git a/lib/webhook/model/activatedEvent.ts b/lib/webhook/model/activatedEvent.ts index e2c14820a..3508e8de6 100644 --- a/lib/webhook/model/activatedEvent.ts +++ b/lib/webhook/model/activatedEvent.ts @@ -10,16 +10,16 @@ * Do not edit the class manually. */ -import { ChatControl } from "./chatControl"; -import { DeliveryContext } from "./deliveryContext"; -import { Event } from "./event"; -import { EventMode } from "./eventMode"; -import { Source } from "./source"; +import { ChatControl } from "./chatControl.js"; +import { DeliveryContext } from "./deliveryContext.js"; +import { Event } from "./event.js"; +import { EventMode } from "./eventMode.js"; +import { Source } from "./source.js"; /** * This event indicates that the module channel has been switched to Active Channel by calling the Acquire Control API. Sent to the webhook URL server of the module channel. */ -import { EventBase } from "./models"; +import { EventBase } from "./models.js"; export type ActivatedEvent = EventBase & { type: "activated"; diff --git a/lib/webhook/model/allMentionee.ts b/lib/webhook/model/allMentionee.ts index c94ff3d01..c2dfed5a5 100644 --- a/lib/webhook/model/allMentionee.ts +++ b/lib/webhook/model/allMentionee.ts @@ -10,12 +10,12 @@ * Do not edit the class manually. */ -import { Mentionee } from "./mentionee"; +import { Mentionee } from "./mentionee.js"; /** * Mentioned target is entire group */ -import { MentioneeBase } from "./models"; +import { MentioneeBase } from "./models.js"; export type AllMentionee = MentioneeBase & { type: "all"; diff --git a/lib/webhook/model/attachedModuleContent.ts b/lib/webhook/model/attachedModuleContent.ts index ff07aab3f..e7f25ccf1 100644 --- a/lib/webhook/model/attachedModuleContent.ts +++ b/lib/webhook/model/attachedModuleContent.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { ModuleContent } from "./moduleContent"; +import { ModuleContent } from "./moduleContent.js"; -import { ModuleContentBase } from "./models"; +import { ModuleContentBase } from "./models.js"; export type AttachedModuleContent = ModuleContentBase & { type: "attached"; diff --git a/lib/webhook/model/audioMessageContent.ts b/lib/webhook/model/audioMessageContent.ts index 6cd23afa5..c2f474da8 100644 --- a/lib/webhook/model/audioMessageContent.ts +++ b/lib/webhook/model/audioMessageContent.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ -import { ContentProvider } from "./contentProvider"; -import { MessageContent } from "./messageContent"; +import { ContentProvider } from "./contentProvider.js"; +import { MessageContent } from "./messageContent.js"; -import { MessageContentBase } from "./models"; +import { MessageContentBase } from "./models.js"; export type AudioMessageContent = MessageContentBase & { type: "audio"; diff --git a/lib/webhook/model/beaconEvent.ts b/lib/webhook/model/beaconEvent.ts index 7339c3902..d830cf100 100644 --- a/lib/webhook/model/beaconEvent.ts +++ b/lib/webhook/model/beaconEvent.ts @@ -10,16 +10,16 @@ * Do not edit the class manually. */ -import { BeaconContent } from "./beaconContent"; -import { DeliveryContext } from "./deliveryContext"; -import { Event } from "./event"; -import { EventMode } from "./eventMode"; -import { Source } from "./source"; +import { BeaconContent } from "./beaconContent.js"; +import { DeliveryContext } from "./deliveryContext.js"; +import { Event } from "./event.js"; +import { EventMode } from "./eventMode.js"; +import { Source } from "./source.js"; /** * Event object for when a user enters the range of a LINE Beacon. You can reply to beacon events. */ -import { EventBase } from "./models"; +import { EventBase } from "./models.js"; export type BeaconEvent = EventBase & { type: "beacon"; diff --git a/lib/webhook/model/botResumedEvent.ts b/lib/webhook/model/botResumedEvent.ts index b079bbf17..f7c2d37fe 100644 --- a/lib/webhook/model/botResumedEvent.ts +++ b/lib/webhook/model/botResumedEvent.ts @@ -10,15 +10,15 @@ * Do not edit the class manually. */ -import { DeliveryContext } from "./deliveryContext"; -import { Event } from "./event"; -import { EventMode } from "./eventMode"; -import { Source } from "./source"; +import { DeliveryContext } from "./deliveryContext.js"; +import { Event } from "./event.js"; +import { EventMode } from "./eventMode.js"; +import { Source } from "./source.js"; /** * This event indicates that the LINE Official Account has returned from the suspended state. Sent to the webhook URL server of the module channel. */ -import { EventBase } from "./models"; +import { EventBase } from "./models.js"; export type BotResumedEvent = EventBase & { type: "botResumed"; diff --git a/lib/webhook/model/botSuspendedEvent.ts b/lib/webhook/model/botSuspendedEvent.ts index fabf6aecc..d3f92294c 100644 --- a/lib/webhook/model/botSuspendedEvent.ts +++ b/lib/webhook/model/botSuspendedEvent.ts @@ -10,15 +10,15 @@ * Do not edit the class manually. */ -import { DeliveryContext } from "./deliveryContext"; -import { Event } from "./event"; -import { EventMode } from "./eventMode"; -import { Source } from "./source"; +import { DeliveryContext } from "./deliveryContext.js"; +import { Event } from "./event.js"; +import { EventMode } from "./eventMode.js"; +import { Source } from "./source.js"; /** * This event indicates that the LINE Official Account has been suspended (Suspend). Sent to the webhook URL server of the module channel. */ -import { EventBase } from "./models"; +import { EventBase } from "./models.js"; export type BotSuspendedEvent = EventBase & { type: "botSuspended"; diff --git a/lib/webhook/model/callbackRequest.ts b/lib/webhook/model/callbackRequest.ts index e7aff1d7d..f9131e1cf 100644 --- a/lib/webhook/model/callbackRequest.ts +++ b/lib/webhook/model/callbackRequest.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { Event } from "./event"; +import { Event } from "./event.js"; /** * The request body contains a JSON object with the user ID of a bot that should receive webhook events and an array of webhook event objects. diff --git a/lib/webhook/model/deactivatedEvent.ts b/lib/webhook/model/deactivatedEvent.ts index 8249bf1be..54482cb0e 100644 --- a/lib/webhook/model/deactivatedEvent.ts +++ b/lib/webhook/model/deactivatedEvent.ts @@ -10,15 +10,15 @@ * Do not edit the class manually. */ -import { DeliveryContext } from "./deliveryContext"; -import { Event } from "./event"; -import { EventMode } from "./eventMode"; -import { Source } from "./source"; +import { DeliveryContext } from "./deliveryContext.js"; +import { Event } from "./event.js"; +import { EventMode } from "./eventMode.js"; +import { Source } from "./source.js"; /** * This event indicates that the module channel has been switched to Standby Channel by calling Acquire Control API or Release Control API. Sent to the webhook URL server of the module channel. */ -import { EventBase } from "./models"; +import { EventBase } from "./models.js"; export type DeactivatedEvent = EventBase & { type: "deactivated"; diff --git a/lib/webhook/model/detachedModuleContent.ts b/lib/webhook/model/detachedModuleContent.ts index 8c94c829d..1de6a29b8 100644 --- a/lib/webhook/model/detachedModuleContent.ts +++ b/lib/webhook/model/detachedModuleContent.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { ModuleContent } from "./moduleContent"; +import { ModuleContent } from "./moduleContent.js"; -import { ModuleContentBase } from "./models"; +import { ModuleContentBase } from "./models.js"; export type DetachedModuleContent = ModuleContentBase & { type: "detached"; diff --git a/lib/webhook/model/event.ts b/lib/webhook/model/event.ts index 5081d5d90..eabbf13c9 100644 --- a/lib/webhook/model/event.ts +++ b/lib/webhook/model/event.ts @@ -10,29 +10,29 @@ * Do not edit the class manually. */ -import { DeliveryContext } from "./deliveryContext"; -import { EventMode } from "./eventMode"; -import { Source } from "./source"; +import { DeliveryContext } from "./deliveryContext.js"; +import { EventMode } from "./eventMode.js"; +import { Source } from "./source.js"; -import { AccountLinkEvent } from "./models"; -import { ActivatedEvent } from "./models"; -import { BeaconEvent } from "./models"; -import { BotResumedEvent } from "./models"; -import { BotSuspendedEvent } from "./models"; -import { DeactivatedEvent } from "./models"; -import { PnpDeliveryCompletionEvent } from "./models"; -import { FollowEvent } from "./models"; -import { JoinEvent } from "./models"; -import { LeaveEvent } from "./models"; -import { MemberJoinedEvent } from "./models"; -import { MemberLeftEvent } from "./models"; -import { MessageEvent } from "./models"; -import { ModuleEvent } from "./models"; -import { PostbackEvent } from "./models"; -import { ThingsEvent } from "./models"; -import { UnfollowEvent } from "./models"; -import { UnsendEvent } from "./models"; -import { VideoPlayCompleteEvent } from "./models"; +import { AccountLinkEvent } from "./models.js"; +import { ActivatedEvent } from "./models.js"; +import { BeaconEvent } from "./models.js"; +import { BotResumedEvent } from "./models.js"; +import { BotSuspendedEvent } from "./models.js"; +import { DeactivatedEvent } from "./models.js"; +import { PnpDeliveryCompletionEvent } from "./models.js"; +import { FollowEvent } from "./models.js"; +import { JoinEvent } from "./models.js"; +import { LeaveEvent } from "./models.js"; +import { MemberJoinedEvent } from "./models.js"; +import { MemberLeftEvent } from "./models.js"; +import { MessageEvent } from "./models.js"; +import { ModuleEvent } from "./models.js"; +import { PostbackEvent } from "./models.js"; +import { ThingsEvent } from "./models.js"; +import { UnfollowEvent } from "./models.js"; +import { UnsendEvent } from "./models.js"; +import { VideoPlayCompleteEvent } from "./models.js"; export type Event = | AccountLinkEvent // accountLink diff --git a/lib/webhook/model/fileMessageContent.ts b/lib/webhook/model/fileMessageContent.ts index 2aa7bb9f4..c0ca6816f 100644 --- a/lib/webhook/model/fileMessageContent.ts +++ b/lib/webhook/model/fileMessageContent.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { MessageContent } from "./messageContent"; +import { MessageContent } from "./messageContent.js"; -import { MessageContentBase } from "./models"; +import { MessageContentBase } from "./models.js"; export type FileMessageContent = MessageContentBase & { type: "file"; diff --git a/lib/webhook/model/followEvent.ts b/lib/webhook/model/followEvent.ts index 791eef361..e2c85515a 100644 --- a/lib/webhook/model/followEvent.ts +++ b/lib/webhook/model/followEvent.ts @@ -10,16 +10,16 @@ * Do not edit the class manually. */ -import { DeliveryContext } from "./deliveryContext"; -import { Event } from "./event"; -import { EventMode } from "./eventMode"; -import { FollowDetail } from "./followDetail"; -import { Source } from "./source"; +import { DeliveryContext } from "./deliveryContext.js"; +import { Event } from "./event.js"; +import { EventMode } from "./eventMode.js"; +import { FollowDetail } from "./followDetail.js"; +import { Source } from "./source.js"; /** * Event object for when your LINE Official Account is added as a friend (or unblocked). You can reply to follow events. */ -import { EventBase } from "./models"; +import { EventBase } from "./models.js"; export type FollowEvent = EventBase & { type: "follow"; diff --git a/lib/webhook/model/groupSource.ts b/lib/webhook/model/groupSource.ts index d33c7d00a..bfd4a9403 100644 --- a/lib/webhook/model/groupSource.ts +++ b/lib/webhook/model/groupSource.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { Source } from "./source"; +import { Source } from "./source.js"; -import { SourceBase } from "./models"; +import { SourceBase } from "./models.js"; export type GroupSource = SourceBase & { type: "group"; diff --git a/lib/webhook/model/imageMessageContent.ts b/lib/webhook/model/imageMessageContent.ts index f3b2b36d0..83bf83873 100644 --- a/lib/webhook/model/imageMessageContent.ts +++ b/lib/webhook/model/imageMessageContent.ts @@ -10,11 +10,11 @@ * Do not edit the class manually. */ -import { ContentProvider } from "./contentProvider"; -import { ImageSet } from "./imageSet"; -import { MessageContent } from "./messageContent"; +import { ContentProvider } from "./contentProvider.js"; +import { ImageSet } from "./imageSet.js"; +import { MessageContent } from "./messageContent.js"; -import { MessageContentBase } from "./models"; +import { MessageContentBase } from "./models.js"; export type ImageMessageContent = MessageContentBase & { type: "image"; diff --git a/lib/webhook/model/joinEvent.ts b/lib/webhook/model/joinEvent.ts index 8a39dd3e2..b25736cf0 100644 --- a/lib/webhook/model/joinEvent.ts +++ b/lib/webhook/model/joinEvent.ts @@ -10,15 +10,15 @@ * Do not edit the class manually. */ -import { DeliveryContext } from "./deliveryContext"; -import { Event } from "./event"; -import { EventMode } from "./eventMode"; -import { Source } from "./source"; +import { DeliveryContext } from "./deliveryContext.js"; +import { Event } from "./event.js"; +import { EventMode } from "./eventMode.js"; +import { Source } from "./source.js"; /** * Event object for when your LINE Official Account joins a group chat or multi-person chat. You can reply to join events. */ -import { EventBase } from "./models"; +import { EventBase } from "./models.js"; export type JoinEvent = EventBase & { type: "join"; diff --git a/lib/webhook/model/joinedMembers.ts b/lib/webhook/model/joinedMembers.ts index 397325fe4..2d38fbf9a 100644 --- a/lib/webhook/model/joinedMembers.ts +++ b/lib/webhook/model/joinedMembers.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { UserSource } from "./userSource"; +import { UserSource } from "./userSource.js"; export type JoinedMembers = { /** diff --git a/lib/webhook/model/leaveEvent.ts b/lib/webhook/model/leaveEvent.ts index 36dcf1b4f..438a1eb6f 100644 --- a/lib/webhook/model/leaveEvent.ts +++ b/lib/webhook/model/leaveEvent.ts @@ -10,15 +10,15 @@ * Do not edit the class manually. */ -import { DeliveryContext } from "./deliveryContext"; -import { Event } from "./event"; -import { EventMode } from "./eventMode"; -import { Source } from "./source"; +import { DeliveryContext } from "./deliveryContext.js"; +import { Event } from "./event.js"; +import { EventMode } from "./eventMode.js"; +import { Source } from "./source.js"; /** * Event object for when a user removes your LINE Official Account from a group chat or when your LINE Official Account leaves a group chat or multi-person chat. */ -import { EventBase } from "./models"; +import { EventBase } from "./models.js"; export type LeaveEvent = EventBase & { type: "leave"; diff --git a/lib/webhook/model/leftMembers.ts b/lib/webhook/model/leftMembers.ts index 73214b4d2..574ade25c 100644 --- a/lib/webhook/model/leftMembers.ts +++ b/lib/webhook/model/leftMembers.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { UserSource } from "./userSource"; +import { UserSource } from "./userSource.js"; export type LeftMembers = { /** diff --git a/lib/webhook/model/linkThingsContent.ts b/lib/webhook/model/linkThingsContent.ts index 49acef1dd..6de547d4a 100644 --- a/lib/webhook/model/linkThingsContent.ts +++ b/lib/webhook/model/linkThingsContent.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { ThingsContent } from "./thingsContent"; +import { ThingsContent } from "./thingsContent.js"; -import { ThingsContentBase } from "./models"; +import { ThingsContentBase } from "./models.js"; export type LinkThingsContent = ThingsContentBase & { type: "link"; diff --git a/lib/webhook/model/locationMessageContent.ts b/lib/webhook/model/locationMessageContent.ts index 7581c77c8..6b19a7cbd 100644 --- a/lib/webhook/model/locationMessageContent.ts +++ b/lib/webhook/model/locationMessageContent.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { MessageContent } from "./messageContent"; +import { MessageContent } from "./messageContent.js"; -import { MessageContentBase } from "./models"; +import { MessageContentBase } from "./models.js"; export type LocationMessageContent = MessageContentBase & { type: "location"; diff --git a/lib/webhook/model/memberJoinedEvent.ts b/lib/webhook/model/memberJoinedEvent.ts index 52f5ffa17..d661d3267 100644 --- a/lib/webhook/model/memberJoinedEvent.ts +++ b/lib/webhook/model/memberJoinedEvent.ts @@ -10,16 +10,16 @@ * Do not edit the class manually. */ -import { DeliveryContext } from "./deliveryContext"; -import { Event } from "./event"; -import { EventMode } from "./eventMode"; -import { JoinedMembers } from "./joinedMembers"; -import { Source } from "./source"; +import { DeliveryContext } from "./deliveryContext.js"; +import { Event } from "./event.js"; +import { EventMode } from "./eventMode.js"; +import { JoinedMembers } from "./joinedMembers.js"; +import { Source } from "./source.js"; /** * Event object for when a user joins a group chat or multi-person chat that the LINE Official Account is in. */ -import { EventBase } from "./models"; +import { EventBase } from "./models.js"; export type MemberJoinedEvent = EventBase & { type: "memberJoined"; diff --git a/lib/webhook/model/memberLeftEvent.ts b/lib/webhook/model/memberLeftEvent.ts index 913449423..6d2ea8a3e 100644 --- a/lib/webhook/model/memberLeftEvent.ts +++ b/lib/webhook/model/memberLeftEvent.ts @@ -10,16 +10,16 @@ * Do not edit the class manually. */ -import { DeliveryContext } from "./deliveryContext"; -import { Event } from "./event"; -import { EventMode } from "./eventMode"; -import { LeftMembers } from "./leftMembers"; -import { Source } from "./source"; +import { DeliveryContext } from "./deliveryContext.js"; +import { Event } from "./event.js"; +import { EventMode } from "./eventMode.js"; +import { LeftMembers } from "./leftMembers.js"; +import { Source } from "./source.js"; /** * Event object for when a user leaves a group chat or multi-person chat that the LINE Official Account is in. */ -import { EventBase } from "./models"; +import { EventBase } from "./models.js"; export type MemberLeftEvent = EventBase & { type: "memberLeft"; diff --git a/lib/webhook/model/mention.ts b/lib/webhook/model/mention.ts index e0be19c3e..caa668e22 100644 --- a/lib/webhook/model/mention.ts +++ b/lib/webhook/model/mention.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { Mentionee } from "./mentionee"; +import { Mentionee } from "./mentionee.js"; export type Mention = { /** diff --git a/lib/webhook/model/mentionee.ts b/lib/webhook/model/mentionee.ts index 9acfe4870..74688185f 100644 --- a/lib/webhook/model/mentionee.ts +++ b/lib/webhook/model/mentionee.ts @@ -10,8 +10,8 @@ * Do not edit the class manually. */ -import { AllMentionee } from "./models"; -import { UserMentionee } from "./models"; +import { AllMentionee } from "./models.js"; +import { UserMentionee } from "./models.js"; export type Mentionee = | AllMentionee // all diff --git a/lib/webhook/model/messageContent.ts b/lib/webhook/model/messageContent.ts index fb27d3678..2a6074085 100644 --- a/lib/webhook/model/messageContent.ts +++ b/lib/webhook/model/messageContent.ts @@ -10,13 +10,13 @@ * Do not edit the class manually. */ -import { AudioMessageContent } from "./models"; -import { FileMessageContent } from "./models"; -import { ImageMessageContent } from "./models"; -import { LocationMessageContent } from "./models"; -import { StickerMessageContent } from "./models"; -import { TextMessageContent } from "./models"; -import { VideoMessageContent } from "./models"; +import { AudioMessageContent } from "./models.js"; +import { FileMessageContent } from "./models.js"; +import { ImageMessageContent } from "./models.js"; +import { LocationMessageContent } from "./models.js"; +import { StickerMessageContent } from "./models.js"; +import { TextMessageContent } from "./models.js"; +import { VideoMessageContent } from "./models.js"; export type MessageContent = | AudioMessageContent // audio diff --git a/lib/webhook/model/messageEvent.ts b/lib/webhook/model/messageEvent.ts index 47a777304..b72958c5e 100644 --- a/lib/webhook/model/messageEvent.ts +++ b/lib/webhook/model/messageEvent.ts @@ -10,16 +10,16 @@ * Do not edit the class manually. */ -import { DeliveryContext } from "./deliveryContext"; -import { Event } from "./event"; -import { EventMode } from "./eventMode"; -import { MessageContent } from "./messageContent"; -import { Source } from "./source"; +import { DeliveryContext } from "./deliveryContext.js"; +import { Event } from "./event.js"; +import { EventMode } from "./eventMode.js"; +import { MessageContent } from "./messageContent.js"; +import { Source } from "./source.js"; /** * Webhook event object which contains the sent message. */ -import { EventBase } from "./models"; +import { EventBase } from "./models.js"; export type MessageEvent = EventBase & { type: "message"; diff --git a/lib/webhook/model/models.ts b/lib/webhook/model/models.ts index c7b21aee1..6cc1ba361 100644 --- a/lib/webhook/model/models.ts +++ b/lib/webhook/model/models.ts @@ -1,61 +1,61 @@ -export * from "./accountLinkEvent"; -export * from "./actionResult"; -export * from "./activatedEvent"; -export * from "./allMentionee"; -export * from "./attachedModuleContent"; -export * from "./audioMessageContent"; -export * from "./beaconContent"; -export * from "./beaconEvent"; -export * from "./botResumedEvent"; -export * from "./botSuspendedEvent"; -export * from "./callbackRequest"; -export * from "./chatControl"; -export * from "./contentProvider"; -export * from "./deactivatedEvent"; -export * from "./deliveryContext"; -export * from "./detachedModuleContent"; -export * from "./emoji"; -export * from "./event"; -export * from "./eventMode"; -export * from "./fileMessageContent"; -export * from "./followDetail"; -export * from "./followEvent"; -export * from "./groupSource"; -export * from "./imageMessageContent"; -export * from "./imageSet"; -export * from "./joinEvent"; -export * from "./joinedMembers"; -export * from "./leaveEvent"; -export * from "./leftMembers"; -export * from "./linkContent"; -export * from "./linkThingsContent"; -export * from "./locationMessageContent"; -export * from "./memberJoinedEvent"; -export * from "./memberLeftEvent"; -export * from "./mention"; -export * from "./mentionee"; -export * from "./messageContent"; -export * from "./messageEvent"; -export * from "./moduleContent"; -export * from "./moduleEvent"; -export * from "./pnpDelivery"; -export * from "./pnpDeliveryCompletionEvent"; -export * from "./postbackContent"; -export * from "./postbackEvent"; -export * from "./roomSource"; -export * from "./scenarioResult"; -export * from "./scenarioResultThingsContent"; -export * from "./source"; -export * from "./stickerMessageContent"; -export * from "./textMessageContent"; -export * from "./thingsContent"; -export * from "./thingsEvent"; -export * from "./unfollowEvent"; -export * from "./unlinkThingsContent"; -export * from "./unsendDetail"; -export * from "./unsendEvent"; -export * from "./userMentionee"; -export * from "./userSource"; -export * from "./videoMessageContent"; -export * from "./videoPlayComplete"; -export * from "./videoPlayCompleteEvent"; +export * from "./accountLinkEvent.js"; +export * from "./actionResult.js"; +export * from "./activatedEvent.js"; +export * from "./allMentionee.js"; +export * from "./attachedModuleContent.js"; +export * from "./audioMessageContent.js"; +export * from "./beaconContent.js"; +export * from "./beaconEvent.js"; +export * from "./botResumedEvent.js"; +export * from "./botSuspendedEvent.js"; +export * from "./callbackRequest.js"; +export * from "./chatControl.js"; +export * from "./contentProvider.js"; +export * from "./deactivatedEvent.js"; +export * from "./deliveryContext.js"; +export * from "./detachedModuleContent.js"; +export * from "./emoji.js"; +export * from "./event.js"; +export * from "./eventMode.js"; +export * from "./fileMessageContent.js"; +export * from "./followDetail.js"; +export * from "./followEvent.js"; +export * from "./groupSource.js"; +export * from "./imageMessageContent.js"; +export * from "./imageSet.js"; +export * from "./joinEvent.js"; +export * from "./joinedMembers.js"; +export * from "./leaveEvent.js"; +export * from "./leftMembers.js"; +export * from "./linkContent.js"; +export * from "./linkThingsContent.js"; +export * from "./locationMessageContent.js"; +export * from "./memberJoinedEvent.js"; +export * from "./memberLeftEvent.js"; +export * from "./mention.js"; +export * from "./mentionee.js"; +export * from "./messageContent.js"; +export * from "./messageEvent.js"; +export * from "./moduleContent.js"; +export * from "./moduleEvent.js"; +export * from "./pnpDelivery.js"; +export * from "./pnpDeliveryCompletionEvent.js"; +export * from "./postbackContent.js"; +export * from "./postbackEvent.js"; +export * from "./roomSource.js"; +export * from "./scenarioResult.js"; +export * from "./scenarioResultThingsContent.js"; +export * from "./source.js"; +export * from "./stickerMessageContent.js"; +export * from "./textMessageContent.js"; +export * from "./thingsContent.js"; +export * from "./thingsEvent.js"; +export * from "./unfollowEvent.js"; +export * from "./unlinkThingsContent.js"; +export * from "./unsendDetail.js"; +export * from "./unsendEvent.js"; +export * from "./userMentionee.js"; +export * from "./userSource.js"; +export * from "./videoMessageContent.js"; +export * from "./videoPlayComplete.js"; +export * from "./videoPlayCompleteEvent.js"; diff --git a/lib/webhook/model/moduleContent.ts b/lib/webhook/model/moduleContent.ts index 3e9c3abed..3f8141e20 100644 --- a/lib/webhook/model/moduleContent.ts +++ b/lib/webhook/model/moduleContent.ts @@ -10,8 +10,8 @@ * Do not edit the class manually. */ -import { AttachedModuleContent } from "./models"; -import { DetachedModuleContent } from "./models"; +import { AttachedModuleContent } from "./models.js"; +import { DetachedModuleContent } from "./models.js"; export type ModuleContent = | AttachedModuleContent // attached diff --git a/lib/webhook/model/moduleEvent.ts b/lib/webhook/model/moduleEvent.ts index 11cdb6cd5..bbbe35696 100644 --- a/lib/webhook/model/moduleEvent.ts +++ b/lib/webhook/model/moduleEvent.ts @@ -10,16 +10,16 @@ * Do not edit the class manually. */ -import { DeliveryContext } from "./deliveryContext"; -import { Event } from "./event"; -import { EventMode } from "./eventMode"; -import { ModuleContent } from "./moduleContent"; -import { Source } from "./source"; +import { DeliveryContext } from "./deliveryContext.js"; +import { Event } from "./event.js"; +import { EventMode } from "./eventMode.js"; +import { ModuleContent } from "./moduleContent.js"; +import { Source } from "./source.js"; /** * This event indicates that the module channel has been attached to the LINE Official Account. Sent to the webhook URL server of the module channel. */ -import { EventBase } from "./models"; +import { EventBase } from "./models.js"; export type ModuleEvent = EventBase & { type: "module"; diff --git a/lib/webhook/model/pnpDeliveryCompletionEvent.ts b/lib/webhook/model/pnpDeliveryCompletionEvent.ts index 8dcf61ed2..66766052d 100644 --- a/lib/webhook/model/pnpDeliveryCompletionEvent.ts +++ b/lib/webhook/model/pnpDeliveryCompletionEvent.ts @@ -10,16 +10,16 @@ * Do not edit the class manually. */ -import { DeliveryContext } from "./deliveryContext"; -import { Event } from "./event"; -import { EventMode } from "./eventMode"; -import { PnpDelivery } from "./pnpDelivery"; -import { Source } from "./source"; +import { DeliveryContext } from "./deliveryContext.js"; +import { Event } from "./event.js"; +import { EventMode } from "./eventMode.js"; +import { PnpDelivery } from "./pnpDelivery.js"; +import { Source } from "./source.js"; /** * When a request is made to the LINE notification messages API and delivery of the LINE notification message to the user is completed, a dedicated webhook event (delivery completion event) is sent from the LINE Platform to the webhook URL of the bot server. */ -import { EventBase } from "./models"; +import { EventBase } from "./models.js"; export type PnpDeliveryCompletionEvent = EventBase & { type: "delivery"; diff --git a/lib/webhook/model/postbackEvent.ts b/lib/webhook/model/postbackEvent.ts index 4be8aed11..f1ca5394f 100644 --- a/lib/webhook/model/postbackEvent.ts +++ b/lib/webhook/model/postbackEvent.ts @@ -10,16 +10,16 @@ * Do not edit the class manually. */ -import { DeliveryContext } from "./deliveryContext"; -import { Event } from "./event"; -import { EventMode } from "./eventMode"; -import { PostbackContent } from "./postbackContent"; -import { Source } from "./source"; +import { DeliveryContext } from "./deliveryContext.js"; +import { Event } from "./event.js"; +import { EventMode } from "./eventMode.js"; +import { PostbackContent } from "./postbackContent.js"; +import { Source } from "./source.js"; /** * Event object for when a user performs a postback action which initiates a postback. You can reply to postback events. */ -import { EventBase } from "./models"; +import { EventBase } from "./models.js"; export type PostbackEvent = EventBase & { type: "postback"; diff --git a/lib/webhook/model/roomSource.ts b/lib/webhook/model/roomSource.ts index a5336fd61..b505d8b7a 100644 --- a/lib/webhook/model/roomSource.ts +++ b/lib/webhook/model/roomSource.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { Source } from "./source"; +import { Source } from "./source.js"; -import { SourceBase } from "./models"; +import { SourceBase } from "./models.js"; export type RoomSource = SourceBase & { type: "room"; diff --git a/lib/webhook/model/scenarioResult.ts b/lib/webhook/model/scenarioResult.ts index 9c42d5c7a..29cd83e66 100644 --- a/lib/webhook/model/scenarioResult.ts +++ b/lib/webhook/model/scenarioResult.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import { ActionResult } from "./actionResult"; +import { ActionResult } from "./actionResult.js"; export type ScenarioResult = { /** diff --git a/lib/webhook/model/scenarioResultThingsContent.ts b/lib/webhook/model/scenarioResultThingsContent.ts index c9e0d9991..f430b23ec 100644 --- a/lib/webhook/model/scenarioResultThingsContent.ts +++ b/lib/webhook/model/scenarioResultThingsContent.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ -import { ScenarioResult } from "./scenarioResult"; -import { ThingsContent } from "./thingsContent"; +import { ScenarioResult } from "./scenarioResult.js"; +import { ThingsContent } from "./thingsContent.js"; -import { ThingsContentBase } from "./models"; +import { ThingsContentBase } from "./models.js"; export type ScenarioResultThingsContent = ThingsContentBase & { type: "scenarioResult"; diff --git a/lib/webhook/model/source.ts b/lib/webhook/model/source.ts index d1f77b823..e80dfa09d 100644 --- a/lib/webhook/model/source.ts +++ b/lib/webhook/model/source.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { GroupSource } from "./models"; -import { RoomSource } from "./models"; -import { UserSource } from "./models"; +import { GroupSource } from "./models.js"; +import { RoomSource } from "./models.js"; +import { UserSource } from "./models.js"; export type Source = | GroupSource // group diff --git a/lib/webhook/model/stickerMessageContent.ts b/lib/webhook/model/stickerMessageContent.ts index 524ac246d..e5ba5838d 100644 --- a/lib/webhook/model/stickerMessageContent.ts +++ b/lib/webhook/model/stickerMessageContent.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { MessageContent } from "./messageContent"; +import { MessageContent } from "./messageContent.js"; -import { MessageContentBase } from "./models"; +import { MessageContentBase } from "./models.js"; export type StickerMessageContent = MessageContentBase & { type: "sticker"; diff --git a/lib/webhook/model/textMessageContent.ts b/lib/webhook/model/textMessageContent.ts index 37d9771ce..d14fa4faf 100644 --- a/lib/webhook/model/textMessageContent.ts +++ b/lib/webhook/model/textMessageContent.ts @@ -10,11 +10,11 @@ * Do not edit the class manually. */ -import { Emoji } from "./emoji"; -import { Mention } from "./mention"; -import { MessageContent } from "./messageContent"; +import { Emoji } from "./emoji.js"; +import { Mention } from "./mention.js"; +import { MessageContent } from "./messageContent.js"; -import { MessageContentBase } from "./models"; +import { MessageContentBase } from "./models.js"; export type TextMessageContent = MessageContentBase & { type: "text"; diff --git a/lib/webhook/model/thingsContent.ts b/lib/webhook/model/thingsContent.ts index 66c4d262c..02955dbdc 100644 --- a/lib/webhook/model/thingsContent.ts +++ b/lib/webhook/model/thingsContent.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { LinkThingsContent } from "./models"; -import { ScenarioResultThingsContent } from "./models"; -import { UnlinkThingsContent } from "./models"; +import { LinkThingsContent } from "./models.js"; +import { ScenarioResultThingsContent } from "./models.js"; +import { UnlinkThingsContent } from "./models.js"; export type ThingsContent = | LinkThingsContent // link diff --git a/lib/webhook/model/thingsEvent.ts b/lib/webhook/model/thingsEvent.ts index cea3a5a6c..175e81b44 100644 --- a/lib/webhook/model/thingsEvent.ts +++ b/lib/webhook/model/thingsEvent.ts @@ -10,16 +10,16 @@ * Do not edit the class manually. */ -import { DeliveryContext } from "./deliveryContext"; -import { Event } from "./event"; -import { EventMode } from "./eventMode"; -import { Source } from "./source"; -import { ThingsContent } from "./thingsContent"; +import { DeliveryContext } from "./deliveryContext.js"; +import { Event } from "./event.js"; +import { EventMode } from "./eventMode.js"; +import { Source } from "./source.js"; +import { ThingsContent } from "./thingsContent.js"; /** * Indicates that a user linked a device with LINE. */ -import { EventBase } from "./models"; +import { EventBase } from "./models.js"; export type ThingsEvent = EventBase & { type: "things"; diff --git a/lib/webhook/model/unfollowEvent.ts b/lib/webhook/model/unfollowEvent.ts index b167e4bba..ebd64ba77 100644 --- a/lib/webhook/model/unfollowEvent.ts +++ b/lib/webhook/model/unfollowEvent.ts @@ -10,15 +10,15 @@ * Do not edit the class manually. */ -import { DeliveryContext } from "./deliveryContext"; -import { Event } from "./event"; -import { EventMode } from "./eventMode"; -import { Source } from "./source"; +import { DeliveryContext } from "./deliveryContext.js"; +import { Event } from "./event.js"; +import { EventMode } from "./eventMode.js"; +import { Source } from "./source.js"; /** * Event object for when your LINE Official Account is blocked. */ -import { EventBase } from "./models"; +import { EventBase } from "./models.js"; export type UnfollowEvent = EventBase & { type: "unfollow"; diff --git a/lib/webhook/model/unlinkThingsContent.ts b/lib/webhook/model/unlinkThingsContent.ts index 33ccddb79..900f94269 100644 --- a/lib/webhook/model/unlinkThingsContent.ts +++ b/lib/webhook/model/unlinkThingsContent.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { ThingsContent } from "./thingsContent"; +import { ThingsContent } from "./thingsContent.js"; -import { ThingsContentBase } from "./models"; +import { ThingsContentBase } from "./models.js"; export type UnlinkThingsContent = ThingsContentBase & { type: "unlink"; diff --git a/lib/webhook/model/unsendEvent.ts b/lib/webhook/model/unsendEvent.ts index 892f2acbf..2148cca72 100644 --- a/lib/webhook/model/unsendEvent.ts +++ b/lib/webhook/model/unsendEvent.ts @@ -10,16 +10,16 @@ * Do not edit the class manually. */ -import { DeliveryContext } from "./deliveryContext"; -import { Event } from "./event"; -import { EventMode } from "./eventMode"; -import { Source } from "./source"; -import { UnsendDetail } from "./unsendDetail"; +import { DeliveryContext } from "./deliveryContext.js"; +import { Event } from "./event.js"; +import { EventMode } from "./eventMode.js"; +import { Source } from "./source.js"; +import { UnsendDetail } from "./unsendDetail.js"; /** * Event object for when the user unsends a message. */ -import { EventBase } from "./models"; +import { EventBase } from "./models.js"; export type UnsendEvent = EventBase & { type: "unsend"; diff --git a/lib/webhook/model/userMentionee.ts b/lib/webhook/model/userMentionee.ts index 37091e293..99c8c7627 100644 --- a/lib/webhook/model/userMentionee.ts +++ b/lib/webhook/model/userMentionee.ts @@ -10,12 +10,12 @@ * Do not edit the class manually. */ -import { Mentionee } from "./mentionee"; +import { Mentionee } from "./mentionee.js"; /** * Mentioned target is user */ -import { MentioneeBase } from "./models"; +import { MentioneeBase } from "./models.js"; export type UserMentionee = MentioneeBase & { type: "user"; diff --git a/lib/webhook/model/userSource.ts b/lib/webhook/model/userSource.ts index 7213853f9..15a656f39 100644 --- a/lib/webhook/model/userSource.ts +++ b/lib/webhook/model/userSource.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -import { Source } from "./source"; +import { Source } from "./source.js"; -import { SourceBase } from "./models"; +import { SourceBase } from "./models.js"; export type UserSource = SourceBase & { type: "user"; diff --git a/lib/webhook/model/videoMessageContent.ts b/lib/webhook/model/videoMessageContent.ts index fbe80ccc6..436345eff 100644 --- a/lib/webhook/model/videoMessageContent.ts +++ b/lib/webhook/model/videoMessageContent.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ -import { ContentProvider } from "./contentProvider"; -import { MessageContent } from "./messageContent"; +import { ContentProvider } from "./contentProvider.js"; +import { MessageContent } from "./messageContent.js"; -import { MessageContentBase } from "./models"; +import { MessageContentBase } from "./models.js"; export type VideoMessageContent = MessageContentBase & { type: "video"; diff --git a/lib/webhook/model/videoPlayCompleteEvent.ts b/lib/webhook/model/videoPlayCompleteEvent.ts index 5b7458230..21476e681 100644 --- a/lib/webhook/model/videoPlayCompleteEvent.ts +++ b/lib/webhook/model/videoPlayCompleteEvent.ts @@ -10,16 +10,16 @@ * Do not edit the class manually. */ -import { DeliveryContext } from "./deliveryContext"; -import { Event } from "./event"; -import { EventMode } from "./eventMode"; -import { Source } from "./source"; -import { VideoPlayComplete } from "./videoPlayComplete"; +import { DeliveryContext } from "./deliveryContext.js"; +import { Event } from "./event.js"; +import { EventMode } from "./eventMode.js"; +import { Source } from "./source.js"; +import { VideoPlayComplete } from "./videoPlayComplete.js"; /** * Event for when a user finishes viewing a video at least once with the specified trackingId sent by the LINE Official Account. */ -import { EventBase } from "./models"; +import { EventBase } from "./models.js"; export type VideoPlayCompleteEvent = EventBase & { type: "videoPlayComplete"; diff --git a/test/client.spec.ts b/test/client.spec.ts index d08ff2565..c8a961b69 100644 --- a/test/client.spec.ts +++ b/test/client.spec.ts @@ -2,9 +2,9 @@ import { readFileSync } from "node:fs"; import { join } from "node:path"; import { deepEqual, equal, ok, strictEqual } from "node:assert"; import { URL } from "node:url"; -import Client, { OAuth } from "../lib/client"; -import * as Types from "../lib/types"; -import { getStreamData } from "./helpers/stream"; +import Client, { OAuth } from "../lib/client.js"; +import * as Types from "../lib/types.js"; +import { getStreamData } from "./helpers/stream.js"; import { http, HttpResponse } from "msw"; import { setupServer } from "msw/node"; import { @@ -12,7 +12,7 @@ import { MESSAGING_API_PREFIX, OAUTH_BASE_PREFIX, OAUTH_BASE_PREFIX_V2_1, -} from "../lib/endpoints"; +} from "../lib/endpoints.js"; import { describe, it, beforeAll, afterAll, afterEach } from "vitest"; diff --git a/test/helpers/test-server.ts b/test/helpers/test-server.ts index c6d0f1dd7..9594cf766 100644 --- a/test/helpers/test-server.ts +++ b/test/helpers/test-server.ts @@ -6,7 +6,7 @@ import { writeFileSync } from "node:fs"; import { JSONParseError, SignatureValidationFailed, -} from "../../lib/exceptions"; +} from "../../lib/exceptions.js"; import * as finalhandler from "finalhandler"; let server: Server | null = null; diff --git a/test/http-axios.spec.ts b/test/http-axios.spec.ts index 7560df0d3..0698857f4 100644 --- a/test/http-axios.spec.ts +++ b/test/http-axios.spec.ts @@ -1,7 +1,7 @@ import { deepEqual, equal, ok } from "node:assert"; -import { HTTPError } from "../lib/exceptions"; -import HTTPClient from "../lib/http-axios"; -import { getStreamData } from "./helpers/stream"; +import { HTTPError } from "../lib/exceptions.js"; +import HTTPClient from "../lib/http-axios.js"; +import { getStreamData } from "./helpers/stream.js"; import { http, HttpResponse } from "msw"; import { setupServer } from "msw/node"; import { createReadStream, readFileSync } from "node:fs"; diff --git a/test/http-fetch.spec.ts b/test/http-fetch.spec.ts index 5e539d686..170c9435e 100644 --- a/test/http-fetch.spec.ts +++ b/test/http-fetch.spec.ts @@ -1,7 +1,9 @@ import { deepEqual, equal, ok } from "node:assert"; -import { HTTPFetchError } from "../lib"; -import HTTPFetchClient, { convertResponseToReadable } from "../lib/http-fetch"; -import { getStreamData } from "./helpers/stream"; +import { HTTPFetchError } from "../lib.js"; +import HTTPFetchClient, { + convertResponseToReadable, +} from "../lib/http-fetch.js"; +import { getStreamData } from "./helpers/stream.js"; import { http, HttpResponse } from "msw"; import { setupServer } from "msw/node"; import { join } from "node:path"; diff --git a/test/libs-channelAccessToken.spec.ts b/test/libs-channelAccessToken.spec.ts index 433176a29..2b68fc13b 100644 --- a/test/libs-channelAccessToken.spec.ts +++ b/test/libs-channelAccessToken.spec.ts @@ -1,4 +1,4 @@ -import { channelAccessToken } from "../lib"; +import { channelAccessToken } from "../lib.js"; import { http, HttpResponse } from "msw"; import { setupServer } from "msw/node"; import { deepEqual, equal } from "node:assert"; diff --git a/test/libs-manageAudience.spec.ts b/test/libs-manageAudience.spec.ts index 7832f23d8..ce253cb29 100644 --- a/test/libs-manageAudience.spec.ts +++ b/test/libs-manageAudience.spec.ts @@ -1,4 +1,4 @@ -import { manageAudience } from "../lib"; +import { manageAudience } from "../lib.js"; import { http, HttpResponse } from "msw"; import { setupServer } from "msw/node"; import { deepEqual, equal, match } from "node:assert"; diff --git a/test/libs-messagingApi.spec.ts b/test/libs-messagingApi.spec.ts index ab588be60..517890d9d 100644 --- a/test/libs-messagingApi.spec.ts +++ b/test/libs-messagingApi.spec.ts @@ -1,4 +1,4 @@ -import { messagingApi } from "../lib"; +import { messagingApi } from "../lib.js"; import { http, HttpResponse } from "msw"; import { setupServer } from "msw/node"; import { deepEqual, equal } from "node:assert"; diff --git a/test/libs-shop.spec.ts b/test/libs-shop.spec.ts index 839b30bf9..058f7eac8 100644 --- a/test/libs-shop.spec.ts +++ b/test/libs-shop.spec.ts @@ -1,4 +1,4 @@ -import { shop } from "../lib"; +import { shop } from "../lib.js"; import { http, HttpResponse } from "msw"; import { setupServer } from "msw/node"; import { deepEqual, equal } from "node:assert"; diff --git a/test/libs-webhook.spec.ts b/test/libs-webhook.spec.ts index 49424e954..2c820736f 100644 --- a/test/libs-webhook.spec.ts +++ b/test/libs-webhook.spec.ts @@ -1,4 +1,4 @@ -import { webhook } from "../lib"; +import { webhook } from "../lib.js"; import { describe, it } from "vitest"; diff --git a/test/middleware.spec.ts b/test/middleware.spec.ts index 11da664de..ec8911dad 100644 --- a/test/middleware.spec.ts +++ b/test/middleware.spec.ts @@ -1,11 +1,11 @@ import { deepEqual, equal, ok } from "node:assert"; import { readFileSync } from "node:fs"; import { join } from "node:path"; -import { HTTPError } from "../lib/exceptions"; -import HTTPClient from "../lib/http-axios"; -import middleware from "../lib/middleware"; -import * as Types from "../lib/types"; -import { close, listen } from "./helpers/test-server"; +import { HTTPError } from "../lib/exceptions.js"; +import HTTPClient from "../lib/http-axios.js"; +import middleware from "../lib/middleware.js"; +import * as Types from "../lib/types.js"; +import { close, listen } from "./helpers/test-server.js"; import { describe, it, beforeAll, afterAll, afterEach } from "vitest"; diff --git a/test/utils.spec.ts b/test/utils.spec.ts index 04aa8fcbc..0028d6207 100644 --- a/test/utils.spec.ts +++ b/test/utils.spec.ts @@ -1,5 +1,5 @@ -import { ensureJSON } from "../lib/utils"; -import { JSONParseError } from "../lib/exceptions"; +import { ensureJSON } from "../lib/utils.js"; +import { JSONParseError } from "../lib/exceptions.js"; import { equal, ok } from "node:assert"; import { describe, it } from "vitest"; diff --git a/test/validate-signature.spec.ts b/test/validate-signature.spec.ts index 26f8878e9..32f8a5f45 100644 --- a/test/validate-signature.spec.ts +++ b/test/validate-signature.spec.ts @@ -1,5 +1,5 @@ import { ok } from "node:assert"; -import validateSignature from "../lib/validate-signature"; +import validateSignature from "../lib/validate-signature.js"; import { describe, it } from "vitest"; From ddad2553829a1d4d9c2139a1ee7815e047547cec Mon Sep 17 00:00:00 2001 From: Yuta Kasai Date: Wed, 27 Mar 2024 23:51:23 +0900 Subject: [PATCH 07/24] a 02 a --- package.json | 1 + tsconfig.json | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index e054485dc..97900030c 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,7 @@ "name": "@line/bot-sdk", "version": "__LINE_BOT_SDK_NODEJS_VERSION__", "description": "Node.js SDK for LINE Messaging API", + "type": "module", "engines": { "node": ">=18" }, diff --git a/tsconfig.json b/tsconfig.json index 13fb10b99..9c302f573 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,13 +1,23 @@ { "compilerOptions": { - "module": "commonjs", - "target": "es2017", + "module": "NodeNext", + "moduleResolution": "NodeNext", + "esModuleInterop": true, + "target": "ES2018", "noImplicitAny": true, + "newLine": "LF", + "sourceMap": true, + "declarationMap": true, "outDir": "dist", "rootDirs": ["lib", "test"], "declaration": true, }, "include": [ "lib/**/*.ts", - ] + ], + "exclude": [ + "node_modules", + "dist", + ".git" + ], } From 8aa376d8f6e691d385ef9ad0d5e54d7bd0d62f61 Mon Sep 17 00:00:00 2001 From: Yuta Kasai Date: Sat, 30 Mar 2024 14:33:41 +0900 Subject: [PATCH 08/24] fix package.json --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 97900030c..51da9dc01 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ }, "main": "dist/index.js", "types": "dist/index.d.ts", + "module": "dist/index.js", "files": [ "dist", "lib" From fd350b37643dff2cef4df3d40a05b613c3a4b5f1 Mon Sep 17 00:00:00 2001 From: Yuta Kasai Date: Mon, 1 Apr 2024 11:50:38 +0900 Subject: [PATCH 09/24] 02 Fix test --- test/http-fetch.spec.ts | 2 +- test/libs-channelAccessToken.spec.ts | 2 +- test/libs-manageAudience.spec.ts | 2 +- test/libs-messagingApi.spec.ts | 2 +- test/libs-shop.spec.ts | 2 +- test/libs-webhook.spec.ts | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/test/http-fetch.spec.ts b/test/http-fetch.spec.ts index 170c9435e..b46c64a72 100644 --- a/test/http-fetch.spec.ts +++ b/test/http-fetch.spec.ts @@ -1,5 +1,5 @@ import { deepEqual, equal, ok } from "node:assert"; -import { HTTPFetchError } from "../lib.js"; +import { HTTPFetchError } from "../lib/index.js"; import HTTPFetchClient, { convertResponseToReadable, } from "../lib/http-fetch.js"; diff --git a/test/libs-channelAccessToken.spec.ts b/test/libs-channelAccessToken.spec.ts index 2b68fc13b..4abc90353 100644 --- a/test/libs-channelAccessToken.spec.ts +++ b/test/libs-channelAccessToken.spec.ts @@ -1,4 +1,4 @@ -import { channelAccessToken } from "../lib.js"; +import { channelAccessToken } from "../lib/index.js"; import { http, HttpResponse } from "msw"; import { setupServer } from "msw/node"; import { deepEqual, equal } from "node:assert"; diff --git a/test/libs-manageAudience.spec.ts b/test/libs-manageAudience.spec.ts index ce253cb29..a985b4a41 100644 --- a/test/libs-manageAudience.spec.ts +++ b/test/libs-manageAudience.spec.ts @@ -1,4 +1,4 @@ -import { manageAudience } from "../lib.js"; +import { manageAudience } from "../lib/index.js"; import { http, HttpResponse } from "msw"; import { setupServer } from "msw/node"; import { deepEqual, equal, match } from "node:assert"; diff --git a/test/libs-messagingApi.spec.ts b/test/libs-messagingApi.spec.ts index 517890d9d..01d55253f 100644 --- a/test/libs-messagingApi.spec.ts +++ b/test/libs-messagingApi.spec.ts @@ -1,4 +1,4 @@ -import { messagingApi } from "../lib.js"; +import { messagingApi } from "../lib/index.js"; import { http, HttpResponse } from "msw"; import { setupServer } from "msw/node"; import { deepEqual, equal } from "node:assert"; diff --git a/test/libs-shop.spec.ts b/test/libs-shop.spec.ts index 058f7eac8..1159b502e 100644 --- a/test/libs-shop.spec.ts +++ b/test/libs-shop.spec.ts @@ -1,4 +1,4 @@ -import { shop } from "../lib.js"; +import { shop } from "../lib/index.js"; import { http, HttpResponse } from "msw"; import { setupServer } from "msw/node"; import { deepEqual, equal } from "node:assert"; diff --git a/test/libs-webhook.spec.ts b/test/libs-webhook.spec.ts index 2c820736f..3af39e975 100644 --- a/test/libs-webhook.spec.ts +++ b/test/libs-webhook.spec.ts @@ -1,4 +1,4 @@ -import { webhook } from "../lib.js"; +import { webhook } from "../lib/index.js"; import { describe, it } from "vitest"; From fb798c588eb36e59c04867de45c77d393ccca18c Mon Sep 17 00:00:00 2001 From: Yuta Kasai Date: Mon, 1 Apr 2024 11:55:36 +0900 Subject: [PATCH 10/24] 02 Make docs/.vitepress/** ESM --- docs/.vitepress/config.ts | 8 ++++---- docs/.vitepress/utils.ts | 30 ++++++++++++++++++------------ 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index bf825822b..b44c7204f 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -1,9 +1,9 @@ -const utils = require('./utils.ts'); +import { copyFile, rewriteFile } from './utils.js'; -utils.copyFile('README.md', 'index.md'); -utils.copyFile('CONTRIBUTING.md', 'CONTRIBUTING.md'); +copyFile('README.md', 'index.md'); +copyFile('CONTRIBUTING.md', 'CONTRIBUTING.md'); -utils.rewriteFile('../apidocs/README.md', /\(CONTRIBUTING.md\)/g, '(../CONTRIBUTING.md)'); +rewriteFile('../apidocs/README.md', /\(CONTRIBUTING.md\)/g, '(../CONTRIBUTING.md)'); export default { title: 'line-bot-sdk-nodejs', diff --git a/docs/.vitepress/utils.ts b/docs/.vitepress/utils.ts index 16c287a17..660bc3503 100644 --- a/docs/.vitepress/utils.ts +++ b/docs/.vitepress/utils.ts @@ -1,21 +1,27 @@ -const fs = require('fs'); -const path = require('path'); +import fs from 'node:fs'; +import path from 'node:path'; +import {fileURLToPath} from 'node:url'; +import {dirname} from 'node:path'; + +// __dirname is not available in ESM, so we need to derive it +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); function copyFile(sourceFilename, targetFilename) { - const sourcePath = path.join(__dirname, '../../', sourceFilename); - const targetPath = path.join(__dirname, '../', targetFilename); - const md = fs.readFileSync(sourcePath, 'utf-8'); - fs.writeFileSync(targetPath, md); + const sourcePath = path.join(__dirname, '../../', sourceFilename); + const targetPath = path.join(__dirname, '../', targetFilename); + const md = fs.readFileSync(sourcePath, 'utf-8'); + fs.writeFileSync(targetPath, md); } function rewriteFile(filename, regex, replacement) { - console.log("Rewriting file: ", filename, " with regex: ", regex, " and replacement: ", replacement) - const content = fs.readFileSync(path.join(__dirname, filename), 'utf-8'); - const newContent = content.replace(regex, replacement); - fs.writeFileSync(path.join(__dirname, filename), newContent); + console.log("Rewriting file: ", filename, " with regex: ", regex, " and replacement: ", replacement) + const content = fs.readFileSync(path.join(__dirname, filename), 'utf-8'); + const newContent = content.replace(regex, replacement); + fs.writeFileSync(path.join(__dirname, filename), newContent); } export { - copyFile, - rewriteFile, + copyFile, + rewriteFile }; From 2375da668d0e27d989308cda0df3ac382ed12e36 Mon Sep 17 00:00:00 2001 From: Yuta Kasai Date: Thu, 28 Mar 2024 00:14:55 +0900 Subject: [PATCH 11/24] 03 Add ESM test project --- .github/workflows/test.yml | 9 +- examples/echo-bot-ts-esm/.gitignore | 5 + examples/echo-bot-ts-esm/README.md | 57 + examples/echo-bot-ts-esm/environment.d.ts | 11 + examples/echo-bot-ts-esm/index.ts | 111 ++ examples/echo-bot-ts-esm/package-lock.json | 1335 ++++++++++++++++++++ examples/echo-bot-ts-esm/package.json | 23 + examples/echo-bot-ts-esm/tsconfig.json | 71 ++ 8 files changed, 1621 insertions(+), 1 deletion(-) create mode 100644 examples/echo-bot-ts-esm/.gitignore create mode 100644 examples/echo-bot-ts-esm/README.md create mode 100644 examples/echo-bot-ts-esm/environment.d.ts create mode 100644 examples/echo-bot-ts-esm/index.ts create mode 100644 examples/echo-bot-ts-esm/package-lock.json create mode 100644 examples/echo-bot-ts-esm/package.json create mode 100644 examples/echo-bot-ts-esm/tsconfig.json diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0d2608546..4af4500cf 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -46,10 +46,17 @@ jobs: run: export NODE_OPTIONS=--openssl-legacy-provider; npm run apidocs - name: Test building docs run: export NODE_OPTIONS=--openssl-legacy-provider; npm run docs:build - - name: Test building examples + - name: Test building examples (CJS) run: | cd examples/echo-bot-ts npm run build-sdk npm install npm run build cd - + - name: Test building examples (ESM) + run: | + cd examples/echo-bot-ts-esm + npm run build-sdk + npm install + npm run build + cd - diff --git a/examples/echo-bot-ts-esm/.gitignore b/examples/echo-bot-ts-esm/.gitignore new file mode 100644 index 000000000..350cb72fe --- /dev/null +++ b/examples/echo-bot-ts-esm/.gitignore @@ -0,0 +1,5 @@ +# Dependencies +node_modules/ + +# Built files. +dist/ diff --git a/examples/echo-bot-ts-esm/README.md b/examples/echo-bot-ts-esm/README.md new file mode 100644 index 000000000..07d196b5b --- /dev/null +++ b/examples/echo-bot-ts-esm/README.md @@ -0,0 +1,57 @@ +# LINE Echo Bot with TypeScript (ESM) + +An example LINE bot to echo message with TypeScript. The bot is coded according to TypeScript's best practices. + +## Prerequisite + +- Git +- Node.js version 10 and up +- LINE Developers Account for the bot + +## Installation + +- Clone the repository. + +```bash +git clone https://github.com/line/line-bot-sdk-nodejs.git +``` + +- Change directory to the example. + +```bash +cd line-bot-sdk-nodejs/examples/echo-bot-ts +``` + +- Install all dependencies. + +```bash +npm run build-sdk +npm install +``` + +- Configure all the environment variables. + +```bash +export CHANNEL_ACCESS_TOKEN= +export CHANNEL_SECRET= +export PORT= +``` + +- Set up your webhook URL in your LINE Official Account to be in the following format. Don't forget to disable the greeting messages and auto-response messages for convenience. + +```bash +https://example.com/callback +``` + +- Compile the TypeScript files. + +```bash +npm run build +``` + +- Run the application. + +```bash +npm start +``` + diff --git a/examples/echo-bot-ts-esm/environment.d.ts b/examples/echo-bot-ts-esm/environment.d.ts new file mode 100644 index 000000000..0055d9e11 --- /dev/null +++ b/examples/echo-bot-ts-esm/environment.d.ts @@ -0,0 +1,11 @@ +declare global { + namespace NodeJS { + interface ProcessEnv { + CHANNEL_ACCESS_TOKEN: string; + CHANNEL_SECRET: string; + PORT: string; + } + } +} + +export {}; diff --git a/examples/echo-bot-ts-esm/index.ts b/examples/echo-bot-ts-esm/index.ts new file mode 100644 index 000000000..4bcec61ba --- /dev/null +++ b/examples/echo-bot-ts-esm/index.ts @@ -0,0 +1,111 @@ +// Import all dependencies, mostly using destructuring for better view. +import { + ClientConfig, + MessageAPIResponseBase, + messagingApi, + middleware, + MiddlewareConfig, + webhook, + HTTPFetchError, +} from '@line/bot-sdk'; +import express, {Application, Request, Response} from 'express'; + +// Setup all LINE client and Express configurations. +const clientConfig: ClientConfig = { + channelAccessToken: process.env.CHANNEL_ACCESS_TOKEN || '', +}; + +const middlewareConfig: MiddlewareConfig = { + channelAccessToken: process.env.CHANNEL_ACCESS_TOKEN, + channelSecret: process.env.CHANNEL_SECRET || '', +}; + +const PORT = process.env.PORT || 3000; + +// Create a new LINE SDK client. +const client = new messagingApi.MessagingApiClient(clientConfig); + +// Create a new Express application. +const app: Application = express(); + +const isTextEvent = (event: any): event is webhook.MessageEvent & { message: webhook.TextMessageContent } => { + return event.type === 'message' && event.message && event.message.type === 'text'; +}; + +// Function handler to receive the text. +const textEventHandler = async (event: webhook.Event): Promise => { + // Process all variables here. + if (!isTextEvent(event)) { + return; + } + + // Process all message related variables here. + // Create a new message. + // Reply to the user. + await client.replyMessage({ + replyToken: event.replyToken as string, + messages: [{ + type: 'text', + text: event.message.text, + }], + }); +}; + +// Register the LINE middleware. +// As an alternative, you could also pass the middleware in the route handler, which is what is used here. +// app.use(middleware(middlewareConfig)); + +// Route handler to receive webhook events. +// This route is used to receive connection tests. +app.get( + '/', + async (_: Request, res: Response): Promise => { + return res.status(200).json({ + status: 'success', + message: 'Connected successfully!', + }); + } +); + +// This route is used for the Webhook. +app.post( + '/callback', + middleware(middlewareConfig), + async (req: Request, res: Response): Promise => { + const callbackRequest: webhook.CallbackRequest = req.body; + const events: webhook.Event[] = callbackRequest.events!; + + // Process all the received events asynchronously. + const results = await Promise.all( + events.map(async (event: webhook.Event) => { + try { + await textEventHandler(event); + } catch (err: unknown) { + if (err instanceof HTTPFetchError) { + console.error(err.status); + console.error(err.headers.get('x-line-request-id')); + console.error(err.body); + } else if (err instanceof Error) { + console.error(err); + } + + // Return an error message. + return res.status(500).json({ + status: 'error', + }); + } + }) + ); + + // Return a successful message. + return res.status(200).json({ + status: 'success', + results, + }); + } +); + +// Create a server and listen to it. +app.listen(PORT, () => { + console.log(`Application is live and listening on port ${PORT}`); +}); diff --git a/examples/echo-bot-ts-esm/package-lock.json b/examples/echo-bot-ts-esm/package-lock.json new file mode 100644 index 000000000..e388a9433 --- /dev/null +++ b/examples/echo-bot-ts-esm/package-lock.json @@ -0,0 +1,1335 @@ +{ + "name": "echo-bot-ts", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "echo-bot-ts", + "version": "0.0.0", + "dependencies": { + "@line/bot-sdk": "../../", + "express": "^4.18.2" + }, + "devDependencies": { + "@types/express": "^4.17.17", + "@types/node": "^20.6.3", + "rimraf": "^5.0.1", + "typescript": "^5.2.2" + } + }, + "../..": { + "name": "@line/bot-sdk", + "version": "__LINE_BOT_SDK_NODEJS_VERSION__", + "license": "Apache-2.0", + "dependencies": { + "@types/node": "^20.0.0" + }, + "devDependencies": { + "@types/express": "4.17.21", + "@types/finalhandler": "1.2.3", + "@types/mocha": "10.0.6", + "express": "4.19.2", + "finalhandler": "1.2.0", + "husky": "9.0.11", + "mocha": "10.3.0", + "msw": "2.2.11", + "nyc": "15.1.0", + "prettier": "3.2.5", + "ts-node": "10.9.2", + "typedoc": "^0.25.1", + "typedoc-plugin-markdown": "^3.16.0", + "typescript": "5.4.3", + "vuepress": "^2.0.0-beta.67" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "axios": "^1.0.0" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@line/bot-sdk": { + "resolved": "../..", + "link": true + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "dev": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.43", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz", + "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "dev": true + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.11.30", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.30.tgz", + "integrity": "sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/qs": { + "version": "6.9.14", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.14.tgz", + "integrity": "sha512-5khscbd3SwWMhFqylJBLQ0zIu7c1K6Vz0uBIt915BI3zV0q1nfjRQD3RqSBcPaO6PHEF4ov/t9y89fSiyThlPA==", + "dev": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true + }, + "node_modules/@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "dev": true, + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", + "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", + "dev": true, + "dependencies": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/etag": { + "version": "1.8.1", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.6.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dev": true, + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/rimraf": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz", + "integrity": "sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==", + "dev": true, + "dependencies": { + "glob": "^10.3.7" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/send": { + "version": "0.18.0", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "license": "MIT" + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typescript": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.3.tgz", + "integrity": "sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + } + } +} diff --git a/examples/echo-bot-ts-esm/package.json b/examples/echo-bot-ts-esm/package.json new file mode 100644 index 000000000..f82cd936f --- /dev/null +++ b/examples/echo-bot-ts-esm/package.json @@ -0,0 +1,23 @@ +{ + "name": "echo-bot-ts", + "version": "0.0.0", + "description": "An example LINE bot with TypeScript made to echo messages", + "type": "module", + "main": "./dist/index.js", + "scripts": { + "clean": "rimraf ./dist", + "build": "npm run clean && tsc", + "build-sdk": "cd ../../; npm i; npm run build", + "start": "node dist/index.js" + }, + "dependencies": { + "@line/bot-sdk": "../../", + "express": "^4.18.2" + }, + "devDependencies": { + "@types/express": "^4.17.17", + "@types/node": "^20.6.3", + "rimraf": "^5.0.1", + "typescript": "^5.2.2" + } +} diff --git a/examples/echo-bot-ts-esm/tsconfig.json b/examples/echo-bot-ts-esm/tsconfig.json new file mode 100644 index 000000000..32feb631a --- /dev/null +++ b/examples/echo-bot-ts-esm/tsconfig.json @@ -0,0 +1,71 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig.json to read more about this file */ + + /* Basic Options */ + // "incremental": true, /* Enable incremental compilation */ + "target": "ESNext", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */ + "module": "NodeNext", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ + // "lib": [], /* Specify library files to be included in the compilation. */ + // "allowJs": true, /* Allow javascript files to be compiled. */ + // "checkJs": true, /* Report errors in .js files. */ + // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ + // "declaration": true, /* Generates corresponding '.d.ts' file. */ + // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ + // "sourceMap": true, /* Generates corresponding '.map' file. */ + // "outFile": "./", /* Concatenate and emit output to single file. */ + "outDir": "./dist", /* Redirect output structure to the directory. */ + // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ + // "composite": true, /* Enable project compilation */ + // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ + // "removeComments": true, /* Do not emit comments to output. */ + // "noEmit": true, /* Do not emit outputs. */ + // "importHelpers": true, /* Import emit helpers from 'tslib'. */ + // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ + // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ + + /* Strict Type-Checking Options */ + // "strict": true, /* Enable all strict type-checking options. */ + // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true, /* Enable strict null checks. */ + // "strictFunctionTypes": true, /* Enable strict checking of function types. */ + // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ + // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ + // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ + // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ + + /* Additional Checks */ + // "noUnusedLocals": true, /* Report errors on unused locals. */ + // "noUnusedParameters": true, /* Report errors on unused parameters. */ + // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ + // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ + // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ + + /* Module Resolution Options */ + "moduleResolution": "NodeNext", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ + // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ + // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ + // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ + // "typeRoots": [], /* List of folders to include type definitions from. */ + // "types": [], /* Type declaration files to be included in compilation. */ + // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ + "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ + // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + + /* Source Map Options */ + // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ + // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ + + /* Experimental Options */ + // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ + // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ + + /* Advanced Options */ + "skipLibCheck": true, /* Skip type checking of declaration files. */ + "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ + }, + "exclude": ["node_modules"] +} From 403e115dd92696568e468cb6622c7da82ab78701 Mon Sep 17 00:00:00 2001 From: Yuta Kasai Date: Mon, 1 Apr 2024 15:45:53 +0900 Subject: [PATCH 12/24] 03 a --- examples/echo-bot-ts-esm/.gitignore | 5 -- examples/echo-bot-ts-esm/README.md | 20 +++--- examples/echo-bot-ts-esm/index.ts | 1 - examples/echo-bot-ts-esm/package-lock.json | 11 ++-- examples/echo-bot-ts-esm/package.json | 4 +- examples/echo-bot-ts-esm/tsconfig.json | 72 ++-------------------- 6 files changed, 25 insertions(+), 88 deletions(-) delete mode 100644 examples/echo-bot-ts-esm/.gitignore diff --git a/examples/echo-bot-ts-esm/.gitignore b/examples/echo-bot-ts-esm/.gitignore deleted file mode 100644 index 350cb72fe..000000000 --- a/examples/echo-bot-ts-esm/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -# Dependencies -node_modules/ - -# Built files. -dist/ diff --git a/examples/echo-bot-ts-esm/README.md b/examples/echo-bot-ts-esm/README.md index 07d196b5b..267e31c98 100644 --- a/examples/echo-bot-ts-esm/README.md +++ b/examples/echo-bot-ts-esm/README.md @@ -1,12 +1,14 @@ -# LINE Echo Bot with TypeScript (ESM) +# Echo Bot for LINE using TypeScript and ESM -An example LINE bot to echo message with TypeScript. The bot is coded according to TypeScript's best practices. +Welcome to this simple guide on how to create an Echo Bot for the LINE messaging platform using TypeScript and ECMAScript Modules (ESM). +An Echo Bot is a basic bot that replies to a user's message with the same content. +This tutorial will help you set up a LINE Echo Bot from scratch. ## Prerequisite -- Git -- Node.js version 10 and up -- LINE Developers Account for the bot +- Node.js version 18 or higher +- You've created a channel in the LINE Developers Console, and got your channel access token and channel secret. + - Read https://developers.line.biz/en/docs/messaging-api/getting-started/#using-console if you haven't done this yet. ## Installation @@ -16,10 +18,10 @@ An example LINE bot to echo message with TypeScript. The bot is coded according git clone https://github.com/line/line-bot-sdk-nodejs.git ``` -- Change directory to the example. +- Change directory to this example. ```bash -cd line-bot-sdk-nodejs/examples/echo-bot-ts +cd line-bot-sdk-nodejs/examples/echo-bot-ts-esm ``` - Install all dependencies. @@ -29,7 +31,7 @@ npm run build-sdk npm install ``` -- Configure all the environment variables. +- Set the following environment variables. ```bash export CHANNEL_ACCESS_TOKEN= @@ -43,7 +45,7 @@ export PORT= https://example.com/callback ``` -- Compile the TypeScript files. +- Build the application. ```bash npm run build diff --git a/examples/echo-bot-ts-esm/index.ts b/examples/echo-bot-ts-esm/index.ts index 4bcec61ba..193fc4b82 100644 --- a/examples/echo-bot-ts-esm/index.ts +++ b/examples/echo-bot-ts-esm/index.ts @@ -16,7 +16,6 @@ const clientConfig: ClientConfig = { }; const middlewareConfig: MiddlewareConfig = { - channelAccessToken: process.env.CHANNEL_ACCESS_TOKEN, channelSecret: process.env.CHANNEL_SECRET || '', }; diff --git a/examples/echo-bot-ts-esm/package-lock.json b/examples/echo-bot-ts-esm/package-lock.json index e388a9433..a4582c225 100644 --- a/examples/echo-bot-ts-esm/package-lock.json +++ b/examples/echo-bot-ts-esm/package-lock.json @@ -1,11 +1,11 @@ { - "name": "echo-bot-ts", + "name": "echo-bot-ts-esm", "version": "0.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "echo-bot-ts", + "name": "echo-bot-ts-esm", "version": "0.0.0", "dependencies": { "@line/bot-sdk": "../../", @@ -29,18 +29,19 @@ "@types/express": "4.17.21", "@types/finalhandler": "1.2.3", "@types/mocha": "10.0.6", + "@vitest/coverage-v8": "^1.4.0", "express": "4.19.2", "finalhandler": "1.2.0", "husky": "9.0.11", - "mocha": "10.3.0", "msw": "2.2.11", - "nyc": "15.1.0", "prettier": "3.2.5", "ts-node": "10.9.2", "typedoc": "^0.25.1", "typedoc-plugin-markdown": "^3.16.0", "typescript": "5.4.3", - "vuepress": "^2.0.0-beta.67" + "vite": "^5.2.7", + "vitepress": "^1.0.1", + "vitest": "^1.4.0" }, "engines": { "node": ">=18" diff --git a/examples/echo-bot-ts-esm/package.json b/examples/echo-bot-ts-esm/package.json index f82cd936f..ab7550983 100644 --- a/examples/echo-bot-ts-esm/package.json +++ b/examples/echo-bot-ts-esm/package.json @@ -1,7 +1,7 @@ { - "name": "echo-bot-ts", + "name": "echo-bot-ts-esm", "version": "0.0.0", - "description": "An example LINE bot with TypeScript made to echo messages", + "description": "A LINE Messaging API SDK for Node.js bot example using TypeScript with ESM", "type": "module", "main": "./dist/index.js", "scripts": { diff --git a/examples/echo-bot-ts-esm/tsconfig.json b/examples/echo-bot-ts-esm/tsconfig.json index 32feb631a..835590bf2 100644 --- a/examples/echo-bot-ts-esm/tsconfig.json +++ b/examples/echo-bot-ts-esm/tsconfig.json @@ -1,71 +1,11 @@ { "compilerOptions": { - /* Visit https://aka.ms/tsconfig.json to read more about this file */ - - /* Basic Options */ - // "incremental": true, /* Enable incremental compilation */ - "target": "ESNext", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */ - "module": "NodeNext", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ - // "lib": [], /* Specify library files to be included in the compilation. */ - // "allowJs": true, /* Allow javascript files to be compiled. */ - // "checkJs": true, /* Report errors in .js files. */ - // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ - // "declaration": true, /* Generates corresponding '.d.ts' file. */ - // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ - // "sourceMap": true, /* Generates corresponding '.map' file. */ - // "outFile": "./", /* Concatenate and emit output to single file. */ - "outDir": "./dist", /* Redirect output structure to the directory. */ - // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ - // "composite": true, /* Enable project compilation */ - // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ - // "removeComments": true, /* Do not emit comments to output. */ - // "noEmit": true, /* Do not emit outputs. */ - // "importHelpers": true, /* Import emit helpers from 'tslib'. */ - // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ - // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ - - /* Strict Type-Checking Options */ - // "strict": true, /* Enable all strict type-checking options. */ - // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* Enable strict null checks. */ - // "strictFunctionTypes": true, /* Enable strict checking of function types. */ - // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ - // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ - // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ - // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ - - /* Additional Checks */ - // "noUnusedLocals": true, /* Report errors on unused locals. */ - // "noUnusedParameters": true, /* Report errors on unused parameters. */ - // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ - // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ - // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ - - /* Module Resolution Options */ - "moduleResolution": "NodeNext", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ - // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ - // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ - // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ - // "typeRoots": [], /* List of folders to include type definitions from. */ - // "types": [], /* Type declaration files to be included in compilation. */ - // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ - "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ - // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - - /* Source Map Options */ - // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ - // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ - - /* Experimental Options */ - // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ - // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ - - /* Advanced Options */ - "skipLibCheck": true, /* Skip type checking of declaration files. */ - "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ + "target": "ESNext", + "module": "NodeNext", + "outDir": "./dist", + "moduleResolution": "NodeNext", + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true }, "exclude": ["node_modules"] } From 89bc6464a9e261225c8e3b43434e99f1e1f6e91a Mon Sep 17 00:00:00 2001 From: Yuta Kasai Date: Thu, 28 Mar 2024 00:23:14 +0900 Subject: [PATCH 13/24] 04 Support CJS again --- package.json | 4 ++-- tsconfig.cjs.json | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 tsconfig.cjs.json diff --git a/package.json b/package.json index 51da9dc01..8e72a71dc 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "engines": { "node": ">=18" }, - "main": "dist/index.js", + "main": "dist/cjs/index.js", "types": "dist/index.d.ts", "module": "dist/index.js", "files": [ @@ -23,7 +23,7 @@ "clean": "rm -rf dist/*", "copy-rollup": "node ./scripts/workaround-for-rollup.mjs", "prebuild": "npm run format:check && npm run clean && npm run copy-rollup", - "build": "tsc", + "build": "tsc -p . && tsc -p ./tsconfig.cjs.json && echo \"{\\\"type\\\": \\\"commonjs\\\"}\" > dist/cjs/package.json", "docs": "vitepress dev docs", "docs:build": "vitepress build docs", "docs:preview": "vitepress preview docs", diff --git a/tsconfig.cjs.json b/tsconfig.cjs.json new file mode 100644 index 000000000..8071a36c1 --- /dev/null +++ b/tsconfig.cjs.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "module": "CommonJS", + "outDir": "./dist/cjs", + "sourceMap": true, + "declarationMap": true, + "declaration": true + }, + "include": [ + "lib/**/*.ts", + ], + "exclude": [ + "node_modules", + "dist", + ".git" + ] +} From 98593da249e9e91c0be7edf79de13925486f85fb Mon Sep 17 00:00:00 2001 From: Yuta Kasai Date: Thu, 28 Mar 2024 00:26:21 +0900 Subject: [PATCH 14/24] Rename project --- .github/workflows/test.yml | 2 +- examples/{echo-bot-ts => echo-bot-ts-cjs}/.gitignore | 0 examples/{echo-bot-ts => echo-bot-ts-cjs}/README.md | 2 +- examples/{echo-bot-ts => echo-bot-ts-cjs}/environment.d.ts | 0 examples/{echo-bot-ts => echo-bot-ts-cjs}/index.ts | 0 examples/{echo-bot-ts => echo-bot-ts-cjs}/package-lock.json | 0 examples/{echo-bot-ts => echo-bot-ts-cjs}/package.json | 3 +-- examples/{echo-bot-ts => echo-bot-ts-cjs}/tsconfig.json | 0 tsconfig.cjs.json | 3 ++- 9 files changed, 5 insertions(+), 5 deletions(-) rename examples/{echo-bot-ts => echo-bot-ts-cjs}/.gitignore (100%) rename examples/{echo-bot-ts => echo-bot-ts-cjs}/README.md (96%) rename examples/{echo-bot-ts => echo-bot-ts-cjs}/environment.d.ts (100%) rename examples/{echo-bot-ts => echo-bot-ts-cjs}/index.ts (100%) rename examples/{echo-bot-ts => echo-bot-ts-cjs}/package-lock.json (100%) rename examples/{echo-bot-ts => echo-bot-ts-cjs}/package.json (82%) rename examples/{echo-bot-ts => echo-bot-ts-cjs}/tsconfig.json (100%) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4af4500cf..e3acaac70 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -48,7 +48,7 @@ jobs: run: export NODE_OPTIONS=--openssl-legacy-provider; npm run docs:build - name: Test building examples (CJS) run: | - cd examples/echo-bot-ts + cd examples/echo-bot-ts-cjs npm run build-sdk npm install npm run build diff --git a/examples/echo-bot-ts/.gitignore b/examples/echo-bot-ts-cjs/.gitignore similarity index 100% rename from examples/echo-bot-ts/.gitignore rename to examples/echo-bot-ts-cjs/.gitignore diff --git a/examples/echo-bot-ts/README.md b/examples/echo-bot-ts-cjs/README.md similarity index 96% rename from examples/echo-bot-ts/README.md rename to examples/echo-bot-ts-cjs/README.md index 52b5f5727..ac3ce5546 100644 --- a/examples/echo-bot-ts/README.md +++ b/examples/echo-bot-ts-cjs/README.md @@ -1,4 +1,4 @@ -# LINE Echo Bot with TypeScript +# LINE Echo Bot with TypeScript (CJS) An example LINE bot to echo message with TypeScript. The bot is coded according to TypeScript's best practices. diff --git a/examples/echo-bot-ts/environment.d.ts b/examples/echo-bot-ts-cjs/environment.d.ts similarity index 100% rename from examples/echo-bot-ts/environment.d.ts rename to examples/echo-bot-ts-cjs/environment.d.ts diff --git a/examples/echo-bot-ts/index.ts b/examples/echo-bot-ts-cjs/index.ts similarity index 100% rename from examples/echo-bot-ts/index.ts rename to examples/echo-bot-ts-cjs/index.ts diff --git a/examples/echo-bot-ts/package-lock.json b/examples/echo-bot-ts-cjs/package-lock.json similarity index 100% rename from examples/echo-bot-ts/package-lock.json rename to examples/echo-bot-ts-cjs/package-lock.json diff --git a/examples/echo-bot-ts/package.json b/examples/echo-bot-ts-cjs/package.json similarity index 82% rename from examples/echo-bot-ts/package.json rename to examples/echo-bot-ts-cjs/package.json index d019a2be8..08bbbfa79 100644 --- a/examples/echo-bot-ts/package.json +++ b/examples/echo-bot-ts-cjs/package.json @@ -1,5 +1,5 @@ { - "name": "echo-bot-ts", + "name": "echo-bot-ts-cjs", "version": "0.0.0", "description": "An example LINE bot with TypeScript made to echo messages", "main": "./dist/index.js", @@ -9,7 +9,6 @@ "build-sdk": "cd ../../; npm i; npm run build", "start": "node dist/index.js" }, - "author": "Nicholas Dwiarto (https://nicholasdw.com)", "dependencies": { "@line/bot-sdk": "../../", "express": "^4.18.2" diff --git a/examples/echo-bot-ts/tsconfig.json b/examples/echo-bot-ts-cjs/tsconfig.json similarity index 100% rename from examples/echo-bot-ts/tsconfig.json rename to examples/echo-bot-ts-cjs/tsconfig.json diff --git a/tsconfig.cjs.json b/tsconfig.cjs.json index 8071a36c1..453284733 100644 --- a/tsconfig.cjs.json +++ b/tsconfig.cjs.json @@ -4,7 +4,8 @@ "outDir": "./dist/cjs", "sourceMap": true, "declarationMap": true, - "declaration": true + "declaration": true, + "rootDirs": ["lib"] }, "include": [ "lib/**/*.ts", From dd1dec289bf736416ecd78b367da91a98f081822 Mon Sep 17 00:00:00 2001 From: Yuta Kasai Date: Sat, 30 Mar 2024 22:38:03 +0900 Subject: [PATCH 15/24] rollup in vite can't be typechecked by tsc only if common js --- tsconfig.cjs.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tsconfig.cjs.json b/tsconfig.cjs.json index 453284733..4079a0112 100644 --- a/tsconfig.cjs.json +++ b/tsconfig.cjs.json @@ -5,7 +5,8 @@ "sourceMap": true, "declarationMap": true, "declaration": true, - "rootDirs": ["lib"] + "rootDirs": ["lib"], + "skipLibCheck": true }, "include": [ "lib/**/*.ts", From 2221c4801c293bee333cd68614583ca0f6ba42cb Mon Sep 17 00:00:00 2001 From: Yuta Kasai Date: Sat, 30 Mar 2024 22:54:21 +0900 Subject: [PATCH 16/24] workaround --- scripts/vite-workaround-for-rollup.mjs | 27 ++++++++++++++++++++++++++ tsconfig.cjs.json | 3 +-- 2 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 scripts/vite-workaround-for-rollup.mjs diff --git a/scripts/vite-workaround-for-rollup.mjs b/scripts/vite-workaround-for-rollup.mjs new file mode 100644 index 000000000..47090a0e9 --- /dev/null +++ b/scripts/vite-workaround-for-rollup.mjs @@ -0,0 +1,27 @@ +import fs from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { dirname } from 'node:path'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); + +const rollupDir = path.join(__dirname, '..', 'node_modules', 'rollup', 'dist'); +const destDir = path.join(__dirname, '..', 'node_modules', 'rollup'); + +const filesToCopy = ['parseAst.d.ts', 'parseAst.js']; + +filesToCopy.forEach(file => { + const srcPath = path.join(rollupDir, file); + const destPath = path.join(destDir, file); + + fs.copyFileSync(srcPath, destPath); + console.log(`[Workaround] Copied ${srcPath} to ${destPath}`); + + if (file === 'parseAst.d.ts') { + const data = fs.readFileSync(destPath, 'utf8'); + const result = data.replace("from './rollup';", "from './';"); + fs.writeFileSync(destPath, result, 'utf8'); + console.log(`[Workaround] Updated import in ${destPath}`); + } +}); diff --git a/tsconfig.cjs.json b/tsconfig.cjs.json index 4079a0112..453284733 100644 --- a/tsconfig.cjs.json +++ b/tsconfig.cjs.json @@ -5,8 +5,7 @@ "sourceMap": true, "declarationMap": true, "declaration": true, - "rootDirs": ["lib"], - "skipLibCheck": true + "rootDirs": ["lib"] }, "include": [ "lib/**/*.ts", From f26fb30f0010851269eb5ce9827327de7dfe9ed8 Mon Sep 17 00:00:00 2001 From: Yuta Kasai Date: Sun, 31 Mar 2024 01:41:44 +0900 Subject: [PATCH 17/24] keep(WIP) --- package.json | 9 +++++++++ scripts/vite-workaround-for-rollup.mjs | 17 +++++++++++++++++ tsconfig.cjs.json | 1 + 3 files changed, 27 insertions(+) diff --git a/package.json b/package.json index 8e72a71dc..8a9a54d84 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,15 @@ "main": "dist/cjs/index.js", "types": "dist/index.d.ts", "module": "dist/index.js", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js", + "require": "./dist/cjs/index.js", + "default": "./dist/cjs/index.js" + }, + "./package.json": "./package.json" + }, "files": [ "dist", "lib" diff --git a/scripts/vite-workaround-for-rollup.mjs b/scripts/vite-workaround-for-rollup.mjs index 47090a0e9..39b75c281 100644 --- a/scripts/vite-workaround-for-rollup.mjs +++ b/scripts/vite-workaround-for-rollup.mjs @@ -1,3 +1,20 @@ +/** + * This script is a workaround for a compatibility issue between Vite and its dependency, Rollup. + * Specifically, Vite's typescript definitions reference a module ('rollup/parseAst') that is not + * directly resolvable with the default module resolution strategy used in some configurations. + * + * The script copies the necessary Rollup files to the expected locations and updates import paths + * in 'parseAst.d.ts' to ensure Vite can correctly import these types. + * + * This workaround should be removed once the underlying issue with Vite's dependency resolution + * is resolved. Ideally, this would be when Vite or Rollup releases an update that addresses the + * issue directly, making this script unnecessary. + * + * Keep an eye on Vite and Rollup's release notes for an update on this issue. + * https://github.com/rollup/rollup/issues/5199 + * https://github.com/vitest-dev/vitest/issues/4567 + */ + import fs from 'node:fs'; import path from 'node:path'; import { fileURLToPath } from 'node:url'; diff --git a/tsconfig.cjs.json b/tsconfig.cjs.json index 453284733..336c2f507 100644 --- a/tsconfig.cjs.json +++ b/tsconfig.cjs.json @@ -1,6 +1,7 @@ { "compilerOptions": { "module": "CommonJS", + "target": "es2017", "outDir": "./dist/cjs", "sourceMap": true, "declarationMap": true, From bdcf5cc72bcafc098e956254f040af5d73ef1c8d Mon Sep 17 00:00:00 2001 From: Yuta Kasai Date: Sun, 31 Mar 2024 22:47:37 +0900 Subject: [PATCH 18/24] done(package.json) --- package.json | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 8a9a54d84..986f85202 100644 --- a/package.json +++ b/package.json @@ -6,21 +6,26 @@ "engines": { "node": ">=18" }, - "main": "dist/cjs/index.js", - "types": "dist/index.d.ts", - "module": "dist/index.js", + "main": "./dist/cjs/index.js", + "types": "./dist/index.d.ts", + "module": "./dist/index.js", "exports": { ".": { - "types": "./dist/index.d.ts", - "import": "./dist/index.js", - "require": "./dist/cjs/index.js", - "default": "./dist/cjs/index.js" + "import": { + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + }, + "require": { + "types": "./dist/cjs/index.d.ts", + "default": "./dist/cjs/index.js" + }, + "default": "./dist/cjs/index.js" }, "./package.json": "./package.json" }, + "sideEffects": false, "files": [ - "dist", - "lib" + "dist" ], "scripts": { "pretest": "npm run format && npm run build", From afba5a1625d7ead2596ddea1f639254d8ae92668 Mon Sep 17 00:00:00 2001 From: Yuta Kasai Date: Sun, 31 Mar 2024 23:05:44 +0900 Subject: [PATCH 19/24] Add package validators --- .github/workflows/test.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e3acaac70..888701c06 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -60,3 +60,7 @@ jobs: npm install npm run build cd - + - name: publint + run: npx publint + - name: validate package + run: npx @arethetypeswrong/cli $(npm pack) From 69bf83e5f1adc390c5caa09d30318fb7c4bbc806 Mon Sep 17 00:00:00 2001 From: Yuta Kasai Date: Mon, 1 Apr 2024 12:10:11 +0900 Subject: [PATCH 20/24] 04 Delete unncessary --- scripts/vite-workaround-for-rollup.mjs | 44 -------------------------- 1 file changed, 44 deletions(-) delete mode 100644 scripts/vite-workaround-for-rollup.mjs diff --git a/scripts/vite-workaround-for-rollup.mjs b/scripts/vite-workaround-for-rollup.mjs deleted file mode 100644 index 39b75c281..000000000 --- a/scripts/vite-workaround-for-rollup.mjs +++ /dev/null @@ -1,44 +0,0 @@ -/** - * This script is a workaround for a compatibility issue between Vite and its dependency, Rollup. - * Specifically, Vite's typescript definitions reference a module ('rollup/parseAst') that is not - * directly resolvable with the default module resolution strategy used in some configurations. - * - * The script copies the necessary Rollup files to the expected locations and updates import paths - * in 'parseAst.d.ts' to ensure Vite can correctly import these types. - * - * This workaround should be removed once the underlying issue with Vite's dependency resolution - * is resolved. Ideally, this would be when Vite or Rollup releases an update that addresses the - * issue directly, making this script unnecessary. - * - * Keep an eye on Vite and Rollup's release notes for an update on this issue. - * https://github.com/rollup/rollup/issues/5199 - * https://github.com/vitest-dev/vitest/issues/4567 - */ - -import fs from 'node:fs'; -import path from 'node:path'; -import { fileURLToPath } from 'node:url'; -import { dirname } from 'node:path'; - -const __filename = fileURLToPath(import.meta.url); -const __dirname = dirname(__filename); - -const rollupDir = path.join(__dirname, '..', 'node_modules', 'rollup', 'dist'); -const destDir = path.join(__dirname, '..', 'node_modules', 'rollup'); - -const filesToCopy = ['parseAst.d.ts', 'parseAst.js']; - -filesToCopy.forEach(file => { - const srcPath = path.join(rollupDir, file); - const destPath = path.join(destDir, file); - - fs.copyFileSync(srcPath, destPath); - console.log(`[Workaround] Copied ${srcPath} to ${destPath}`); - - if (file === 'parseAst.d.ts') { - const data = fs.readFileSync(destPath, 'utf8'); - const result = data.replace("from './rollup';", "from './';"); - fs.writeFileSync(destPath, result, 'utf8'); - console.log(`[Workaround] Updated import in ${destPath}`); - } -}); From 341d0e7aabd0b81ddd4534b84bd6e8a586b7b566 Mon Sep 17 00:00:00 2001 From: Yuta Kasai Date: Mon, 1 Apr 2024 15:53:15 +0900 Subject: [PATCH 21/24] Add an example with Typescript and CJS --- examples/echo-bot-ts-cjs/.gitignore | 5 -- examples/echo-bot-ts-cjs/README.md | 16 +++--- examples/echo-bot-ts-cjs/index.ts | 1 - examples/echo-bot-ts-cjs/package.json | 2 +- examples/echo-bot-ts-cjs/tsconfig.json | 72 +++----------------------- 5 files changed, 16 insertions(+), 80 deletions(-) delete mode 100644 examples/echo-bot-ts-cjs/.gitignore diff --git a/examples/echo-bot-ts-cjs/.gitignore b/examples/echo-bot-ts-cjs/.gitignore deleted file mode 100644 index 350cb72fe..000000000 --- a/examples/echo-bot-ts-cjs/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -# Dependencies -node_modules/ - -# Built files. -dist/ diff --git a/examples/echo-bot-ts-cjs/README.md b/examples/echo-bot-ts-cjs/README.md index ac3ce5546..1b47bfcd7 100644 --- a/examples/echo-bot-ts-cjs/README.md +++ b/examples/echo-bot-ts-cjs/README.md @@ -1,12 +1,14 @@ -# LINE Echo Bot with TypeScript (CJS) +# Echo Bot for LINE using TypeScript and CJS -An example LINE bot to echo message with TypeScript. The bot is coded according to TypeScript's best practices. +Welcome to this simple guide on how to create an Echo Bot for the LINE messaging platform using TypeScript and CommonJS (CJS). +An Echo Bot is a basic bot that replies to a user's message with the same content. +This tutorial will help you set up a LINE Echo Bot from scratch. ## Prerequisite -- Git -- Node.js version 10 and up -- LINE Developers Account for the bot +- Node.js version 18 or higher +- You've created a channel in the LINE Developers Console, and got your channel access token and channel secret. + - Read https://developers.line.biz/en/docs/messaging-api/getting-started/#using-console if you haven't done this yet. ## Installation @@ -19,7 +21,7 @@ git clone https://github.com/line/line-bot-sdk-nodejs.git - Change directory to the example. ```bash -cd line-bot-sdk-nodejs/examples/echo-bot-ts +cd line-bot-sdk-nodejs/examples/echo-bot-ts-cjs ``` - Install all dependencies. @@ -43,7 +45,7 @@ export PORT= https://example.com/callback ``` -- Compile the TypeScript files. +- Build the application. ```bash npm run build diff --git a/examples/echo-bot-ts-cjs/index.ts b/examples/echo-bot-ts-cjs/index.ts index 4bcec61ba..193fc4b82 100644 --- a/examples/echo-bot-ts-cjs/index.ts +++ b/examples/echo-bot-ts-cjs/index.ts @@ -16,7 +16,6 @@ const clientConfig: ClientConfig = { }; const middlewareConfig: MiddlewareConfig = { - channelAccessToken: process.env.CHANNEL_ACCESS_TOKEN, channelSecret: process.env.CHANNEL_SECRET || '', }; diff --git a/examples/echo-bot-ts-cjs/package.json b/examples/echo-bot-ts-cjs/package.json index 08bbbfa79..194fbd116 100644 --- a/examples/echo-bot-ts-cjs/package.json +++ b/examples/echo-bot-ts-cjs/package.json @@ -1,7 +1,7 @@ { "name": "echo-bot-ts-cjs", "version": "0.0.0", - "description": "An example LINE bot with TypeScript made to echo messages", + "description": "A LINE Messaging API SDK for Node.js bot example using TypeScript with CJS", "main": "./dist/index.js", "scripts": { "clean": "rimraf ./dist", diff --git a/examples/echo-bot-ts-cjs/tsconfig.json b/examples/echo-bot-ts-cjs/tsconfig.json index ed283df82..40dce4749 100644 --- a/examples/echo-bot-ts-cjs/tsconfig.json +++ b/examples/echo-bot-ts-cjs/tsconfig.json @@ -1,71 +1,11 @@ { "compilerOptions": { - /* Visit https://aka.ms/tsconfig.json to read more about this file */ - - /* Basic Options */ - // "incremental": true, /* Enable incremental compilation */ - "target": "ES2017", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */ - "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ - // "lib": [], /* Specify library files to be included in the compilation. */ - // "allowJs": true, /* Allow javascript files to be compiled. */ - // "checkJs": true, /* Report errors in .js files. */ - // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ - // "declaration": true, /* Generates corresponding '.d.ts' file. */ - // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ - // "sourceMap": true, /* Generates corresponding '.map' file. */ - // "outFile": "./", /* Concatenate and emit output to single file. */ - "outDir": "./dist", /* Redirect output structure to the directory. */ - // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ - // "composite": true, /* Enable project compilation */ - // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ - // "removeComments": true, /* Do not emit comments to output. */ - // "noEmit": true, /* Do not emit outputs. */ - // "importHelpers": true, /* Import emit helpers from 'tslib'. */ - // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ - // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ - - /* Strict Type-Checking Options */ - "strict": true, /* Enable all strict type-checking options. */ - // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* Enable strict null checks. */ - // "strictFunctionTypes": true, /* Enable strict checking of function types. */ - // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ - // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ - // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ - // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ - - /* Additional Checks */ - // "noUnusedLocals": true, /* Report errors on unused locals. */ - // "noUnusedParameters": true, /* Report errors on unused parameters. */ - // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ - // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ - // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ - - /* Module Resolution Options */ - // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ - // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ - // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ - // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ - // "typeRoots": [], /* List of folders to include type definitions from. */ - // "types": [], /* Type declaration files to be included in compilation. */ - // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ - "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ - // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - - /* Source Map Options */ - // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ - // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ - - /* Experimental Options */ - // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ - // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ - - /* Advanced Options */ - "skipLibCheck": true, /* Skip type checking of declaration files. */ - "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ + "target": "ES2017", + "module": "commonjs", + "outDir": "./dist", + "strict": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true }, "exclude": ["node_modules"] } From ebed05598f33f0e06b593d54bbc2445503a33a78 Mon Sep 17 00:00:00 2001 From: Yuta Kasai Date: Mon, 1 Apr 2024 15:59:13 +0900 Subject: [PATCH 22/24] broken --- .github/workflows/test.yml | 14 +- examples/echo-bot-ts-cjs/package-lock.json | 3248 +++----------------- 2 files changed, 412 insertions(+), 2850 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 888701c06..ad74130d7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -46,13 +46,13 @@ jobs: run: export NODE_OPTIONS=--openssl-legacy-provider; npm run apidocs - name: Test building docs run: export NODE_OPTIONS=--openssl-legacy-provider; npm run docs:build - - name: Test building examples (CJS) - run: | - cd examples/echo-bot-ts-cjs - npm run build-sdk - npm install - npm run build - cd - +# - name: Test building examples (CJS) +# run: | +# cd examples/echo-bot-ts-cjs +# npm run build-sdk +# npm install +# npm run build +# cd - - name: Test building examples (ESM) run: | cd examples/echo-bot-ts-esm diff --git a/examples/echo-bot-ts-cjs/package-lock.json b/examples/echo-bot-ts-cjs/package-lock.json index 1d87e1d82..c14d8bcb9 100644 --- a/examples/echo-bot-ts-cjs/package-lock.json +++ b/examples/echo-bot-ts-cjs/package-lock.json @@ -1,11 +1,11 @@ { - "name": "echo-bot-ts", + "name": "echo-bot-ts-cjs", "version": "0.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "echo-bot-ts", + "name": "echo-bot-ts-cjs", "version": "0.0.0", "dependencies": { "@line/bot-sdk": "../../", @@ -29,18 +29,19 @@ "@types/express": "4.17.21", "@types/finalhandler": "1.2.3", "@types/mocha": "10.0.6", + "@vitest/coverage-v8": "^1.4.0", "express": "4.19.2", "finalhandler": "1.2.0", "husky": "9.0.11", - "mocha": "10.4.0", "msw": "2.2.11", - "nyc": "15.1.0", "prettier": "3.2.5", "ts-node": "10.9.2", "typedoc": "^0.25.1", "typedoc-plugin-markdown": "^3.16.0", "typescript": "5.4.3", - "vitepress": "^1.0.1" + "vite": "^5.2.7", + "vitepress": "^1.0.1", + "vitest": "^1.4.0" }, "engines": { "node": ">=18" @@ -49,2704 +50,699 @@ "axios": "^1.0.0" } }, - "../../node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "../../node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", "dev": true, + "license": "MIT", "dependencies": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" + "@jridgewell/trace-mapping": "0.3.9" }, "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "../../node_modules/@babel/code-frame/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "../../node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=6.0.0" } }, - "../../node_modules/@babel/code-frame/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "../../node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } + "license": "MIT" }, - "../../node_modules/@babel/code-frame/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "../../node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", "dev": true, + "license": "MIT", "dependencies": { - "color-name": "1.1.3" + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "../../node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "../../node_modules/@babel/code-frame/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "../../node_modules/@tsconfig/node10": { + "version": "1.0.9", "dev": true, - "engines": { - "node": ">=0.8.0" - } + "license": "MIT" }, - "../../node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "../../node_modules/@tsconfig/node12": { + "version": "1.0.11", "dev": true, - "engines": { - "node": ">=4" - } + "license": "MIT" }, - "../../node_modules/@babel/code-frame/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "../../node_modules/@tsconfig/node14": { + "version": "1.0.3", "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } + "license": "MIT" }, - "../../node_modules/@babel/compat-data": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.20.tgz", - "integrity": "sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw==", + "../../node_modules/@tsconfig/node16": { + "version": "1.0.3", "dev": true, - "engines": { - "node": ">=6.9.0" - } + "license": "MIT" }, - "../../node_modules/@babel/core": { - "version": "7.15.5", + "../../node_modules/@types/body-parser": { + "version": "1.19.2", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-compilation-targets": "^7.15.4", - "@babel/helper-module-transforms": "^7.15.4", - "@babel/helpers": "^7.15.4", - "@babel/parser": "^7.15.5", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" + "@types/connect": "*", + "@types/node": "*" } }, - "../../node_modules/@babel/core/node_modules/debug": { - "version": "4.3.2", + "../../node_modules/@types/connect": { + "version": "3.4.35", "dev": true, "license": "MIT", "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "@types/node": "*" } }, - "../../node_modules/@babel/core/node_modules/ms": { - "version": "2.1.2", - "dev": true, - "license": "MIT" - }, - "../../node_modules/@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "../../node_modules/@types/express": { + "version": "4.17.14", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" } }, - "../../node_modules/@babel/generator/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", - "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "../../node_modules/@types/express-serve-static-core": { + "version": "4.17.24", "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" } }, - "../../node_modules/@babel/helper-compilation-targets": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", - "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "../../node_modules/@types/finalhandler": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/finalhandler/-/finalhandler-1.2.1.tgz", + "integrity": "sha512-2OytIhIXL0eEuHkbj/2rF/XfRz0MdP78JGeQfR8W6SpK2Z4u2VjZr5TLKXkx/Xg3f13csQv1J+sQHXIfloFLOQ==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.15", - "browserslist": "^4.21.9", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" + "@types/node": "*" } }, - "../../node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "../../node_modules/@types/mime": { + "version": "1.3.2", "dev": true, - "engines": { - "node": ">=6.9.0" - } + "license": "MIT" }, - "../../node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "../../node_modules/@types/mocha": { + "version": "10.0.1", "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } + "license": "MIT" + }, + "../../node_modules/@types/node": { + "version": "18.11.5", + "license": "MIT" }, - "../../node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "../../node_modules/@types/qs": { + "version": "6.9.7", "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } + "license": "MIT" + }, + "../../node_modules/@types/range-parser": { + "version": "1.2.4", + "dev": true, + "license": "MIT" }, - "../../node_modules/@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "../../node_modules/@types/serve-static": { + "version": "1.13.10", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" + "@types/mime": "^1", + "@types/node": "*" } }, - "../../node_modules/@babel/helper-module-transforms": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.20.tgz", - "integrity": "sha512-dLT7JVWIUUxKOs1UnJUBR3S70YK+pKX6AbJgB2vMIvEkZkrfJDbYDJesnPshtKV4LhDOR3Oc5YULeDizRek+5A==", + "../../node_modules/accepts": { + "version": "1.3.8", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">= 0.6" } }, - "../../node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "../../node_modules/accepts/node_modules/mime-db": { + "version": "1.52.0", "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, + "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">= 0.6" } }, - "../../node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "../../node_modules/accepts/node_modules/mime-types": { + "version": "2.1.35", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "mime-db": "1.52.0" }, "engines": { - "node": ">=6.9.0" + "node": ">= 0.6" } }, - "../../node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "../../node_modules/acorn-walk": { + "version": "8.2.0", "dev": true, + "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">=0.4.0" } }, - "../../node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "../../node_modules/arg": { + "version": "4.1.3", "dev": true, - "engines": { - "node": ">=6.9.0" - } + "license": "MIT" }, - "../../node_modules/@babel/helper-validator-option": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", - "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", + "../../node_modules/array-flatten": { + "version": "1.1.1", "dev": true, - "engines": { - "node": ">=6.9.0" + "license": "MIT" + }, + "../../node_modules/asynckit": { + "version": "0.4.0", + "license": "MIT", + "optional": true + }, + "../../node_modules/axios": { + "version": "0.27.2", + "license": "MIT", + "optional": true, + "dependencies": { + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" } }, - "../../node_modules/@babel/helpers": { - "version": "7.15.4", + "../../node_modules/bytes": { + "version": "3.1.2", "dev": true, "license": "MIT", - "dependencies": { - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - }, "engines": { - "node": ">=6.9.0" + "node": ">= 0.8" } }, - "../../node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "../../node_modules/call-bind": { + "version": "1.0.2", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" }, - "engines": { - "node": ">=6.9.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "../../node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, + "../../node_modules/combined-stream": { + "version": "1.0.8", + "license": "MIT", + "optional": true, "dependencies": { - "color-convert": "^1.9.0" + "delayed-stream": "~1.0.0" }, "engines": { - "node": ">=4" + "node": ">= 0.8" } }, - "../../node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "../../node_modules/content-disposition": { + "version": "0.5.4", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "safe-buffer": "5.2.1" }, "engines": { - "node": ">=4" + "node": ">= 0.6" } }, - "../../node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "../../node_modules/content-disposition/node_modules/safe-buffer": { + "version": "5.2.1", "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "../../node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" }, - "../../node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "../../node_modules/content-type": { + "version": "1.0.4", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.8.0" + "node": ">= 0.6" } }, - "../../node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "../../node_modules/cookie": { + "version": "0.5.0", "dev": true, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">= 0.6" } }, - "../../node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "../../node_modules/cookie-signature": { + "version": "1.0.6", "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } + "license": "MIT" }, - "../../node_modules/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "../../node_modules/create-require": { + "version": "1.1.1", "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } + "license": "MIT" }, - "../../node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "../../node_modules/debug": { + "version": "2.6.9", "dev": true, + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "../../node_modules/@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "../../node_modules/@babel/traverse/node_modules/debug": { - "version": "4.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "../../node_modules/@babel/traverse/node_modules/ms": { - "version": "2.1.2", - "dev": true, - "license": "MIT" - }, - "../../node_modules/@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "../../node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "../../node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "dev": true, - "license": "ISC", - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "../../node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", - "dev": true, - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "../../node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "../../node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.1", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "../../node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "../../node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "../../node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "../../node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "../../node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "../../node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "../../node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "../../node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "../../node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "dev": true, - "license": "MIT" - }, - "../../node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "../../node_modules/@tsconfig/node10": { - "version": "1.0.9", - "dev": true, - "license": "MIT" - }, - "../../node_modules/@tsconfig/node12": { - "version": "1.0.11", - "dev": true, - "license": "MIT" - }, - "../../node_modules/@tsconfig/node14": { - "version": "1.0.3", - "dev": true, - "license": "MIT" - }, - "../../node_modules/@tsconfig/node16": { - "version": "1.0.3", - "dev": true, - "license": "MIT" - }, - "../../node_modules/@types/body-parser": { - "version": "1.19.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "../../node_modules/@types/connect": { - "version": "3.4.35", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "../../node_modules/@types/express": { - "version": "4.17.14", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "../../node_modules/@types/express-serve-static-core": { - "version": "4.17.24", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "../../node_modules/@types/finalhandler": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/finalhandler/-/finalhandler-1.2.1.tgz", - "integrity": "sha512-2OytIhIXL0eEuHkbj/2rF/XfRz0MdP78JGeQfR8W6SpK2Z4u2VjZr5TLKXkx/Xg3f13csQv1J+sQHXIfloFLOQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "../../node_modules/@types/mime": { - "version": "1.3.2", - "dev": true, - "license": "MIT" - }, - "../../node_modules/@types/mocha": { - "version": "10.0.1", - "dev": true, - "license": "MIT" - }, - "../../node_modules/@types/node": { - "version": "18.11.5", - "license": "MIT" - }, - "../../node_modules/@types/qs": { - "version": "6.9.7", - "dev": true, - "license": "MIT" - }, - "../../node_modules/@types/range-parser": { - "version": "1.2.4", - "dev": true, - "license": "MIT" - }, - "../../node_modules/@types/serve-static": { - "version": "1.13.10", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "../../node_modules/accepts": { - "version": "1.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "../../node_modules/accepts/node_modules/mime-db": { - "version": "1.52.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "../../node_modules/accepts/node_modules/mime-types": { - "version": "2.1.35", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "../../node_modules/acorn-walk": { - "version": "8.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "../../node_modules/aggregate-error": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "../../node_modules/ansi-colors": { - "version": "4.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "../../node_modules/ansi-regex": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "../../node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "../../node_modules/anymatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "../../node_modules/append-transform": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "default-require-extensions": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "../../node_modules/archy": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "../../node_modules/arg": { - "version": "4.1.3", - "dev": true, - "license": "MIT" - }, - "../../node_modules/argparse": { - "version": "2.0.1", - "dev": true, - "license": "Python-2.0" - }, - "../../node_modules/array-flatten": { - "version": "1.1.1", - "dev": true, - "license": "MIT" - }, - "../../node_modules/asynckit": { - "version": "0.4.0", - "license": "MIT", - "optional": true - }, - "../../node_modules/axios": { - "version": "0.27.2", - "license": "MIT", - "optional": true, - "dependencies": { - "follow-redirects": "^1.14.9", - "form-data": "^4.0.0" - } - }, - "../../node_modules/balanced-match": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "../../node_modules/binary-extensions": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "../../node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "../../node_modules/braces": { - "version": "3.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "../../node_modules/browser-stdout": { - "version": "1.3.1", - "dev": true, - "license": "ISC" - }, - "../../node_modules/browserslist": { - "version": "4.21.11", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.11.tgz", - "integrity": "sha512-xn1UXOKUz7DjdGlg9RrUr0GGiWzI97UQJnugHtH0OLDfJB7jMgoIkYvRIEO1l9EeEERVqeqLYOcFBW9ldjypbQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001538", - "electron-to-chromium": "^1.4.526", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.13" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "../../node_modules/bytes": { - "version": "3.1.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "../../node_modules/caching-transform": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "../../node_modules/call-bind": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "../../node_modules/camelcase": { - "version": "5.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "../../node_modules/caniuse-lite": { - "version": "1.0.30001538", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001538.tgz", - "integrity": "sha512-HWJnhnID+0YMtGlzcp3T9drmBJUVDchPJ08tpUGFLs9CYlwWPH2uLgpHn8fND5pCgXVtnGS3H4QR9XLMHVNkHw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "../../node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "../../node_modules/clean-stack": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "../../node_modules/cliui": { - "version": "7.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "../../node_modules/cliui/node_modules/wrap-ansi": { - "version": "7.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "../../node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "../../node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "../../node_modules/combined-stream": { - "version": "1.0.8", - "license": "MIT", - "optional": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "../../node_modules/commondir": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "../../node_modules/concat-map": { - "version": "0.0.1", - "dev": true, - "license": "MIT" - }, - "../../node_modules/content-disposition": { - "version": "0.5.4", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "../../node_modules/content-disposition/node_modules/safe-buffer": { - "version": "5.2.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "../../node_modules/content-type": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "../../node_modules/convert-source-map": { - "version": "1.8.0", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "../../node_modules/cookie": { - "version": "0.5.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "../../node_modules/cookie-signature": { - "version": "1.0.6", - "dev": true, - "license": "MIT" - }, - "../../node_modules/create-require": { - "version": "1.1.1", - "dev": true, - "license": "MIT" - }, - "../../node_modules/cross-spawn": { - "version": "7.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "../../node_modules/debug": { - "version": "2.6.9", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "../../node_modules/decamelize": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "../../node_modules/default-require-extensions": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "strip-bom": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "../../node_modules/delayed-stream": { - "version": "1.0.0", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.4.0" - } - }, - "../../node_modules/depd": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "../../node_modules/destroy": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "../../node_modules/diff": { - "version": "5.0.0", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" - } - }, - "../../node_modules/ee-first": { - "version": "1.1.1", - "dev": true, - "license": "MIT" - }, - "../../node_modules/electron-to-chromium": { - "version": "1.4.527", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.527.tgz", - "integrity": "sha512-EafxEiEDzk2aLrdbtVczylHflHdHkNrpGNHIgDyA63sUQLQVS2ayj2hPw3RsVB42qkwURH+T2OxV7kGPUuYszA==", - "dev": true - }, - "../../node_modules/emoji-regex": { - "version": "8.0.0", - "dev": true, - "license": "MIT" - }, - "../../node_modules/encodeurl": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "../../node_modules/es6-error": { - "version": "4.1.1", - "dev": true, - "license": "MIT" - }, - "../../node_modules/escalade": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "../../node_modules/escape-html": { - "version": "1.0.3", - "dev": true, - "license": "MIT" - }, - "../../node_modules/escape-string-regexp": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "../../node_modules/esprima": { - "version": "4.0.1", - "dev": true, - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "../../node_modules/etag": { - "version": "1.8.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "../../node_modules/express": { - "version": "4.18.2", - "dev": true, - "license": "MIT", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "../../node_modules/express/node_modules/body-parser": { - "version": "1.20.1", - "dev": true, - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "../../node_modules/express/node_modules/safe-buffer": { - "version": "5.2.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "../../node_modules/fill-range": { - "version": "7.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "../../node_modules/finalhandler": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "../../node_modules/find-cache-dir": { - "version": "3.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "../../node_modules/find-cache-dir/node_modules/find-up": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "../../node_modules/find-cache-dir/node_modules/locate-path": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "../../node_modules/find-cache-dir/node_modules/p-limit": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "../../node_modules/find-cache-dir/node_modules/p-locate": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "../../node_modules/find-cache-dir/node_modules/pkg-dir": { - "version": "4.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "../../node_modules/find-up": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "../../node_modules/flat": { - "version": "5.0.2", - "dev": true, - "license": "BSD-3-Clause", - "bin": { - "flat": "cli.js" - } - }, - "../../node_modules/follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "optional": true, - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "../../node_modules/foreground-child": { - "version": "2.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "../../node_modules/form-data": { - "version": "4.0.0", - "license": "MIT", - "optional": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "../../node_modules/forwarded": { - "version": "0.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "../../node_modules/fresh": { - "version": "0.5.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "../../node_modules/fromentries": { - "version": "1.3.2", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "../../node_modules/fs.realpath": { - "version": "1.0.0", - "dev": true, - "license": "ISC" - }, - "../../node_modules/fsevents": { - "version": "2.3.2", - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "../../node_modules/function-bind": { - "version": "1.1.1", - "dev": true, - "license": "MIT" - }, - "../../node_modules/gensync": { - "version": "1.0.0-beta.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "../../node_modules/get-caller-file": { - "version": "2.0.5", - "dev": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "../../node_modules/get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "../../node_modules/get-package-type": { - "version": "0.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.0.0" - } - }, - "../../node_modules/glob": { - "version": "7.1.6", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "../../node_modules/glob-parent": { - "version": "5.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "../../node_modules/globals": { - "version": "11.12.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "../../node_modules/graceful-fs": { - "version": "4.2.8", - "dev": true, - "license": "ISC" - }, - "../../node_modules/has": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "../../node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "../../node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "../../node_modules/has-symbols": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "../../node_modules/hasha": { - "version": "5.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "../../node_modules/he": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "bin": { - "he": "bin/he" - } - }, - "../../node_modules/html-escaper": { - "version": "2.0.2", - "dev": true, - "license": "MIT" - }, - "../../node_modules/http-errors": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "../../node_modules/http-errors/node_modules/inherits": { - "version": "2.0.4", - "dev": true, - "license": "ISC" - }, - "../../node_modules/husky": { - "version": "8.0.3", - "dev": true, - "license": "MIT", - "bin": { - "husky": "lib/bin.js" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/typicode" - } - }, - "../../node_modules/iconv-lite": { - "version": "0.4.24", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "../../node_modules/imurmurhash": { - "version": "0.1.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "../../node_modules/indent-string": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "../../node_modules/inflight": { - "version": "1.0.6", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "../../node_modules/inherits": { - "version": "2.0.3", - "dev": true, - "license": "ISC" - }, - "../../node_modules/ipaddr.js": { - "version": "1.9.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "../../node_modules/is-binary-path": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "../../node_modules/is-extglob": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "../../node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "../../node_modules/is-glob": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "../../node_modules/is-number": { - "version": "7.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "../../node_modules/is-stream": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "../../node_modules/is-typedarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "../../node_modules/is-unicode-supported": { - "version": "0.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "../../node_modules/is-windows": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "../../node_modules/isexe": { - "version": "2.0.0", - "dev": true, - "license": "ISC" - }, - "../../node_modules/istanbul-lib-coverage": { - "version": "3.0.0", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=8" - } - }, - "../../node_modules/istanbul-lib-hook": { - "version": "3.0.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "append-transform": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "../../node_modules/istanbul-lib-instrument": { - "version": "4.0.3", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "../../node_modules/istanbul-lib-processinfo": { - "version": "2.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "archy": "^1.0.0", - "cross-spawn": "^7.0.0", - "istanbul-lib-coverage": "^3.0.0-alpha.1", - "make-dir": "^3.0.0", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "uuid": "^3.3.3" - }, - "engines": { - "node": ">=8" - } - }, - "../../node_modules/istanbul-lib-report": { - "version": "3.0.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "../../node_modules/istanbul-lib-source-maps": { - "version": "4.0.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8" - } - }, - "../../node_modules/istanbul-lib-source-maps/node_modules/debug": { - "version": "4.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "../../node_modules/istanbul-lib-source-maps/node_modules/ms": { - "version": "2.1.2", - "dev": true, - "license": "MIT" - }, - "../../node_modules/istanbul-lib-source-maps/node_modules/source-map": { - "version": "0.6.1", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "../../node_modules/istanbul-reports": { - "version": "3.0.2", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "../../node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "../../node_modules/js-yaml": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "../../node_modules/jsesc": { - "version": "2.5.2", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "../../node_modules/json5": { - "version": "2.2.2", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" + "ms": "2.0.0" } }, - "../../node_modules/locate-path": { - "version": "6.0.0", - "dev": true, + "../../node_modules/delayed-stream": { + "version": "1.0.0", "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, + "optional": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.4.0" } }, - "../../node_modules/lodash.flattendeep": { - "version": "4.4.0", - "dev": true, - "license": "MIT" - }, - "../../node_modules/log-symbols": { - "version": "4.1.0", + "../../node_modules/depd": { + "version": "2.0.0", "dev": true, "license": "MIT", - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "../../node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" + "node": ">= 0.8" } }, - "../../node_modules/make-dir": { - "version": "3.1.0", + "../../node_modules/destroy": { + "version": "1.2.0", "dev": true, "license": "MIT", - "dependencies": { - "semver": "^6.0.0" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "../../node_modules/make-error": { - "version": "1.3.6", + "../../node_modules/ee-first": { + "version": "1.1.1", "dev": true, - "license": "ISC" + "license": "MIT" }, - "../../node_modules/media-typer": { - "version": "0.3.0", + "../../node_modules/encodeurl": { + "version": "1.0.2", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, - "../../node_modules/merge-descriptors": { - "version": "1.0.1", + "../../node_modules/escape-html": { + "version": "1.0.3", "dev": true, "license": "MIT" }, - "../../node_modules/methods": { - "version": "1.1.2", + "../../node_modules/etag": { + "version": "1.8.1", "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" } }, - "../../node_modules/mime": { - "version": "1.6.0", + "../../node_modules/express": { + "version": "4.18.2", "dev": true, "license": "MIT", - "bin": { - "mime": "cli.js" + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" }, "engines": { - "node": ">=4" - } - }, - "../../node_modules/mime-db": { - "version": "1.49.0", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" + "node": ">= 0.10.0" } }, - "../../node_modules/mime-types": { - "version": "2.1.32", - "devOptional": true, + "../../node_modules/express/node_modules/body-parser": { + "version": "1.20.1", + "dev": true, "license": "MIT", "dependencies": { - "mime-db": "1.49.0" + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "engines": { - "node": ">= 0.6" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "../../node_modules/minimatch": { - "version": "3.0.5", + "../../node_modules/express/node_modules/safe-buffer": { + "version": "5.2.1", "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" }, - "../../node_modules/mocha": { - "version": "10.2.0", + "../../node_modules/finalhandler": { + "version": "1.2.0", "dev": true, "license": "MIT", "dependencies": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha.js" + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" }, "engines": { - "node": ">= 14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" + "node": ">= 0.8" } }, - "../../node_modules/mocha/node_modules/chokidar": { - "version": "3.5.3", - "dev": true, + "../../node_modules/follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "funding": [ { "type": "individual", - "url": "https://paulmillr.com/funding/" + "url": "https://github.com/sponsors/RubenVerborgh" } ], - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "../../node_modules/mocha/node_modules/debug": { - "version": "4.3.4", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, + "optional": true, "engines": { - "node": ">=6.0" + "node": ">=4.0" }, "peerDependenciesMeta": { - "supports-color": { + "debug": { "optional": true } } }, - "../../node_modules/mocha/node_modules/debug/node_modules/ms": { - "version": "2.1.2", - "dev": true, - "license": "MIT" - }, - "../../node_modules/mocha/node_modules/glob": { - "version": "7.2.0", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "../../node_modules/mocha/node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "../../node_modules/mocha/node_modules/minimatch": { - "version": "5.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "../../node_modules/mocha/node_modules/minimatch/node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "../../node_modules/mocha/node_modules/ms": { - "version": "2.1.3", - "dev": true, - "license": "MIT" - }, - "../../node_modules/mocha/node_modules/readdirp": { - "version": "3.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "../../node_modules/mocha/node_modules/supports-color": { - "version": "8.1.1", - "dev": true, + "../../node_modules/form-data": { + "version": "4.0.0", "license": "MIT", + "optional": true, "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "../../node_modules/ms": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "../../node_modules/nanoid": { - "version": "3.3.3", - "dev": true, - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">= 6" } }, - "../../node_modules/negotiator": { - "version": "0.6.3", + "../../node_modules/forwarded": { + "version": "0.2.0", "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" } }, - "../../node_modules/node-preload": { - "version": "0.2.1", + "../../node_modules/fresh": { + "version": "0.5.2", "dev": true, "license": "MIT", - "dependencies": { - "process-on-spawn": "^1.0.0" - }, "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "../../node_modules/node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", - "dev": true - }, - "../../node_modules/normalize-path": { - "version": "3.0.0", + "../../node_modules/function-bind": { + "version": "1.1.1", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } + "license": "MIT" }, - "../../node_modules/nyc": { - "version": "15.1.0", + "../../node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", "dev": true, - "license": "ISC", "dependencies": { - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "caching-transform": "^4.0.0", - "convert-source-map": "^1.7.0", - "decamelize": "^1.2.0", - "find-cache-dir": "^3.2.0", - "find-up": "^4.1.0", - "foreground-child": "^2.0.0", - "get-package-type": "^0.1.0", - "glob": "^7.1.6", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "make-dir": "^3.0.0", - "node-preload": "^0.2.1", - "p-map": "^3.0.0", - "process-on-spawn": "^1.0.0", - "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", - "yargs": "^15.0.2" - }, - "bin": { - "nyc": "bin/nyc.js" + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" }, - "engines": { - "node": ">=8.9" - } - }, - "../../node_modules/nyc/node_modules/cliui": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "../../node_modules/nyc/node_modules/find-up": { - "version": "4.1.0", + "../../node_modules/has": { + "version": "1.0.3", "dev": true, "license": "MIT", "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "function-bind": "^1.1.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4.0" } }, - "../../node_modules/nyc/node_modules/locate-path": { - "version": "5.0.0", + "../../node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "../../node_modules/nyc/node_modules/p-limit": { - "version": "2.3.0", + "../../node_modules/has-symbols": { + "version": "1.0.3", "dev": true, "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, "engines": { - "node": ">=6" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "../../node_modules/nyc/node_modules/p-locate": { - "version": "4.1.0", + "../../node_modules/http-errors": { + "version": "2.0.0", "dev": true, "license": "MIT", "dependencies": { - "p-limit": "^2.2.0" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "../../node_modules/nyc/node_modules/resolve-from": { - "version": "5.0.0", + "../../node_modules/http-errors/node_modules/inherits": { + "version": "2.0.4", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } + "license": "ISC" }, - "../../node_modules/nyc/node_modules/wrap-ansi": { - "version": "6.2.0", + "../../node_modules/husky": { + "version": "8.0.3", "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "bin": { + "husky": "lib/bin.js" }, "engines": { - "node": ">=8" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" } }, - "../../node_modules/nyc/node_modules/yargs": { - "version": "15.4.1", + "../../node_modules/iconv-lite": { + "version": "0.4.24", "dev": true, "license": "MIT", "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "../../node_modules/nyc/node_modules/yargs-parser": { - "version": "18.1.3", + "../../node_modules/ipaddr.js": { + "version": "1.9.1", "dev": true, - "license": "ISC", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, + "license": "MIT", "engines": { - "node": ">=6" + "node": ">= 0.10" } }, - "../../node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "../../node_modules/make-error": { + "version": "1.3.6", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "license": "ISC" }, - "../../node_modules/on-finished": { - "version": "2.4.1", + "../../node_modules/media-typer": { + "version": "0.3.0", "dev": true, "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, "engines": { - "node": ">= 0.8" + "node": ">= 0.6" } }, - "../../node_modules/once": { - "version": "1.4.0", + "../../node_modules/merge-descriptors": { + "version": "1.0.1", "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } + "license": "MIT" }, - "../../node_modules/p-limit": { - "version": "3.1.0", + "../../node_modules/methods": { + "version": "1.1.2", "dev": true, "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.6" } }, - "../../node_modules/p-locate": { - "version": "5.0.0", + "../../node_modules/mime": { + "version": "1.6.0", "dev": true, "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" + "bin": { + "mime": "cli.js" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "../../node_modules/p-map": { - "version": "3.0.0", - "dev": true, + "../../node_modules/mime-db": { + "version": "1.49.0", + "devOptional": true, "license": "MIT", - "dependencies": { - "aggregate-error": "^3.0.0" - }, "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "../../node_modules/p-try": { - "version": "2.2.0", - "dev": true, + "../../node_modules/mime-types": { + "version": "2.1.32", + "devOptional": true, "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "../../node_modules/package-hash": { - "version": "4.0.0", - "dev": true, - "license": "ISC", "dependencies": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" + "mime-db": "1.49.0" }, "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "../../node_modules/parseurl": { - "version": "1.3.3", + "../../node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "../../node_modules/negotiator": { + "version": "0.6.3", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">= 0.6" } }, - "../../node_modules/path-exists": { - "version": "4.0.0", + "../../node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "../../node_modules/path-is-absolute": { - "version": "1.0.1", + "../../node_modules/on-finished": { + "version": "2.4.1", "dev": true, "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "../../node_modules/path-key": { - "version": "3.1.1", + "../../node_modules/parseurl": { + "version": "1.3.3", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 0.8" } }, "../../node_modules/path-to-regexp": { @@ -2754,18 +750,6 @@ "dev": true, "license": "MIT" }, - "../../node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "../../node_modules/prettier": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", @@ -2781,17 +765,6 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "../../node_modules/process-on-spawn": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "fromentries": "^1.2.0" - }, - "engines": { - "node": ">=8" - } - }, "../../node_modules/proxy-addr": { "version": "2.0.7", "dev": true, @@ -2818,14 +791,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "../../node_modules/randombytes": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, "../../node_modules/range-parser": { "version": "1.2.1", "dev": true, @@ -2843,68 +808,16 @@ "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "../../node_modules/release-zalgo": { - "version": "1.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "es6-error": "^4.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "../../node_modules/require-directory": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "../../node_modules/require-main-filename": { - "version": "2.0.0", - "dev": true, - "license": "ISC" - }, - "../../node_modules/rimraf": { - "version": "3.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + }, + "engines": { + "node": ">= 0.8" } }, - "../../node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, "../../node_modules/safer-buffer": { "version": "2.1.2", "dev": true, "license": "MIT" }, - "../../node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "../../node_modules/send": { "version": "0.18.0", "dev": true, @@ -2933,14 +846,6 @@ "dev": true, "license": "MIT" }, - "../../node_modules/serialize-javascript": { - "version": "6.0.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "randombytes": "^2.1.0" - } - }, "../../node_modules/serve-static": { "version": "1.15.0", "dev": true, @@ -2955,35 +860,11 @@ "node": ">= 0.8.0" } }, - "../../node_modules/set-blocking": { - "version": "2.0.0", - "dev": true, - "license": "ISC" - }, "../../node_modules/setprototypeof": { "version": "1.2.0", "dev": true, "license": "ISC" }, - "../../node_modules/shebang-command": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "../../node_modules/shebang-regex": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "../../node_modules/side-channel": { "version": "1.0.4", "dev": true, @@ -2997,40 +878,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "../../node_modules/signal-exit": { - "version": "3.0.3", - "dev": true, - "license": "ISC" - }, - "../../node_modules/source-map": { - "version": "0.5.7", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "../../node_modules/spawn-wrap": { - "version": "2.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "foreground-child": "^2.0.0", - "is-windows": "^1.0.2", - "make-dir": "^3.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "which": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "../../node_modules/sprintf-js": { - "version": "1.0.3", - "dev": true, - "license": "BSD-3-Clause" - }, "../../node_modules/statuses": { "version": "2.0.1", "dev": true, @@ -3039,92 +886,6 @@ "node": ">= 0.8" } }, - "../../node_modules/string-width": { - "version": "4.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "../../node_modules/strip-ansi": { - "version": "6.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "../../node_modules/strip-bom": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "../../node_modules/strip-json-comments": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "../../node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "../../node_modules/test-exclude": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "../../node_modules/to-fast-properties": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "../../node_modules/to-regex-range": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, "../../node_modules/toidentifier": { "version": "1.0.1", "dev": true, @@ -3194,14 +955,6 @@ "node": ">=0.3.1" } }, - "../../node_modules/type-fest": { - "version": "0.8.1", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=8" - } - }, "../../node_modules/type-is": { "version": "1.6.18", "dev": true, @@ -3214,14 +967,6 @@ "node": ">= 0.6" } }, - "../../node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "dev": true, - "license": "MIT", - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, "../../node_modules/typescript": { "version": "3.9.10", "dev": true, @@ -3242,42 +987,6 @@ "node": ">= 0.8" } }, - "../../node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "../../node_modules/update-browserslist-db/node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, "../../node_modules/utils-merge": { "version": "1.0.1", "dev": true, @@ -3286,14 +995,6 @@ "node": ">= 0.4.0" } }, - "../../node_modules/uuid": { - "version": "3.4.0", - "dev": true, - "license": "MIT", - "bin": { - "uuid": "bin/uuid" - } - }, "../../node_modules/v8-compile-cache-lib": { "version": "3.0.1", "dev": true, @@ -3307,134 +1008,6 @@ "node": ">= 0.8" } }, - "../../node_modules/which": { - "version": "2.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "../../node_modules/which-module": { - "version": "2.0.0", - "dev": true, - "license": "ISC" - }, - "../../node_modules/workerpool": { - "version": "6.2.1", - "dev": true, - "license": "Apache-2.0" - }, - "../../node_modules/wrappy": { - "version": "1.0.2", - "dev": true, - "license": "ISC" - }, - "../../node_modules/write-file-atomic": { - "version": "3.0.3", - "dev": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "../../node_modules/y18n": { - "version": "4.0.3", - "dev": true, - "license": "ISC" - }, - "../../node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "../../node_modules/yargs": { - "version": "16.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "../../node_modules/yargs-parser": { - "version": "20.2.4", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "../../node_modules/yargs-unparser": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "../../node_modules/yargs-unparser/node_modules/camelcase": { - "version": "6.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "../../node_modules/yargs-unparser/node_modules/decamelize": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "../../node_modules/yargs-unparser/node_modules/is-plain-obj": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "../../node_modules/yargs/node_modules/y18n": { - "version": "5.0.8", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, "../../node_modules/yn": { "version": "3.1.1", "dev": true, @@ -3443,17 +1016,6 @@ "node": ">=6" } }, - "../../node_modules/yocto-queue": { - "version": "0.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", From 94043db3a5bdca380c7f2e3a8d497f9c8f399fad Mon Sep 17 00:00:00 2001 From: Yuta Kasai Date: Mon, 1 Apr 2024 16:17:44 +0900 Subject: [PATCH 23/24] 04 fixed --- .github/workflows/test.yml | 14 +++++++------- examples/echo-bot-ts-cjs/package-lock.json | 8 ++++---- examples/echo-bot-ts-cjs/package.json | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ad74130d7..888701c06 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -46,13 +46,13 @@ jobs: run: export NODE_OPTIONS=--openssl-legacy-provider; npm run apidocs - name: Test building docs run: export NODE_OPTIONS=--openssl-legacy-provider; npm run docs:build -# - name: Test building examples (CJS) -# run: | -# cd examples/echo-bot-ts-cjs -# npm run build-sdk -# npm install -# npm run build -# cd - + - name: Test building examples (CJS) + run: | + cd examples/echo-bot-ts-cjs + npm run build-sdk + npm install + npm run build + cd - - name: Test building examples (ESM) run: | cd examples/echo-bot-ts-esm diff --git a/examples/echo-bot-ts-cjs/package-lock.json b/examples/echo-bot-ts-cjs/package-lock.json index c14d8bcb9..09d14a044 100644 --- a/examples/echo-bot-ts-cjs/package-lock.json +++ b/examples/echo-bot-ts-cjs/package-lock.json @@ -15,7 +15,7 @@ "@types/express": "^4.17.17", "@types/node": "^20.6.3", "rimraf": "^5.0.1", - "typescript": "^5.2.2" + "typescript": "^5.4.3" } }, "../..": { @@ -2000,9 +2000,9 @@ } }, "node_modules/typescript": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.3.tgz", + "integrity": "sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==", "dev": true, "bin": { "tsc": "bin/tsc", diff --git a/examples/echo-bot-ts-cjs/package.json b/examples/echo-bot-ts-cjs/package.json index 194fbd116..7b4941c01 100644 --- a/examples/echo-bot-ts-cjs/package.json +++ b/examples/echo-bot-ts-cjs/package.json @@ -17,6 +17,6 @@ "@types/express": "^4.17.17", "@types/node": "^20.6.3", "rimraf": "^5.0.1", - "typescript": "^5.2.2" + "typescript": "^5.4.3" } } From 5df41c09db02f240318fc23a58ae07126134aa06 Mon Sep 17 00:00:00 2001 From: Yuta Kasai Date: Mon, 1 Apr 2024 16:25:49 +0900 Subject: [PATCH 24/24] 05 Add document for ESM project --- README.md | 1 + docs/getting-started/basic-usage.md | 1 + docs/guide/webhook.md | 1 + 3 files changed, 3 insertions(+) diff --git a/README.md b/README.md index 91b5cbe74..7cf16bcb2 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,7 @@ [![Github Action](https://github.com/line/line-bot-sdk-nodejs/actions/workflows/test.yml/badge.svg)](https://github.com/line/line-bot-sdk-nodejs/actions/workflows/test.yml) [![npmjs](https://badge.fury.io/js/%40line%2Fbot-sdk.svg)](https://www.npmjs.com/package/@line/bot-sdk) +TODO: Add native esm sample in example directory ## Introduction The LINE Messaging API SDK for nodejs makes it easy to develop bots using LINE Messaging API, and you can create a sample bot within minutes. diff --git a/docs/getting-started/basic-usage.md b/docs/getting-started/basic-usage.md index 37e4205b1..fa8ccfaf5 100644 --- a/docs/getting-started/basic-usage.md +++ b/docs/getting-started/basic-usage.md @@ -36,6 +36,7 @@ line.middleware({ Here is a synopsis of echoing webhook server with [Express](https://expressjs.com/): ``` js +// fix here const express = require('express'); const line = require('@line/bot-sdk'); diff --git a/docs/guide/webhook.md b/docs/guide/webhook.md index c83968682..a6048fa60 100644 --- a/docs/guide/webhook.md +++ b/docs/guide/webhook.md @@ -40,6 +40,7 @@ Express, please refer to its documentation. Here is an example of an HTTP server built with Express. ``` js +// fix here const express = require('express') const app = express()