From c21581f4cc6572688d883f3ef0d8866b89a1521e Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Thu, 2 Jan 2025 11:01:54 +0000 Subject: [PATCH 1/5] =?UTF-8?q?Update=20backups=20store=20to=20TS=C2=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/builder/src/stores/portal/backups.js | 40 ------------------- packages/builder/src/stores/portal/backups.ts | 38 ++++++++++++++++++ 2 files changed, 38 insertions(+), 40 deletions(-) delete mode 100644 packages/builder/src/stores/portal/backups.js create mode 100644 packages/builder/src/stores/portal/backups.ts diff --git a/packages/builder/src/stores/portal/backups.js b/packages/builder/src/stores/portal/backups.js deleted file mode 100644 index 7bd98c78ea..0000000000 --- a/packages/builder/src/stores/portal/backups.js +++ /dev/null @@ -1,40 +0,0 @@ -import { writable } from "svelte/store" -import { API } from "@/api" - -export function createBackupsStore() { - const store = writable({}) - - function selectBackup(backupId) { - store.update(state => { - state.selectedBackup = backupId - return state - }) - } - - async function searchBackups(appId, opts) { - return API.searchBackups(appId, opts) - } - - async function restoreBackup(appId, backupId, name) { - return API.restoreBackup(appId, backupId, name) - } - - async function deleteBackup(appId, backupId) { - return API.deleteBackup(appId, backupId) - } - - async function createManualBackup(appId) { - return API.createManualBackup(appId) - } - - return { - createManualBackup, - searchBackups, - selectBackup, - deleteBackup, - restoreBackup, - subscribe: store.subscribe, - } -} - -export const backups = createBackupsStore() diff --git a/packages/builder/src/stores/portal/backups.ts b/packages/builder/src/stores/portal/backups.ts new file mode 100644 index 0000000000..59b0754c71 --- /dev/null +++ b/packages/builder/src/stores/portal/backups.ts @@ -0,0 +1,38 @@ +import { API } from "@/api" +import { BudiStore } from "../BudiStore" +import { SearchAppBackupsRequest } from "@budibase/types" + +interface BackupState { + selectedBackup?: string +} + +class BackupStore extends BudiStore { + constructor() { + super({}) + } + + selectBackup(backupId: string) { + this.update(state => { + state.selectedBackup = backupId + return state + }) + } + + async searchBackups(appId: string, opts: SearchAppBackupsRequest) { + return API.searchBackups(appId, opts) + } + + async restoreBackup(appId: string, backupId: string, name?: string) { + return API.restoreBackup(appId, backupId, name) + } + + async deleteBackup(appId: string, backupId: string) { + return API.deleteBackup(appId, backupId) + } + + async createManualBackup(appId: string) { + return API.createManualBackup(appId) + } +} + +export const backups = new BackupStore() From de3f70066ab298853f7f6469e67bcfaf19f0fecf Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Thu, 2 Jan 2025 11:57:42 +0000 Subject: [PATCH 2/5] Convert portal email store to TS --- .../portal/settings/email/[template].svelte | 2 +- .../portal/settings/email/_layout.svelte | 2 +- packages/builder/src/stores/portal/email.js | 36 ---------------- packages/builder/src/stores/portal/email.ts | 43 +++++++++++++++++++ 4 files changed, 45 insertions(+), 38 deletions(-) delete mode 100644 packages/builder/src/stores/portal/email.js create mode 100644 packages/builder/src/stores/portal/email.ts diff --git a/packages/builder/src/pages/builder/portal/settings/email/[template].svelte b/packages/builder/src/pages/builder/portal/settings/email/[template].svelte index a9c0275367..7fbf6d3361 100644 --- a/packages/builder/src/pages/builder/portal/settings/email/[template].svelte +++ b/packages/builder/src/pages/builder/portal/settings/email/[template].svelte @@ -34,7 +34,7 @@ async function saveTemplate() { try { // Save your template config - await email.templates.save(selectedTemplate) + await email.saveTemplate(selectedTemplate) notifications.success("Template saved") } catch (error) { notifications.error("Failed to update template settings") diff --git a/packages/builder/src/pages/builder/portal/settings/email/_layout.svelte b/packages/builder/src/pages/builder/portal/settings/email/_layout.svelte index c0d4d4463e..14e7d2c3ca 100644 --- a/packages/builder/src/pages/builder/portal/settings/email/_layout.svelte +++ b/packages/builder/src/pages/builder/portal/settings/email/_layout.svelte @@ -5,7 +5,7 @@ onMount(async () => { try { - await email.templates.fetch() + await email.fetchTemplates() } catch (error) { notifications.error("Error fetching email templates") } diff --git a/packages/builder/src/stores/portal/email.js b/packages/builder/src/stores/portal/email.js deleted file mode 100644 index 7afd543002..0000000000 --- a/packages/builder/src/stores/portal/email.js +++ /dev/null @@ -1,36 +0,0 @@ -import { writable } from "svelte/store" -import { API } from "@/api" - -export function createEmailStore() { - const store = writable({}) - - return { - subscribe: store.subscribe, - templates: { - fetch: async () => { - // Fetch the email template definitions and templates - const definitions = await API.getEmailTemplateDefinitions() - const templates = await API.getEmailTemplates() - store.set({ - definitions, - templates, - }) - }, - save: async template => { - // Save your template config - const savedTemplate = await API.saveEmailTemplate(template) - template._rev = savedTemplate._rev - template._id = savedTemplate._id - store.update(state => { - const currentIdx = state.templates.findIndex( - template => template.purpose === savedTemplate.purpose - ) - state.templates.splice(currentIdx, 1, template) - return state - }) - }, - }, - } -} - -export const email = createEmailStore() diff --git a/packages/builder/src/stores/portal/email.ts b/packages/builder/src/stores/portal/email.ts new file mode 100644 index 0000000000..290f443c78 --- /dev/null +++ b/packages/builder/src/stores/portal/email.ts @@ -0,0 +1,43 @@ +import { API } from "@/api" +import { BudiStore } from "../BudiStore" +import { + FetchGlobalTemplateDefinitionResponse, + Template, +} from "@budibase/types" + +interface EmailState { + definitions?: FetchGlobalTemplateDefinitionResponse + templates: Template[] +} + +class EmailStore extends BudiStore { + constructor() { + super({ + templates: [], + }) + } + + async fetchTemplates() { + const definitions = await API.getEmailTemplateDefinitions() + const templates = await API.getEmailTemplates() + this.set({ + definitions, + templates, + }) + } + + async saveTemplate(template: Template) { + const savedTemplate = await API.saveEmailTemplate(template) + template._rev = savedTemplate._rev + template._id = savedTemplate._id + this.update(state => { + const currentIdx = state.templates.findIndex( + template => template.purpose === savedTemplate.purpose + ) + state.templates.splice(currentIdx, 1, template) + return state + }) + } +} + +export const email = new EmailStore() From bea5a64e3205426b27cf1a877b36e03d6b4f9994 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Thu, 2 Jan 2025 11:58:57 +0000 Subject: [PATCH 3/5] Update tests --- packages/builder/src/stores/portal/backups.test.js | 4 ++-- packages/builder/src/stores/portal/backups.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/builder/src/stores/portal/backups.test.js b/packages/builder/src/stores/portal/backups.test.js index 51cd13f91a..93b2c8a2e0 100644 --- a/packages/builder/src/stores/portal/backups.test.js +++ b/packages/builder/src/stores/portal/backups.test.js @@ -1,5 +1,5 @@ import { it, expect, describe, beforeEach, vi } from "vitest" -import { createBackupsStore } from "./backups" +import { BackupStore } from "./backups" import { writable } from "svelte/store" import { API } from "@/api" @@ -33,7 +33,7 @@ describe("backups store", () => { ctx.writableReturn = { update: vi.fn(), subscribe: vi.fn() } writable.mockReturnValue(ctx.writableReturn) - ctx.returnedStore = createBackupsStore() + ctx.returnedStore = new BackupStore() }) it("inits the writable store with the default config", () => { diff --git a/packages/builder/src/stores/portal/backups.ts b/packages/builder/src/stores/portal/backups.ts index 59b0754c71..050d509555 100644 --- a/packages/builder/src/stores/portal/backups.ts +++ b/packages/builder/src/stores/portal/backups.ts @@ -6,7 +6,7 @@ interface BackupState { selectedBackup?: string } -class BackupStore extends BudiStore { +export class BackupStore extends BudiStore { constructor() { super({}) } From ffb47bf3eee435d1be04fe359ce87b5b11e57ee2 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Thu, 2 Jan 2025 15:59:26 +0000 Subject: [PATCH 4/5] Convert environment store to TS --- .../_components/EditVariableColumn.svelte | 3 +- .../builder/src/stores/portal/environment.js | 71 ----------------- .../builder/src/stores/portal/environment.ts | 79 +++++++++++++++++++ 3 files changed, 81 insertions(+), 72 deletions(-) delete mode 100644 packages/builder/src/stores/portal/environment.js create mode 100644 packages/builder/src/stores/portal/environment.ts diff --git a/packages/builder/src/pages/builder/portal/settings/environment/_components/EditVariableColumn.svelte b/packages/builder/src/pages/builder/portal/settings/environment/_components/EditVariableColumn.svelte index 8f60b3f3ca..00ff1804d9 100644 --- a/packages/builder/src/pages/builder/portal/settings/environment/_components/EditVariableColumn.svelte +++ b/packages/builder/src/pages/builder/portal/settings/environment/_components/EditVariableColumn.svelte @@ -10,7 +10,8 @@ let deleteDialog const save = async data => { - await environment.updateVariable(data) + const { name, ...rest } = data + await environment.updateVariable(name, rest) editVariableModal.hide() } diff --git a/packages/builder/src/stores/portal/environment.js b/packages/builder/src/stores/portal/environment.js deleted file mode 100644 index 232f314cad..0000000000 --- a/packages/builder/src/stores/portal/environment.js +++ /dev/null @@ -1,71 +0,0 @@ -import { writable, get } from "svelte/store" -import { API } from "@/api" -import { Constants } from "@budibase/frontend-core" -import { licensing } from "@/stores/portal" - -export function createEnvironmentStore() { - const { subscribe, update } = writable({ - variables: [], - status: {}, - }) - - async function checkStatus() { - const status = await API.checkEnvironmentVariableStatus() - update(store => { - store.status = status - return store - }) - } - - async function loadVariables() { - if (get(licensing).environmentVariablesEnabled) { - const envVars = await API.fetchEnvironmentVariables() - const mappedVars = envVars.variables.map(name => ({ name })) - update(store => { - store.variables = mappedVars - return store - }) - } - } - - async function createVariable(data) { - await API.createEnvironmentVariable(data) - let mappedVar = { name: data.name } - update(store => { - store.variables = [mappedVar, ...store.variables] - return store - }) - } - - async function deleteVariable(varName) { - await API.deleteEnvironmentVariable(varName) - update(store => { - store.variables = store.variables.filter( - envVar => envVar.name !== varName - ) - return store - }) - } - - async function updateVariable(data) { - await API.updateEnvironmentVariable(data) - } - - async function upgradePanelOpened() { - await API.publishEvent( - Constants.EventPublishType.ENV_VAR_UPGRADE_PANEL_OPENED - ) - } - - return { - subscribe, - checkStatus, - loadVariables, - createVariable, - deleteVariable, - updateVariable, - upgradePanelOpened, - } -} - -export const environment = createEnvironmentStore() diff --git a/packages/builder/src/stores/portal/environment.ts b/packages/builder/src/stores/portal/environment.ts new file mode 100644 index 0000000000..2269ba48ab --- /dev/null +++ b/packages/builder/src/stores/portal/environment.ts @@ -0,0 +1,79 @@ +import { get } from "svelte/store" +import { API } from "@/api" +import { licensing } from "@/stores/portal" +import { BudiStore } from "../BudiStore" +import { + CreateEnvironmentVariableRequest, + EventPublishType, + StatusEnvironmentVariableResponse, + UpdateEnvironmentVariableRequest, +} from "@budibase/types" + +type EnvVar = { + name: string +} + +interface EnvironmentState { + variables: EnvVar[] + status: StatusEnvironmentVariableResponse +} + +class EnvironmentStore extends BudiStore { + constructor() { + super({ + variables: [], + status: { + encryptionKeyAvailable: false, + }, + }) + } + + async checkStatus() { + const status = await API.checkEnvironmentVariableStatus() + this.update(store => { + store.status = status + return store + }) + } + + async loadVariables() { + if (get(licensing).environmentVariablesEnabled) { + const envVars: string[] = (await API.fetchEnvironmentVariables()) + .variables + const mappedVars = envVars.map(name => ({ name })) + this.update(store => { + store.variables = mappedVars + return store + }) + } + } + + async createVariable(data: CreateEnvironmentVariableRequest) { + await API.createEnvironmentVariable(data) + let mappedVar = { name: data.name } + this.update(state => { + state.variables = [mappedVar, ...state.variables] + return state + }) + } + + async deleteVariable(name: string) { + await API.deleteEnvironmentVariable(name) + this.update(state => { + state.variables = state.variables.filter(envVar => envVar.name !== name) + return state + }) + } + + async updateVariable(name: string, data: UpdateEnvironmentVariableRequest) { + await API.updateEnvironmentVariable(name, data) + } + + async upgradePanelOpened() { + await API.publishEvent( + EventPublishType.ENVIRONMENT_VARIABLE_UPGRADE_PANEL_OPENED + ) + } +} + +export const environment = new EnvironmentStore() From 47c87a6650ef5b25b07d3be9b0d5d91ccfcfdcd5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 4 Jan 2025 02:27:34 +0000 Subject: [PATCH 5/5] Bump next from 14.2.15 to 14.2.21 in /examples/nextjs-api-sales Bumps [next](https://github.com/vercel/next.js) from 14.2.15 to 14.2.21. - [Release notes](https://github.com/vercel/next.js/releases) - [Changelog](https://github.com/vercel/next.js/blob/canary/release.js) - [Commits](https://github.com/vercel/next.js/compare/v14.2.15...v14.2.21) --- updated-dependencies: - dependency-name: next dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- examples/nextjs-api-sales/package.json | 2 +- examples/nextjs-api-sales/yarn.lock | 108 ++++++++++++------------- 2 files changed, 55 insertions(+), 55 deletions(-) diff --git a/examples/nextjs-api-sales/package.json b/examples/nextjs-api-sales/package.json index 1050c6b75e..d50e7d4eb5 100644 --- a/examples/nextjs-api-sales/package.json +++ b/examples/nextjs-api-sales/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "bulma": "^0.9.3", - "next": "14.2.15", + "next": "14.2.21", "node-fetch": "^3.2.10", "sass": "^1.52.3", "react": "17.0.2", diff --git a/examples/nextjs-api-sales/yarn.lock b/examples/nextjs-api-sales/yarn.lock index b595a148bf..a10fccb2e9 100644 --- a/examples/nextjs-api-sales/yarn.lock +++ b/examples/nextjs-api-sales/yarn.lock @@ -46,10 +46,10 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== -"@next/env@14.2.15": - version "14.2.15" - resolved "https://registry.yarnpkg.com/@next/env/-/env-14.2.15.tgz#06d984e37e670d93ddd6790af1844aeb935f332f" - integrity sha512-S1qaj25Wru2dUpcIZMjxeMVSwkt8BK4dmWHHiBuRstcIyOsMapqT4A4jSB6onvqeygkSSmOkyny9VVx8JIGamQ== +"@next/env@14.2.21": + version "14.2.21" + resolved "https://registry.yarnpkg.com/@next/env/-/env-14.2.21.tgz#09ff0813d29c596397e141205d4f5fd5c236bdd0" + integrity sha512-lXcwcJd5oR01tggjWJ6SrNNYFGuOOMB9c251wUNkjCpkoXOPkDeF/15c3mnVlBqrW4JJXb2kVxDFhC4GduJt2A== "@next/eslint-plugin-next@12.1.0": version "12.1.0" @@ -58,50 +58,50 @@ dependencies: glob "7.1.7" -"@next/swc-darwin-arm64@14.2.15": - version "14.2.15" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.15.tgz#6386d585f39a1c490c60b72b1f76612ba4434347" - integrity sha512-Rvh7KU9hOUBnZ9TJ28n2Oa7dD9cvDBKua9IKx7cfQQ0GoYUwg9ig31O2oMwH3wm+pE3IkAQ67ZobPfEgurPZIA== +"@next/swc-darwin-arm64@14.2.21": + version "14.2.21" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.21.tgz#32a31992aace1440981df9cf7cb3af7845d94fec" + integrity sha512-HwEjcKsXtvszXz5q5Z7wCtrHeTTDSTgAbocz45PHMUjU3fBYInfvhR+ZhavDRUYLonm53aHZbB09QtJVJj8T7g== -"@next/swc-darwin-x64@14.2.15": - version "14.2.15" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.15.tgz#b7baeedc6a28f7545ad2bc55adbab25f7b45cb89" - integrity sha512-5TGyjFcf8ampZP3e+FyCax5zFVHi+Oe7sZyaKOngsqyaNEpOgkKB3sqmymkZfowy3ufGA/tUgDPPxpQx931lHg== +"@next/swc-darwin-x64@14.2.21": + version "14.2.21" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.21.tgz#5ab4b3f6685b6b52f810d0f5cf6e471480ddffdb" + integrity sha512-TSAA2ROgNzm4FhKbTbyJOBrsREOMVdDIltZ6aZiKvCi/v0UwFmwigBGeqXDA97TFMpR3LNNpw52CbVelkoQBxA== -"@next/swc-linux-arm64-gnu@14.2.15": - version "14.2.15" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.15.tgz#fa13c59d3222f70fb4cb3544ac750db2c6e34d02" - integrity sha512-3Bwv4oc08ONiQ3FiOLKT72Q+ndEMyLNsc/D3qnLMbtUYTQAmkx9E/JRu0DBpHxNddBmNT5hxz1mYBphJ3mfrrw== +"@next/swc-linux-arm64-gnu@14.2.21": + version "14.2.21" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.21.tgz#8a0e1fa887aef19ca218af2af515d0a5ee67ba3f" + integrity sha512-0Dqjn0pEUz3JG+AImpnMMW/m8hRtl1GQCNbO66V1yp6RswSTiKmnHf3pTX6xMdJYSemf3O4Q9ykiL0jymu0TuA== -"@next/swc-linux-arm64-musl@14.2.15": - version "14.2.15" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.15.tgz#30e45b71831d9a6d6d18d7ac7d611a8d646a17f9" - integrity sha512-k5xf/tg1FBv/M4CMd8S+JL3uV9BnnRmoe7F+GWC3DxkTCD9aewFRH1s5rJ1zkzDa+Do4zyN8qD0N8c84Hu96FQ== +"@next/swc-linux-arm64-musl@14.2.21": + version "14.2.21" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.21.tgz#ddad844406b42fa8965fe11250abc85c1fe0fd05" + integrity sha512-Ggfw5qnMXldscVntwnjfaQs5GbBbjioV4B4loP+bjqNEb42fzZlAaK+ldL0jm2CTJga9LynBMhekNfV8W4+HBw== -"@next/swc-linux-x64-gnu@14.2.15": - version "14.2.15" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.15.tgz#5065db17fc86f935ad117483f21f812dc1b39254" - integrity sha512-kE6q38hbrRbKEkkVn62reLXhThLRh6/TvgSP56GkFNhU22TbIrQDEMrO7j0IcQHcew2wfykq8lZyHFabz0oBrA== +"@next/swc-linux-x64-gnu@14.2.21": + version "14.2.21" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.21.tgz#db55fd666f9ba27718f65caa54b622a912cdd16b" + integrity sha512-uokj0lubN1WoSa5KKdThVPRffGyiWlm/vCc/cMkWOQHw69Qt0X1o3b2PyLLx8ANqlefILZh1EdfLRz9gVpG6tg== -"@next/swc-linux-x64-musl@14.2.15": - version "14.2.15" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.15.tgz#3c4a4568d8be7373a820f7576cf33388b5dab47e" - integrity sha512-PZ5YE9ouy/IdO7QVJeIcyLn/Rc4ml9M2G4y3kCM9MNf1YKvFY4heg3pVa/jQbMro+tP6yc4G2o9LjAz1zxD7tQ== +"@next/swc-linux-x64-musl@14.2.21": + version "14.2.21" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.21.tgz#dddb850353624efcd58c4c4e30ad8a1aab379642" + integrity sha512-iAEBPzWNbciah4+0yI4s7Pce6BIoxTQ0AGCkxn/UBuzJFkYyJt71MadYQkjPqCQCJAFQ26sYh7MOKdU+VQFgPg== -"@next/swc-win32-arm64-msvc@14.2.15": - version "14.2.15" - resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.15.tgz#fb812cc4ca0042868e32a6a021da91943bb08b98" - integrity sha512-2raR16703kBvYEQD9HNLyb0/394yfqzmIeyp2nDzcPV4yPjqNUG3ohX6jX00WryXz6s1FXpVhsCo3i+g4RUX+g== +"@next/swc-win32-arm64-msvc@14.2.21": + version "14.2.21" + resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.21.tgz#290012ee57b196d3d2d04853e6bf0179cae9fbaf" + integrity sha512-plykgB3vL2hB4Z32W3ktsfqyuyGAPxqwiyrAi2Mr8LlEUhNn9VgkiAl5hODSBpzIfWweX3er1f5uNpGDygfQVQ== -"@next/swc-win32-ia32-msvc@14.2.15": - version "14.2.15" - resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.15.tgz#ec26e6169354f8ced240c1427be7fd485c5df898" - integrity sha512-fyTE8cklgkyR1p03kJa5zXEaZ9El+kDNM5A+66+8evQS5e/6v0Gk28LqA0Jet8gKSOyP+OTm/tJHzMlGdQerdQ== +"@next/swc-win32-ia32-msvc@14.2.21": + version "14.2.21" + resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.21.tgz#c959135a78cab18cca588d11d1e33bcf199590d4" + integrity sha512-w5bacz4Vxqrh06BjWgua3Yf7EMDb8iMcVhNrNx8KnJXt8t+Uu0Zg4JHLDL/T7DkTCEEfKXO/Er1fcfWxn2xfPA== -"@next/swc-win32-x64-msvc@14.2.15": - version "14.2.15" - resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.15.tgz#18d68697002b282006771f8d92d79ade9efd35c4" - integrity sha512-SzqGbsLsP9OwKNUG9nekShTwhj6JSB9ZLMWQ8g1gG6hdE5gQLncbnbymrwy2yVmH9nikSLYRYxYMFu78Ggp7/g== +"@next/swc-win32-x64-msvc@14.2.21": + version "14.2.21" + resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.21.tgz#21ff892286555b90538a7d1b505ea21a005d6ead" + integrity sha512-sT6+llIkzpsexGYZq8cjjthRyRGe5cJVhqh12FmlbxHqna6zsDDK8UNaV7g41T6atFHCJUPeLb3uyAwrBwy0NA== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -1253,12 +1253,12 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= -next@14.2.15: - version "14.2.15" - resolved "https://registry.yarnpkg.com/next/-/next-14.2.15.tgz#348e5603e22649775d19c785c09a89c9acb5189a" - integrity sha512-h9ctmOokpoDphRvMGnwOJAedT6zKhwqyZML9mDtspgf4Rh3Pn7UTYKqePNoDvhsWBAO5GoPNYshnAUGIazVGmw== +next@14.2.21: + version "14.2.21" + resolved "https://registry.yarnpkg.com/next/-/next-14.2.21.tgz#f6da9e2abba1a0e4ca7a5273825daf06632554ba" + integrity sha512-rZmLwucLHr3/zfDMYbJXbw0ZeoBpirxkXuvsJbk7UPorvPYZhP7vq7aHbKnU7dQNCYIimRrbB2pp3xmf+wsYUg== dependencies: - "@next/env" "14.2.15" + "@next/env" "14.2.21" "@swc/helpers" "0.5.5" busboy "1.6.0" caniuse-lite "^1.0.30001579" @@ -1266,15 +1266,15 @@ next@14.2.15: postcss "8.4.31" styled-jsx "5.1.1" optionalDependencies: - "@next/swc-darwin-arm64" "14.2.15" - "@next/swc-darwin-x64" "14.2.15" - "@next/swc-linux-arm64-gnu" "14.2.15" - "@next/swc-linux-arm64-musl" "14.2.15" - "@next/swc-linux-x64-gnu" "14.2.15" - "@next/swc-linux-x64-musl" "14.2.15" - "@next/swc-win32-arm64-msvc" "14.2.15" - "@next/swc-win32-ia32-msvc" "14.2.15" - "@next/swc-win32-x64-msvc" "14.2.15" + "@next/swc-darwin-arm64" "14.2.21" + "@next/swc-darwin-x64" "14.2.21" + "@next/swc-linux-arm64-gnu" "14.2.21" + "@next/swc-linux-arm64-musl" "14.2.21" + "@next/swc-linux-x64-gnu" "14.2.21" + "@next/swc-linux-x64-musl" "14.2.21" + "@next/swc-win32-arm64-msvc" "14.2.21" + "@next/swc-win32-ia32-msvc" "14.2.21" + "@next/swc-win32-x64-msvc" "14.2.21" node-domexception@^1.0.0: version "1.0.0"