@vitnode/core 1.2.0-canary.54 → 1.2.0-canary.55
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/scripts/get-config.d.ts.map +1 -1
- package/dist/scripts/plugin.d.ts.map +1 -1
- package/dist/scripts/prepare-database.d.ts.map +1 -1
- package/dist/scripts/prepare-plugins-files.d.ts.map +1 -1
- package/dist/scripts/scripts.js +1 -1
- package/dist/scripts/shared/file-utils.d.ts.map +1 -1
- package/dist/src/api/adapters/cron/node-cron.adapter.d.ts.map +1 -1
- package/dist/src/api/adapters/sso/discord.d.ts.map +1 -1
- package/dist/src/api/adapters/sso/facebook.d.ts.map +1 -1
- package/dist/src/api/adapters/sso/google.d.ts.map +1 -1
- package/dist/src/api/config.d.ts.map +1 -1
- package/dist/src/api/config.js +2 -1
- package/dist/src/api/lib/cron.d.ts +4 -4
- package/dist/src/api/lib/cron.d.ts.map +1 -1
- package/dist/src/api/lib/logger-middleware.js +1 -1
- package/dist/src/api/lib/module.d.ts +2 -2
- package/dist/src/api/lib/module.d.ts.map +1 -1
- package/dist/src/api/lib/plugin.d.ts +1 -1
- package/dist/src/api/lib/plugin.d.ts.map +1 -1
- package/dist/src/api/lib/route.d.ts.map +1 -1
- package/dist/src/api/lib/with-pagination.d.ts +1 -1
- package/dist/src/api/lib/with-pagination.d.ts.map +1 -1
- package/dist/src/api/middlewares/cron-auth.middleware.d.ts.map +1 -1
- package/dist/src/api/middlewares/global.middleware.d.ts +6 -6
- package/dist/src/api/middlewares/global.middleware.d.ts.map +1 -1
- package/dist/src/api/middlewares/global.middleware.js +0 -1
- package/dist/src/api/models/device.d.ts.map +1 -1
- package/dist/src/api/models/device.js +1 -1
- package/dist/src/api/models/email.d.ts.map +1 -1
- package/dist/src/api/models/email.js +1 -2
- package/dist/src/api/models/session-admin.d.ts.map +1 -1
- package/dist/src/api/models/session.d.ts.map +1 -1
- package/dist/src/api/models/sso.d.ts.map +1 -1
- package/dist/src/api/models/sso.js +1 -1
- package/dist/src/api/models/user/get-user-by-id.d.ts.map +1 -1
- package/dist/src/api/models/user/sign-in-with-passwords.d.ts.map +1 -1
- package/dist/src/api/models/user/sign-up.d.ts.map +1 -1
- package/dist/src/api/models/user/sign-up.js +1 -0
- package/dist/src/api/models/user.d.ts.map +1 -1
- package/dist/src/api/modules/admin/admin.module.d.ts.map +1 -1
- package/dist/src/api/modules/admin/advanced/advanced.admin.module.d.ts.map +1 -1
- package/dist/src/api/modules/admin/advanced/cron/cron.admin.module.d.ts.map +1 -1
- package/dist/src/api/modules/admin/advanced/cron/routes/get.route.d.ts.map +1 -1
- package/dist/src/api/modules/admin/advanced/cron/routes/run.route.d.ts.map +1 -1
- package/dist/src/api/modules/cron/cron/clean.cron.d.ts.map +1 -1
- package/dist/src/api/modules/cron/cron.module.d.ts.map +1 -1
- package/dist/src/api/modules/cron/helpers/process-cron-jobs.d.ts +10 -10
- package/dist/src/api/modules/cron/helpers/process-cron-jobs.d.ts.map +1 -1
- package/dist/src/api/modules/cron/helpers/process-cron-jobs.js +3 -3
- package/dist/src/api/modules/cron/routes/cron.route.d.ts.map +1 -1
- package/dist/src/api/modules/cron/routes/cron.route.js +1 -1
- package/dist/src/app_admin/core/advanced/cron/page.d.ts.map +1 -1
- package/dist/src/app_admin/core/advanced/cron/page.js +3 -3
- package/dist/src/app_admin/core/debug/page.js +1 -1
- package/dist/src/app_admin/core/users/page.d.ts.map +1 -1
- package/dist/src/app_admin/core/users/page.js +1 -1
- package/dist/src/components/confirm-action/confirm-action-alert-dialog.js +1 -1
- package/dist/src/components/confirm-action/content.d.ts.map +1 -1
- package/dist/src/components/confirm-action/content.js +1 -0
- package/dist/src/components/form/auto-form.d.ts.map +1 -1
- package/dist/src/components/form/auto-form.js +0 -1
- package/dist/src/components/form/fields/checkbox.d.ts +1 -1
- package/dist/src/components/form/fields/checkbox.d.ts.map +1 -1
- package/dist/src/components/form/fields/combobox-async.d.ts.map +1 -1
- package/dist/src/components/form/fields/combobox.d.ts.map +1 -1
- package/dist/src/components/form/fields/input.d.ts +1 -1
- package/dist/src/components/form/fields/input.d.ts.map +1 -1
- package/dist/src/components/form/fields/select.d.ts.map +1 -1
- package/dist/src/components/form/fields/switch.js +1 -1
- package/dist/src/components/switchers/langs/language-switcher.d.ts.map +1 -1
- package/dist/src/components/table/content.d.ts.map +1 -1
- package/dist/src/components/table/data-table.d.ts +1 -1
- package/dist/src/components/table/data-table.d.ts.map +1 -1
- package/dist/src/components/table/order-table-head.d.ts.map +1 -1
- package/dist/src/components/table/pagination.js +1 -1
- package/dist/src/components/tiptap/extension.d.ts.map +1 -1
- package/dist/src/components/tiptap/extension.js +7 -0
- package/dist/src/components/tiptap/toolbar/actions/alignment-action.d.ts +2 -0
- package/dist/src/components/tiptap/toolbar/actions/alignment-action.d.ts.map +1 -0
- package/dist/src/components/tiptap/toolbar/actions/alignment-action.js +91 -0
- package/dist/src/components/tiptap/toolbar/actions/bold-action.d.ts.map +1 -1
- package/dist/src/components/tiptap/toolbar/actions/headings-action.d.ts.map +1 -1
- package/dist/src/components/tiptap/toolbar/actions/headings-action.js +45 -46
- package/dist/src/components/tiptap/toolbar/actions/italic-action.d.ts.map +1 -1
- package/dist/src/components/tiptap/toolbar/actions/list-action.d.ts.map +1 -1
- package/dist/src/components/tiptap/toolbar/actions/list-action.js +14 -13
- package/dist/src/components/tiptap/toolbar/actions/text-format-more/text-format-more.d.ts.map +1 -1
- package/dist/src/components/tiptap/toolbar/actions/text-format-more/text-format-more.js +5 -5
- package/dist/src/components/tiptap/toolbar/actions/underline-action.d.ts.map +1 -1
- package/dist/src/components/tiptap/toolbar/actions/undo-redo-actions.d.ts.map +1 -1
- package/dist/src/components/tiptap/toolbar/actions/undo-redo-actions.js +6 -6
- package/dist/src/components/tiptap/toolbar/tiptap-toolbar.d.ts.map +1 -1
- package/dist/src/components/tiptap/toolbar/tiptap-toolbar.js +38 -18
- package/dist/src/components/tiptap/toolbar/use-toolbar-editor.d.ts.map +1 -1
- package/dist/src/components/ui/accordion.d.ts +1 -1
- package/dist/src/components/ui/accordion.d.ts.map +1 -1
- package/dist/src/components/ui/alert.d.ts +1 -1
- package/dist/src/components/ui/alert.d.ts.map +1 -1
- package/dist/src/components/ui/badge.d.ts +1 -1
- package/dist/src/components/ui/badge.d.ts.map +1 -1
- package/dist/src/components/ui/button.d.ts +2 -2
- package/dist/src/components/ui/button.d.ts.map +1 -1
- package/dist/src/components/ui/checkbox.d.ts +1 -1
- package/dist/src/components/ui/checkbox.d.ts.map +1 -1
- package/dist/src/components/ui/command.d.ts +1 -1
- package/dist/src/components/ui/command.d.ts.map +1 -1
- package/dist/src/components/ui/context-menu.d.ts +1 -1
- package/dist/src/components/ui/context-menu.d.ts.map +1 -1
- package/dist/src/components/ui/drawer.d.ts.map +1 -1
- package/dist/src/components/ui/dropdown-menu.d.ts +1 -1
- package/dist/src/components/ui/dropdown-menu.d.ts.map +1 -1
- package/dist/src/components/ui/editor-content.js +1 -1
- package/dist/src/components/ui/editor.d.ts.map +1 -1
- package/dist/src/components/ui/editor.js +1 -1
- package/dist/src/components/ui/form.d.ts.map +1 -1
- package/dist/src/components/ui/hover-card.d.ts +1 -1
- package/dist/src/components/ui/hover-card.d.ts.map +1 -1
- package/dist/src/components/ui/label.d.ts +1 -1
- package/dist/src/components/ui/label.d.ts.map +1 -1
- package/dist/src/components/ui/menubar.d.ts +1 -1
- package/dist/src/components/ui/menubar.d.ts.map +1 -1
- package/dist/src/components/ui/navigation-menu.d.ts +1 -1
- package/dist/src/components/ui/navigation-menu.d.ts.map +1 -1
- package/dist/src/components/ui/popover.d.ts +1 -1
- package/dist/src/components/ui/popover.d.ts.map +1 -1
- package/dist/src/components/ui/progress.d.ts +1 -1
- package/dist/src/components/ui/progress.d.ts.map +1 -1
- package/dist/src/components/ui/radio-group.d.ts +1 -1
- package/dist/src/components/ui/radio-group.d.ts.map +1 -1
- package/dist/src/components/ui/scroll-area.d.ts +6 -0
- package/dist/src/components/ui/scroll-area.d.ts.map +1 -0
- package/dist/src/components/ui/scroll-area.js +33 -0
- package/dist/src/components/ui/select.d.ts +1 -1
- package/dist/src/components/ui/select.d.ts.map +1 -1
- package/dist/src/components/ui/separator.d.ts +1 -1
- package/dist/src/components/ui/separator.d.ts.map +1 -1
- package/dist/src/components/ui/sheet.d.ts +1 -1
- package/dist/src/components/ui/sheet.d.ts.map +1 -1
- package/dist/src/components/ui/sidebar.d.ts.map +1 -1
- package/dist/src/components/ui/sidebar.js +0 -1
- package/dist/src/components/ui/sonner.d.ts.map +1 -1
- package/dist/src/components/ui/switch.d.ts +1 -1
- package/dist/src/components/ui/switch.d.ts.map +1 -1
- package/dist/src/components/ui/tabs.d.ts +1 -1
- package/dist/src/components/ui/tabs.d.ts.map +1 -1
- package/dist/src/components/ui/toggle-group.d.ts.map +1 -1
- package/dist/src/components/ui/toggle.d.ts +1 -1
- package/dist/src/components/ui/toggle.d.ts.map +1 -1
- package/dist/src/components/ui/toggle.js +1 -1
- package/dist/src/components/ui/tooltip.d.ts +1 -1
- package/dist/src/components/ui/tooltip.d.ts.map +1 -1
- package/dist/src/drizzle.config.d.ts.map +1 -1
- package/dist/src/drizzle.config.js +1 -1
- package/dist/src/emails/default-template.d.ts.map +1 -1
- package/dist/src/emails/default-template.js +20 -21
- package/dist/src/hooks/use-captcha.d.ts +20 -0
- package/dist/src/hooks/use-captcha.d.ts.map +1 -1
- package/dist/src/hooks/use-captcha.js +19 -18
- package/dist/src/hooks/use-mobile.d.ts.map +1 -1
- package/dist/src/hooks/use-mobile.js +1 -0
- package/dist/src/lib/api/get-next-cron-run-date.d.ts.map +1 -1
- package/dist/src/lib/api/get-next-cron-run-date.js +2 -2
- package/dist/src/lib/api/should-cron-job-run.d.ts.map +1 -1
- package/dist/src/lib/api/should-cron-job-run.js +2 -2
- package/dist/src/lib/config.js +1 -1
- package/dist/src/lib/ctrl-or-command-character.d.ts +1 -1
- package/dist/src/lib/ctrl-or-command-character.d.ts.map +1 -1
- package/dist/src/lib/ctrl-or-command-character.js +2 -6
- package/dist/src/lib/fetcher/cookie-from-string-to-object.d.ts.map +1 -1
- package/dist/src/lib/fetcher/core.d.ts.map +1 -1
- package/dist/src/lib/fetcher/core.js +1 -2
- package/dist/src/lib/fetcher-client.d.ts.map +1 -1
- package/dist/src/lib/fetcher.d.ts.map +1 -1
- package/dist/src/lib/helpers/auto-form.d.ts.map +1 -1
- package/dist/src/lib/helpers/auto-form.js +0 -1
- package/dist/src/lib/navigation.d.ts +1 -1
- package/dist/src/lib/navigation.d.ts.map +1 -1
- package/dist/src/lib/tiptap/toolbar/actions/bold-action.d.ts +1 -0
- package/dist/src/lib/tiptap/toolbar/actions/bold-action.d.ts.map +1 -0
- package/dist/src/lib/tiptap/toolbar/actions/bold-action.js +0 -0
- package/dist/src/views/admin/layouts/admin-layout.d.ts.map +1 -1
- package/dist/src/views/admin/layouts/admin-layout.js +4 -1
- package/dist/src/views/admin/layouts/user-bar/user-bar.d.ts.map +1 -1
- package/dist/src/views/admin/views/core/advanced/cron/cron-table-view.d.ts.map +1 -1
- package/dist/src/views/admin/views/core/advanced/cron/cron-table-view.js +4 -4
- package/dist/src/views/admin/views/core/advanced/cron/run-action/mutation-api.d.ts.map +1 -1
- package/dist/src/views/admin/views/core/advanced/cron/run-action/run-action.d.ts.map +1 -1
- package/dist/src/views/admin/views/core/advanced/cron/run-action/run-action.js +4 -3
- package/dist/src/views/admin/views/core/debug/system-logs/actions/more/content.d.ts.map +1 -1
- package/dist/src/views/admin/views/core/debug/system-logs/actions/more/more.js +1 -1
- package/dist/src/views/admin/views/core/test.js +1 -1
- package/dist/src/views/auth/password-reset/change-password-form/use-form.d.ts.map +1 -1
- package/dist/src/views/auth/password-reset/form/form.d.ts.map +1 -1
- package/dist/src/views/auth/sign-in/form/mutation-api.d.ts.map +1 -1
- package/dist/src/views/auth/sign-up/components/password-input.d.ts.map +1 -1
- package/dist/src/views/auth/sign-up/components/password-input.js +2 -1
- package/dist/src/views/auth/sign-up/form/form.d.ts.map +1 -1
- package/dist/src/views/auth/sign-up/form/mutation-api.d.ts.map +1 -1
- package/dist/src/views/auth/sign-up/wrapper.d.ts.map +1 -1
- package/dist/src/views/auth/sign-up/wrapper.js +6 -3
- package/dist/src/views/auth/sso/callback/client/client.d.ts.map +1 -1
- package/dist/src/views/error/global-error-view.d.ts.map +1 -1
- package/dist/src/views/error/global-error-view.js +2 -1
- package/dist/src/views/layouts/provider.d.ts.map +1 -1
- package/dist/src/views/layouts/root-layout.d.ts.map +1 -1
- package/dist/src/views/layouts/theme/header/header.d.ts.map +1 -1
- package/dist/src/views/layouts/theme/header/user/auth/client.d.ts.map +1 -1
- package/dist/src/vitnode.config.d.ts +1 -1
- package/dist/src/vitnode.config.d.ts.map +1 -1
- package/dist/src/vitnode.config.js +0 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/eslint.config.mjs +17 -0
- package/package.json +7 -3
- package/src/app_admin/core/advanced/cron/page.tsx +3 -2
- package/src/app_admin/core/debug/page.tsx +1 -1
- package/src/app_admin/core/users/page.tsx +2 -1
- package/src/locales/en.json +8 -0
- package/src/tiptap.css +9 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-config.d.ts","sourceRoot":"","sources":["../../scripts/get-config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-config.d.ts","sourceRoot":"","sources":["../../scripts/get-config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE7E,KAAK,UAAU,CAAC,CAAC,SAAS,YAAY,GAAG,QAAQ,IAAI,CAAC,SAAS,QAAQ,GACnE,aAAa,GACb,gBAAgB,CAAC;AAErB,eAAO,MAAM,SAAS,GAAU,CAAC,SAAS,YAAY,GAAG,QAAQ,EAAE,WAEhE;IACD,IAAI,CAAC,EAAE,CAAC,CAAC;CACV,KAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAaxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../scripts/plugin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../scripts/plugin.ts"],"names":[],"mappings":"AAwRA,eAAO,MAAM,aAAa,GAAI,iBAAiB;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,SAqDrE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare-database.d.ts","sourceRoot":"","sources":["../../scripts/prepare-database.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prepare-database.d.ts","sourceRoot":"","sources":["../../scripts/prepare-database.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,0BAA0B,qBAQtC,CAAC;AAEF,eAAO,MAAM,aAAa,qBAOzB,CAAC;AAEF,eAAO,MAAM,sBAAsB,qBAiHlC,CAAC;AAEF,eAAO,MAAM,eAAe,GAAU,wBAGnC;IACD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,mBA+DA,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare-plugins-files.d.ts","sourceRoot":"","sources":["../../scripts/prepare-plugins-files.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,mBAAmB,GAAU,OAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"prepare-plugins-files.d.ts","sourceRoot":"","sources":["../../scripts/prepare-plugins-files.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,mBAAmB,GAAU,OAAO,MAAM,kBAkOtD,CAAC"}
|
package/dist/scripts/scripts.js
CHANGED
|
@@ -5,7 +5,7 @@ const require = createRequire(import.meta.url);
|
|
|
5
5
|
|
|
6
6
|
var Ht=Object.create;var qe=Object.defineProperty;var Gt=Object.getOwnPropertyDescriptor;var qt=Object.getOwnPropertyNames;var Bt=Object.getPrototypeOf,Jt=Object.prototype.hasOwnProperty;var te=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,s)=>(typeof require<"u"?require:t)[s]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var Be=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Qt=(e,t,s,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of qt(t))!Jt.call(e,r)&&r!==s&&qe(e,r,{get:()=>t[r],enumerable:!(i=Gt(t,r))||i.enumerable});return e};var Xt=(e,t,s)=>(s=e!=null?Ht(Bt(e)):{},Qt(t||!e||!e.__esModule?qe(s,"default",{value:e,enumerable:!0}):s,e));var Je=Be((Mr,Zt)=>{Zt.exports={name:"dotenv",version:"17.2.2",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard",pretest:"npm run lint && npm run dts-check",test:"tap run --allow-empty-coverage --disable-coverage --timeout=60000","test:coverage":"tap run --show-full-coverage --timeout=60000 --coverage-report=text --coverage-report=lcov",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},homepage:"https://github.com/motdotla/dotenv#readme",funding:"https://dotenvx.com",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@types/node":"^18.11.3",decache:"^4.6.2",sinon:"^14.0.1",standard:"^17.0.0","standard-version":"^9.5.0",tap:"^19.2.0",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var st=Be((Vr,C)=>{"use strict";var Ie=te("fs"),se=te("path"),es=te("os"),ts=te("crypto"),ss=Je(),Te=ss.version,Qe=["\u{1F510} encrypt with Dotenvx: https://dotenvx.com","\u{1F510} prevent committing .env to code: https://dotenvx.com/precommit","\u{1F510} prevent building .env in docker: https://dotenvx.com/prebuild","\u{1F4E1} observe env with Radar: https://dotenvx.com/radar","\u{1F4E1} auto-backup env with Radar: https://dotenvx.com/radar","\u{1F4E1} version env with Radar: https://dotenvx.com/radar","\u{1F6E0}\uFE0F run anywhere with `dotenvx run -- yourcommand`","\u2699\uFE0F specify custom .env file path with { path: '/custom/path/.env' }","\u2699\uFE0F enable debug logging with { debug: true }","\u2699\uFE0F override existing env vars with { override: true }","\u2699\uFE0F suppress all logs with { quiet: true }","\u2699\uFE0F write to custom object with { processEnv: myObject }","\u2699\uFE0F load multiple .env files with { path: ['.env.local', '.env'] }"];function rs(){return Qe[Math.floor(Math.random()*Qe.length)]}function j(e){return typeof e=="string"?!["false","0","no","off",""].includes(e.toLowerCase()):!!e}function is(){return process.stdout.isTTY}function ns(e){return is()?`\x1B[2m${e}\x1B[0m`:e}var os=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function as(e){let t={},s=e.toString();s=s.replace(/\r\n?/mg,`
|
|
7
7
|
`);let i;for(;(i=os.exec(s))!=null;){let r=i[1],n=i[2]||"";n=n.trim();let o=n[0];n=n.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),o==='"'&&(n=n.replace(/\\n/g,`
|
|
8
|
-
`),n=n.replace(/\\r/g,"\r")),t[r]=n}return t}function cs(e){e=e||{};let t=tt(e);e.path=t;let s=E.configDotenv(e);if(!s.parsed){let o=new Error(`MISSING_DATA: Cannot parse ${t} for an unknown reason`);throw o.code="MISSING_DATA",o}let i=et(e).split(","),r=i.length,n;for(let o=0;o<r;o++)try{let a=i[o].trim(),c=ds(s,a);n=E.decrypt(c.ciphertext,c.key);break}catch(a){if(o+1>=r)throw a}return E.parse(n)}function ls(e){console.error(`[dotenv@${Te}][WARN] ${e}`)}function U(e){console.log(`[dotenv@${Te}][DEBUG] ${e}`)}function Ze(e){console.log(`[dotenv@${Te}] ${e}`)}function et(e){return e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0?e.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function ds(e,t){let s;try{s=new URL(t)}catch(a){if(a.code==="ERR_INVALID_URL"){let c=new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw c.code="INVALID_DOTENV_KEY",c}throw a}let i=s.password;if(!i){let a=new Error("INVALID_DOTENV_KEY: Missing key part");throw a.code="INVALID_DOTENV_KEY",a}let r=s.searchParams.get("environment");if(!r){let a=new Error("INVALID_DOTENV_KEY: Missing environment part");throw a.code="INVALID_DOTENV_KEY",a}let n=`DOTENV_VAULT_${r.toUpperCase()}`,o=e.parsed[n];if(!o){let a=new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${n} in your .env.vault file.`);throw a.code="NOT_FOUND_DOTENV_ENVIRONMENT",a}return{ciphertext:o,key:i}}function tt(e){let t=null;if(e&&e.path&&e.path.length>0)if(Array.isArray(e.path))for(let s of e.path)Ie.existsSync(s)&&(t=s.endsWith(".vault")?s:`${s}.vault`);else t=e.path.endsWith(".vault")?e.path:`${e.path}.vault`;else t=se.resolve(process.cwd(),".env.vault");return Ie.existsSync(t)?t:null}function Xe(e){return e[0]==="~"?se.join(es.homedir(),e.slice(1)):e}function fs(e){let t=j(process.env.DOTENV_CONFIG_DEBUG||e&&e.debug),s=j(process.env.DOTENV_CONFIG_QUIET||e&&e.quiet);(t||!s)&&Ze("Loading env from encrypted .env.vault");let i=E._parseVault(e),r=process.env;return e&&e.processEnv!=null&&(r=e.processEnv),E.populate(r,i,e),{parsed:i}}function us(e){let t=se.resolve(process.cwd(),".env"),s="utf8",i=process.env;e&&e.processEnv!=null&&(i=e.processEnv);let r=j(i.DOTENV_CONFIG_DEBUG||e&&e.debug),n=j(i.DOTENV_CONFIG_QUIET||e&&e.quiet);e&&e.encoding?s=e.encoding:r&&U("No encoding is specified. UTF-8 is used by default");let o=[t];if(e&&e.path)if(!Array.isArray(e.path))o=[Xe(e.path)];else{o=[];for(let l of e.path)o.push(Xe(l))}let a,c={};for(let l of o)try{let d=E.parse(Ie.readFileSync(l,{encoding:s}));E.populate(c,d,e)}catch(d){r&&U(`Failed to load ${l} ${d.message}`),a=d}let f=E.populate(i,c,e);if(r=j(i.DOTENV_CONFIG_DEBUG||r),n=j(i.DOTENV_CONFIG_QUIET||n),r||!n){let l=Object.keys(f).length,d=[];for(let u of o)try{let h=se.relative(process.cwd(),u);d.push(h)}catch(h){r&&U(`Failed to load ${u} ${h.message}`),a=h}Ze(`injecting env (${l}) from ${d.join(",")} ${ns(`-- tip: ${rs()}`)}`)}return a?{parsed:c,error:a}:{parsed:c}}function ps(e){if(et(e).length===0)return E.configDotenv(e);let t=tt(e);return t?E._configVault(e):(ls(`You set DOTENV_KEY but you are missing a .env.vault file at ${t}. Did you forget to build it?`),E.configDotenv(e))}function hs(e,t){let s=Buffer.from(t.slice(-64),"hex"),i=Buffer.from(e,"base64"),r=i.subarray(0,12),n=i.subarray(-16);i=i.subarray(12,-16);try{let o=ts.createDecipheriv("aes-256-gcm",s,r);return o.setAuthTag(n),`${o.update(i)}${o.final()}`}catch(o){let a=o instanceof RangeError,c=o.message==="Invalid key length",f=o.message==="Unsupported state or unable to authenticate data";if(a||c){let l=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw l.code="INVALID_DOTENV_KEY",l}else if(f){let l=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw l.code="DECRYPTION_FAILED",l}else throw o}}function ms(e,t,s={}){let i=!!(s&&s.debug),r=!!(s&&s.override),n={};if(typeof t!="object"){let o=new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw o.code="OBJECT_REQUIRED",o}for(let o of Object.keys(t))Object.prototype.hasOwnProperty.call(e,o)?(r===!0&&(e[o]=t[o],n[o]=t[o]),i&&U(r===!0?`"${o}" is already defined and WAS overwritten`:`"${o}" is already defined and was NOT overwritten`)):(e[o]=t[o],n[o]=t[o]);return n}var E={configDotenv:us,_configVault:fs,_parseVault:cs,config:ps,decrypt:hs,parse:as,populate:ms};C.exports.configDotenv=E.configDotenv;C.exports._configVault=E._configVault;C.exports._parseVault=E._parseVault;C.exports.config=E.config;C.exports.decrypt=E.decrypt;C.exports.parse=E.parse;C.exports.populate=E.populate;C.exports=E});var zt=Xt(st(),1);import{existsSync as I,mkdirSync as vr,readdirSync as Er,readFileSync as br,unlinkSync as Dr}from"fs";import{basename as Rt,join as g,relative as At}from"path";import{stat as Ks}from"fs";import{stat as Hs,readdir as Gs}from"fs/promises";import{EventEmitter as qs}from"events";import*as p from"path";import{stat as gs,lstat as rt,readdir as _s,realpath as ws}from"fs/promises";import{Readable as ys}from"stream";import{resolve as it,relative as vs,join as Es,sep as bs}from"path";var N={FILE_TYPE:"files",DIR_TYPE:"directories",FILE_DIR_TYPE:"files_directories",EVERYTHING_TYPE:"all"},Re={root:".",fileFilter:e=>!0,directoryFilter:e=>!0,type:N.FILE_TYPE,lstat:!1,depth:2147483648,alwaysStat:!1,highWaterMark:4096};Object.freeze(Re);var ct="READDIRP_RECURSIVE_ERROR",Ds=new Set(["ENOENT","EPERM","EACCES","ELOOP",ct]),nt=[N.DIR_TYPE,N.EVERYTHING_TYPE,N.FILE_DIR_TYPE,N.FILE_TYPE],xs=new Set([N.DIR_TYPE,N.EVERYTHING_TYPE,N.FILE_DIR_TYPE]),Ns=new Set([N.EVERYTHING_TYPE,N.FILE_DIR_TYPE,N.FILE_TYPE]),Ps=e=>Ds.has(e.code),Is=process.platform==="win32",ot=e=>!0,at=e=>{if(e===void 0)return ot;if(typeof e=="function")return e;if(typeof e=="string"){let t=e.trim();return s=>s.basename===t}if(Array.isArray(e)){let t=e.map(s=>s.trim());return s=>t.some(i=>s.basename===i)}return ot},Ae=class extends ys{constructor(t={}){super({objectMode:!0,autoDestroy:!0,highWaterMark:t.highWaterMark});let s={...Re,...t},{root:i,type:r}=s;this._fileFilter=at(s.fileFilter),this._directoryFilter=at(s.directoryFilter);let n=s.lstat?rt:gs;Is?this._stat=o=>n(o,{bigint:!0}):this._stat=n,this._maxDepth=s.depth??Re.depth,this._wantsDir=r?xs.has(r):!1,this._wantsFile=r?Ns.has(r):!1,this._wantsEverything=r===N.EVERYTHING_TYPE,this._root=it(i),this._isDirent=!s.alwaysStat,this._statsProp=this._isDirent?"dirent":"stats",this._rdOptions={encoding:"utf8",withFileTypes:this._isDirent},this.parents=[this._exploreDir(i,1)],this.reading=!1,this.parent=void 0}async _read(t){if(!this.reading){this.reading=!0;try{for(;!this.destroyed&&t>0;){let s=this.parent,i=s&&s.files;if(i&&i.length>0){let{path:r,depth:n}=s,o=i.splice(0,t).map(c=>this._formatEntry(c,r)),a=await Promise.all(o);for(let c of a){if(!c)continue;if(this.destroyed)return;let f=await this._getEntryType(c);f==="directory"&&this._directoryFilter(c)?(n<=this._maxDepth&&this.parents.push(this._exploreDir(c.fullPath,n+1)),this._wantsDir&&(this.push(c),t--)):(f==="file"||this._includeAsFile(c))&&this._fileFilter(c)&&this._wantsFile&&(this.push(c),t--)}}else{let r=this.parents.pop();if(!r){this.push(null);break}if(this.parent=await r,this.destroyed)return}}}catch(s){this.destroy(s)}finally{this.reading=!1}}}async _exploreDir(t,s){let i;try{i=await _s(t,this._rdOptions)}catch(r){this._onError(r)}return{files:i,depth:s,path:t}}async _formatEntry(t,s){let i,r=this._isDirent?t.name:t;try{let n=it(Es(s,r));i={path:vs(this._root,n),fullPath:n,basename:r},i[this._statsProp]=this._isDirent?t:await this._stat(n)}catch(n){this._onError(n);return}return i}_onError(t){Ps(t)&&!this.destroyed?this.emit("warn",t):this.destroy(t)}async _getEntryType(t){if(!t&&this._statsProp in t)return"";let s=t[this._statsProp];if(s.isFile())return"file";if(s.isDirectory())return"directory";if(s&&s.isSymbolicLink()){let i=t.fullPath;try{let r=await ws(i),n=await rt(r);if(n.isFile())return"file";if(n.isDirectory()){let o=r.length;if(i.startsWith(r)&&i.substr(o,1)===bs){let a=new Error(`Circular symlink detected: "${i}" points to "${r}"`);return a.code=ct,this._onError(a)}return"directory"}}catch(r){return this._onError(r),""}}}_includeAsFile(t){let s=t&&t[this._statsProp];return s&&this._wantsEverything&&!s.isDirectory()}};function lt(e,t={}){let s=t.entryType||t.type;if(s==="both"&&(s=N.FILE_DIR_TYPE),s&&(t.type=s),e){if(typeof e!="string")throw new TypeError("readdirp: root argument must be a string. Usage: readdirp(root, options)");if(s&&!nt.includes(s))throw new Error(`readdirp: Invalid type passed. Use one of ${nt.join(", ")}`)}else throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");return t.root=e,new Ae(t)}import{watchFile as Ts,unwatchFile as dt,watch as Rs}from"fs";import{open as As,stat as ut,lstat as Cs,realpath as Ce}from"fs/promises";import*as w from"path";import{type as Ss}from"os";var ks="data",Fe="end",pt="close",ae=()=>{};var ce=process.platform,Le=ce==="win32",Fs=ce==="darwin",Ls=ce==="linux",Os=ce==="freebsd",ht=Ss()==="OS400",y={ALL:"all",READY:"ready",ADD:"add",CHANGE:"change",ADD_DIR:"addDir",UNLINK:"unlink",UNLINK_DIR:"unlinkDir",RAW:"raw",ERROR:"error"},P=y,$s="watch",js={lstat:Cs,stat:ut},O="listeners",re="errHandlers",W="rawEmitters",Ws=[O,re,W],Ms=new Set(["3dm","3ds","3g2","3gp","7z","a","aac","adp","afdesign","afphoto","afpub","ai","aif","aiff","alz","ape","apk","appimage","ar","arj","asf","au","avi","bak","baml","bh","bin","bk","bmp","btif","bz2","bzip2","cab","caf","cgm","class","cmx","cpio","cr2","cur","dat","dcm","deb","dex","djvu","dll","dmg","dng","doc","docm","docx","dot","dotm","dra","DS_Store","dsk","dts","dtshd","dvb","dwg","dxf","ecelp4800","ecelp7470","ecelp9600","egg","eol","eot","epub","exe","f4v","fbs","fh","fla","flac","flatpak","fli","flv","fpx","fst","fvt","g3","gh","gif","graffle","gz","gzip","h261","h263","h264","icns","ico","ief","img","ipa","iso","jar","jpeg","jpg","jpgv","jpm","jxr","key","ktx","lha","lib","lvp","lz","lzh","lzma","lzo","m3u","m4a","m4v","mar","mdi","mht","mid","midi","mj2","mka","mkv","mmr","mng","mobi","mov","movie","mp3","mp4","mp4a","mpeg","mpg","mpga","mxu","nef","npx","numbers","nupkg","o","odp","ods","odt","oga","ogg","ogv","otf","ott","pages","pbm","pcx","pdb","pdf","pea","pgm","pic","png","pnm","pot","potm","potx","ppa","ppam","ppm","pps","ppsm","ppsx","ppt","pptm","pptx","psd","pya","pyc","pyo","pyv","qt","rar","ras","raw","resources","rgb","rip","rlc","rmf","rmvb","rpm","rtf","rz","s3m","s7z","scpt","sgi","shar","snap","sil","sketch","slk","smv","snk","so","stl","suo","sub","swf","tar","tbz","tbz2","tga","tgz","thmx","tif","tiff","tlz","ttc","ttf","txz","udf","uvh","uvi","uvm","uvp","uvs","uvu","viv","vob","war","wav","wax","wbmp","wdp","weba","webm","webp","whl","wim","wm","wma","wmv","wmx","woff","woff2","wrm","wvx","xbm","xif","xla","xlam","xls","xlsb","xlsm","xlsx","xlt","xltm","xltx","xm","xmind","xpi","xpm","xwd","xz","z","zip","zipx"]),Vs=e=>Ms.has(w.extname(e).slice(1).toLowerCase()),ke=(e,t)=>{e instanceof Set?e.forEach(t):t(e)},K=(e,t,s)=>{let i=e[t];i instanceof Set||(e[t]=i=new Set([i])),i.add(s)},Ys=e=>t=>{let s=e[t];s instanceof Set?s.clear():delete e[t]},H=(e,t,s)=>{let i=e[t];i instanceof Set?i.delete(s):i===s&&delete e[t]},mt=e=>e instanceof Set?e.size===0:!e,ie=new Map;function ft(e,t,s,i,r){let n=(o,a)=>{s(e),r(o,a,{watchedPath:e}),a&&e!==a&&ne(w.resolve(e,a),O,w.join(e,a))};try{return Rs(e,{persistent:t.persistent},n)}catch(o){i(o);return}}var ne=(e,t,s,i,r)=>{let n=ie.get(e);n&&ke(n[t],o=>{o(s,i,r)})},zs=(e,t,s,i)=>{let{listener:r,errHandler:n,rawEmitter:o}=i,a=ie.get(t),c;if(!s.persistent)return c=ft(e,s,r,n,o),c?c.close.bind(c):void 0;if(a)K(a,O,r),K(a,re,n),K(a,W,o);else{if(c=ft(e,s,ne.bind(null,t,O),n,ne.bind(null,t,W)),!c)return;c.on(P.ERROR,async f=>{let l=ne.bind(null,t,re);if(a&&(a.watcherUnusable=!0),Le&&f.code==="EPERM")try{await(await As(e,"r")).close(),l(f)}catch{}else l(f)}),a={listeners:r,errHandlers:n,rawEmitters:o,watcher:c},ie.set(t,a)}return()=>{H(a,O,r),H(a,re,n),H(a,W,o),mt(a.listeners)&&(a.watcher.close(),ie.delete(t),Ws.forEach(Ys(a)),a.watcher=void 0,Object.freeze(a))}},Se=new Map,Us=(e,t,s,i)=>{let{listener:r,rawEmitter:n}=i,o=Se.get(t),a=o&&o.options;return a&&(a.persistent<s.persistent||a.interval>s.interval)&&(dt(t),o=void 0),o?(K(o,O,r),K(o,W,n)):(o={listeners:r,rawEmitters:n,options:s,watcher:Ts(t,s,(c,f)=>{ke(o.rawEmitters,d=>{d(P.CHANGE,t,{curr:c,prev:f})});let l=c.mtimeMs;(c.size!==f.size||l>f.mtimeMs||l===0)&&ke(o.listeners,d=>d(e,c))})},Se.set(t,o)),()=>{H(o,O,r),H(o,W,n),mt(o.listeners)&&(Se.delete(t),dt(t),o.options=o.watcher=void 0,Object.freeze(o))}},oe=class{constructor(t){this.fsw=t,this._boundHandleError=s=>t._handleError(s)}_watchWithNodeFs(t,s){let i=this.fsw.options,r=w.dirname(t),n=w.basename(t);this.fsw._getWatchedDir(r).add(n);let a=w.resolve(t),c={persistent:i.persistent};s||(s=ae);let f;if(i.usePolling){let l=i.interval!==i.binaryInterval;c.interval=l&&Vs(n)?i.binaryInterval:i.interval,f=Us(t,a,c,{listener:s,rawEmitter:this.fsw._emitRaw})}else f=zs(t,a,c,{listener:s,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw});return f}_handleFile(t,s,i){if(this.fsw.closed)return;let r=w.dirname(t),n=w.basename(t),o=this.fsw._getWatchedDir(r),a=s;if(o.has(n))return;let c=async(l,d)=>{if(this.fsw._throttle($s,t,5)){if(!d||d.mtimeMs===0)try{let u=await ut(t);if(this.fsw.closed)return;let h=u.atimeMs,v=u.mtimeMs;if((!h||h<=v||v!==a.mtimeMs)&&this.fsw._emit(P.CHANGE,t,u),(Fs||Ls||Os)&&a.ino!==u.ino){this.fsw._closeFile(l),a=u;let L=this._watchWithNodeFs(t,c);L&&this.fsw._addPathCloser(l,L)}else a=u}catch{this.fsw._remove(r,n)}else if(o.has(n)){let u=d.atimeMs,h=d.mtimeMs;(!u||u<=h||h!==a.mtimeMs)&&this.fsw._emit(P.CHANGE,t,d),a=d}}},f=this._watchWithNodeFs(t,c);if(!(i&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(t)){if(!this.fsw._throttle(P.ADD,t,0))return;this.fsw._emit(P.ADD,t,s)}return f}async _handleSymlink(t,s,i,r){if(this.fsw.closed)return;let n=t.fullPath,o=this.fsw._getWatchedDir(s);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let a;try{a=await Ce(i)}catch{return this.fsw._emitReady(),!0}return this.fsw.closed?void 0:(o.has(r)?this.fsw._symlinkPaths.get(n)!==a&&(this.fsw._symlinkPaths.set(n,a),this.fsw._emit(P.CHANGE,i,t.stats)):(o.add(r),this.fsw._symlinkPaths.set(n,a),this.fsw._emit(P.ADD,i,t.stats)),this.fsw._emitReady(),!0)}if(this.fsw._symlinkPaths.has(n))return!0;this.fsw._symlinkPaths.set(n,!0)}_handleRead(t,s,i,r,n,o,a){if(t=w.join(t,""),a=this.fsw._throttle("readdir",t,1e3),!a)return;let c=this.fsw._getWatchedDir(i.path),f=new Set,l=this.fsw._readdirp(t,{fileFilter:d=>i.filterPath(d),directoryFilter:d=>i.filterDir(d)});if(l)return l.on(ks,async d=>{if(this.fsw.closed){l=void 0;return}let u=d.path,h=w.join(t,u);if(f.add(u),!(d.stats.isSymbolicLink()&&await this._handleSymlink(d,t,h,u))){if(this.fsw.closed){l=void 0;return}(u===r||!r&&!c.has(u))&&(this.fsw._incrReadyCount(),h=w.join(n,w.relative(n,h)),this._addToNodeFs(h,s,i,o+1))}}).on(P.ERROR,this._boundHandleError),new Promise((d,u)=>{if(!l)return u();l.once(Fe,()=>{if(this.fsw.closed){l=void 0;return}let h=a?a.clear():!1;d(void 0),c.getChildren().filter(v=>v!==t&&!f.has(v)).forEach(v=>{this.fsw._remove(t,v)}),l=void 0,h&&this._handleRead(t,!1,i,r,n,o,a)})})}async _handleDir(t,s,i,r,n,o,a){let c=this.fsw._getWatchedDir(w.dirname(t)),f=c.has(w.basename(t));!(i&&this.fsw.options.ignoreInitial)&&!n&&!f&&this.fsw._emit(P.ADD_DIR,t,s),c.add(w.basename(t)),this.fsw._getWatchedDir(t);let l,d,u=this.fsw.options.depth;if((u==null||r<=u)&&!this.fsw._symlinkPaths.has(a)){if(!n&&(await this._handleRead(t,i,o,n,t,r,l),this.fsw.closed))return;d=this._watchWithNodeFs(t,(h,v)=>{v&&v.mtimeMs===0||this._handleRead(h,!1,o,n,t,r,l)})}return d}async _addToNodeFs(t,s,i,r,n){let o=this.fsw._emitReady;if(this.fsw._isIgnored(t)||this.fsw.closed)return o(),!1;let a=this.fsw._getWatchHelpers(t);i&&(a.filterPath=c=>i.filterPath(c),a.filterDir=c=>i.filterDir(c));try{let c=await js[a.statMethod](a.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(a.watchPath,c))return o(),!1;let f=this.fsw.options.followSymlinks,l;if(c.isDirectory()){let d=w.resolve(t),u=f?await Ce(t):t;if(this.fsw.closed||(l=await this._handleDir(a.watchPath,c,s,r,n,a,u),this.fsw.closed))return;d!==u&&u!==void 0&&this.fsw._symlinkPaths.set(d,u)}else if(c.isSymbolicLink()){let d=f?await Ce(t):t;if(this.fsw.closed)return;let u=w.dirname(a.watchPath);if(this.fsw._getWatchedDir(u).add(a.watchPath),this.fsw._emit(P.ADD,a.watchPath,c),l=await this._handleDir(u,c,s,r,t,a,d),this.fsw.closed)return;d!==void 0&&this.fsw._symlinkPaths.set(w.resolve(t),d)}else l=this._handleFile(a.watchPath,c,s);return o(),l&&this.fsw._addPathCloser(t,l),!1}catch(c){if(this.fsw._handleError(c))return o(),t}}};var Oe="/",Bs="//",Et=".",Js="..",Qs="string",Xs=/\\/g,gt=/\/\//,Zs=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/,er=/^\.[/\\]/;function le(e){return Array.isArray(e)?e:[e]}var $e=e=>typeof e=="object"&&e!==null&&!(e instanceof RegExp);function tr(e){return typeof e=="function"?e:typeof e=="string"?t=>e===t:e instanceof RegExp?t=>e.test(t):typeof e=="object"&&e!==null?t=>{if(e.path===t)return!0;if(e.recursive){let s=p.relative(e.path,t);return s?!s.startsWith("..")&&!p.isAbsolute(s):!1}return!1}:()=>!1}function sr(e){if(typeof e!="string")throw new Error("string expected");e=p.normalize(e),e=e.replace(/\\/g,"/");let t=!1;e.startsWith("//")&&(t=!0);let s=/\/\//;for(;e.match(s);)e=e.replace(s,"/");return t&&(e="/"+e),e}function _t(e,t,s){let i=sr(t);for(let r=0;r<e.length;r++){let n=e[r];if(n(i,s))return!0}return!1}function rr(e,t){if(e==null)throw new TypeError("anymatch: specify first argument");let i=le(e).map(r=>tr(r));return t==null?(r,n)=>_t(i,r,n):_t(i,t)}var wt=e=>{let t=le(e).flat();if(!t.every(s=>typeof s===Qs))throw new TypeError(`Non-string provided as watch path: ${t}`);return t.map(bt)},yt=e=>{let t=e.replace(Xs,Oe),s=!1;for(t.startsWith(Bs)&&(s=!0);t.match(gt);)t=t.replace(gt,Oe);return s&&(t=Oe+t),t},bt=e=>yt(p.normalize(yt(e))),vt=(e="")=>t=>typeof t=="string"?bt(p.isAbsolute(t)?t:p.join(e,t)):t,ir=(e,t)=>p.isAbsolute(e)?e:p.join(t,e),nr=Object.freeze(new Set),je=class{constructor(t,s){this.path=t,this._removeWatcher=s,this.items=new Set}add(t){let{items:s}=this;s&&t!==Et&&t!==Js&&s.add(t)}async remove(t){let{items:s}=this;if(!s||(s.delete(t),s.size>0))return;let i=this.path;try{await Gs(i)}catch{this._removeWatcher&&this._removeWatcher(p.dirname(i),p.basename(i))}}has(t){let{items:s}=this;if(s)return s.has(t)}getChildren(){let{items:t}=this;return t?[...t.values()]:[]}dispose(){this.items.clear(),this.path="",this._removeWatcher=ae,this.items=nr,Object.freeze(this)}},or="stat",ar="lstat",We=class{constructor(t,s,i){this.fsw=i;let r=t;this.path=t=t.replace(er,""),this.watchPath=r,this.fullWatchPath=p.resolve(r),this.dirParts=[],this.dirParts.forEach(n=>{n.length>1&&n.pop()}),this.followSymlinks=s,this.statMethod=s?or:ar}entryPath(t){return p.join(this.watchPath,p.relative(this.watchPath,t.fullPath))}filterPath(t){let{stats:s}=t;if(s&&s.isSymbolicLink())return this.filterDir(t);let i=this.entryPath(t);return this.fsw._isntIgnored(i,s)&&this.fsw._hasReadPermissions(s)}filterDir(t){return this.fsw._isntIgnored(this.entryPath(t),t.stats)}},de=class extends qs{constructor(t={}){super(),this.closed=!1,this._closers=new Map,this._ignoredPaths=new Set,this._throttled=new Map,this._streams=new Set,this._symlinkPaths=new Map,this._watched=new Map,this._pendingWrites=new Map,this._pendingUnlinks=new Map,this._readyCount=0,this._readyEmitted=!1;let s=t.awaitWriteFinish,i={stabilityThreshold:2e3,pollInterval:100},r={persistent:!0,ignoreInitial:!1,ignorePermissionErrors:!1,interval:100,binaryInterval:300,followSymlinks:!0,usePolling:!1,atomic:!0,...t,ignored:t.ignored?le(t.ignored):le([]),awaitWriteFinish:s===!0?i:typeof s=="object"?{...i,...s}:!1};ht&&(r.usePolling=!0),r.atomic===void 0&&(r.atomic=!r.usePolling);let n=process.env.CHOKIDAR_USEPOLLING;if(n!==void 0){let c=n.toLowerCase();c==="false"||c==="0"?r.usePolling=!1:c==="true"||c==="1"?r.usePolling=!0:r.usePolling=!!c}let o=process.env.CHOKIDAR_INTERVAL;o&&(r.interval=Number.parseInt(o,10));let a=0;this._emitReady=()=>{a++,a>=this._readyCount&&(this._emitReady=ae,this._readyEmitted=!0,process.nextTick(()=>this.emit(y.READY)))},this._emitRaw=(...c)=>this.emit(y.RAW,...c),this._boundRemove=this._remove.bind(this),this.options=r,this._nodeFsHandler=new oe(this),Object.freeze(r)}_addIgnoredPath(t){if($e(t)){for(let s of this._ignoredPaths)if($e(s)&&s.path===t.path&&s.recursive===t.recursive)return}this._ignoredPaths.add(t)}_removeIgnoredPath(t){if(this._ignoredPaths.delete(t),typeof t=="string")for(let s of this._ignoredPaths)$e(s)&&s.path===t&&this._ignoredPaths.delete(s)}add(t,s,i){let{cwd:r}=this.options;this.closed=!1,this._closePromise=void 0;let n=wt(t);return r&&(n=n.map(o=>ir(o,r))),n.forEach(o=>{this._removeIgnoredPath(o)}),this._userIgnored=void 0,this._readyCount||(this._readyCount=0),this._readyCount+=n.length,Promise.all(n.map(async o=>{let a=await this._nodeFsHandler._addToNodeFs(o,!i,void 0,0,s);return a&&this._emitReady(),a})).then(o=>{this.closed||o.forEach(a=>{a&&this.add(p.dirname(a),p.basename(s||a))})}),this}unwatch(t){if(this.closed)return this;let s=wt(t),{cwd:i}=this.options;return s.forEach(r=>{!p.isAbsolute(r)&&!this._closers.has(r)&&(i&&(r=p.join(i,r)),r=p.resolve(r)),this._closePath(r),this._addIgnoredPath(r),this._watched.has(r)&&this._addIgnoredPath({path:r,recursive:!0}),this._userIgnored=void 0}),this}close(){if(this._closePromise)return this._closePromise;this.closed=!0,this.removeAllListeners();let t=[];return this._closers.forEach(s=>s.forEach(i=>{let r=i();r instanceof Promise&&t.push(r)})),this._streams.forEach(s=>s.destroy()),this._userIgnored=void 0,this._readyCount=0,this._readyEmitted=!1,this._watched.forEach(s=>s.dispose()),this._closers.clear(),this._watched.clear(),this._streams.clear(),this._symlinkPaths.clear(),this._throttled.clear(),this._closePromise=t.length?Promise.all(t).then(()=>{}):Promise.resolve(),this._closePromise}getWatched(){let t={};return this._watched.forEach((s,i)=>{let n=(this.options.cwd?p.relative(this.options.cwd,i):i)||Et;t[n]=s.getChildren().sort()}),t}emitWithAll(t,s){this.emit(t,...s),t!==y.ERROR&&this.emit(y.ALL,t,...s)}async _emit(t,s,i){if(this.closed)return;let r=this.options;Le&&(s=p.normalize(s)),r.cwd&&(s=p.relative(r.cwd,s));let n=[s];i!=null&&n.push(i);let o=r.awaitWriteFinish,a;if(o&&(a=this._pendingWrites.get(s)))return a.lastChange=new Date,this;if(r.atomic){if(t===y.UNLINK)return this._pendingUnlinks.set(s,[t,...n]),setTimeout(()=>{this._pendingUnlinks.forEach((c,f)=>{this.emit(...c),this.emit(y.ALL,...c),this._pendingUnlinks.delete(f)})},typeof r.atomic=="number"?r.atomic:100),this;t===y.ADD&&this._pendingUnlinks.has(s)&&(t=y.CHANGE,this._pendingUnlinks.delete(s))}if(o&&(t===y.ADD||t===y.CHANGE)&&this._readyEmitted){let c=(f,l)=>{f?(t=y.ERROR,n[0]=f,this.emitWithAll(t,n)):l&&(n.length>1?n[1]=l:n.push(l),this.emitWithAll(t,n))};return this._awaitWriteFinish(s,o.stabilityThreshold,t,c),this}if(t===y.CHANGE&&!this._throttle(y.CHANGE,s,50))return this;if(r.alwaysStat&&i===void 0&&(t===y.ADD||t===y.ADD_DIR||t===y.CHANGE)){let c=r.cwd?p.join(r.cwd,s):s,f;try{f=await Hs(c)}catch{}if(!f||this.closed)return;n.push(f)}return this.emitWithAll(t,n),this}_handleError(t){let s=t&&t.code;return t&&s!=="ENOENT"&&s!=="ENOTDIR"&&(!this.options.ignorePermissionErrors||s!=="EPERM"&&s!=="EACCES")&&this.emit(y.ERROR,t),t||this.closed}_throttle(t,s,i){this._throttled.has(t)||this._throttled.set(t,new Map);let r=this._throttled.get(t);if(!r)throw new Error("invalid throttle");let n=r.get(s);if(n)return n.count++,!1;let o,a=()=>{let f=r.get(s),l=f?f.count:0;return r.delete(s),clearTimeout(o),f&&clearTimeout(f.timeoutObject),l};o=setTimeout(a,i);let c={timeoutObject:o,clear:a,count:0};return r.set(s,c),c}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(t,s,i,r){let n=this.options.awaitWriteFinish;if(typeof n!="object")return;let o=n.pollInterval,a,c=t;this.options.cwd&&!p.isAbsolute(t)&&(c=p.join(this.options.cwd,t));let f=new Date,l=this._pendingWrites;function d(u){Ks(c,(h,v)=>{if(h||!l.has(t)){h&&h.code!=="ENOENT"&&r(h);return}let L=Number(new Date);u&&v.size!==u.size&&(l.get(t).lastChange=L);let z=l.get(t);L-z.lastChange>=s?(l.delete(t),r(void 0,v)):a=setTimeout(d,o,v)})}l.has(t)||(l.set(t,{lastChange:f,cancelWait:()=>(l.delete(t),clearTimeout(a),i)}),a=setTimeout(d,o))}_isIgnored(t,s){if(this.options.atomic&&Zs.test(t))return!0;if(!this._userIgnored){let{cwd:i}=this.options,n=(this.options.ignored||[]).map(vt(i)),a=[...[...this._ignoredPaths].map(vt(i)),...n];this._userIgnored=rr(a,void 0)}return this._userIgnored(t,s)}_isntIgnored(t,s){return!this._isIgnored(t,s)}_getWatchHelpers(t){return new We(t,this.options.followSymlinks,this)}_getWatchedDir(t){let s=p.resolve(t);return this._watched.has(s)||this._watched.set(s,new je(s,this._boundRemove)),this._watched.get(s)}_hasReadPermissions(t){return this.options.ignorePermissionErrors?!0:!!(Number(t.mode)&256)}_remove(t,s,i){let r=p.join(t,s),n=p.resolve(r);if(i=i??(this._watched.has(r)||this._watched.has(n)),!this._throttle("remove",r,100))return;!i&&this._watched.size===1&&this.add(t,s,!0),this._getWatchedDir(r).getChildren().forEach(u=>this._remove(r,u));let c=this._getWatchedDir(t),f=c.has(s);c.remove(s),this._symlinkPaths.has(n)&&this._symlinkPaths.delete(n);let l=r;if(this.options.cwd&&(l=p.relative(this.options.cwd,r)),this.options.awaitWriteFinish&&this._pendingWrites.has(l)&&this._pendingWrites.get(l).cancelWait()===y.ADD)return;this._watched.delete(r),this._watched.delete(n);let d=i?y.UNLINK_DIR:y.UNLINK;f&&!this._isIgnored(r)&&this._emit(d,r),this._closePath(r)}_closePath(t){this._closeFile(t);let s=p.dirname(t);this._getWatchedDir(s).remove(p.basename(t))}_closeFile(t){let s=this._closers.get(t);s&&(s.forEach(i=>i()),this._closers.delete(t))}_addPathCloser(t,s){if(!s)return;let i=this._closers.get(t);i||(i=[],this._closers.set(t,i)),i.push(s)}_readdirp(t,s){if(this.closed)return;let i={type:y.ALL,alwaysStat:!0,lstat:!0,...s,depth:0},r=lt(t,i);return this._streams.add(r),r.once(pt,()=>{r=void 0}),r.once(Fe,()=>{r&&(this._streams.delete(r),r=void 0)}),r}};function cr(e,t={}){let s=new de(t);return s.add(e),s}var Dt={watch:cr,FSWatcher:de};import{copyFileSync as lr,existsSync as S,mkdirSync as dr,readdirSync as Ve,readFileSync as fr,writeFileSync as ur}from"fs";import{basename as xt,dirname as Pt,extname as pr,join as T,normalize as hr,relative as M,resolve as Nt,sep as mr}from"path";var gr=/import\s+(?:(?:{[^}]*})|(?:[^{}\s,]*))?\s*(?:,\s*(?:{[^}]*}))?\s*from\s+['"]([./]+[^'"]*)['"]/g,_r=/import\s+(?:(?:{[^}]*})|(?:[^{}\s,]*))?\s*(?:,\s*(?:{[^}]*}))?\s*from\s+['"](@\/[^'"]*)['"]/g,wr=/import\s*\(\s*['"](@\/[^'"]*)['"]\s*\)/g,fe=/\.(js|jsx|ts|tsx)$/,Me=/^page\.(tsx|ts|jsx|js)$/i,G=(e,t)=>{let i=M(t,e).split(mr);i.pop();let r=i.filter(n=>!n.startsWith("("));return hr(r.join("/"))},ue=e=>{let t=new Map,s=i=>{if(S(i))for(let r of Ve(i,{withFileTypes:!0})){let n=T(i,r.name);if(r.isDirectory()){s(n);continue}if(Me.test(r.name)){let o=G(n,e);t.set(o,n)}}};return s(e),t},yr=(e,t)=>{let s=e.replace(gr,(i,r)=>{if(r.startsWith(".")){let o=r.replace(fe,"").replace(/^(?:\.\.\/)+/,"");return i.replace(r,`${t}/${o}`)}return i});return s=s.replace(_r,(i,r)=>{let n=r.replace(/^@\//,"").replace(fe,"");return i.replace(r,`${t}/${n}`)}),s=s.replace(wr,(i,r)=>{let n=r.replace(/^@\//,"").replace(fe,"");return i.replace(r,`${t}/${n}`)}),s=s.replace(/dynamic\s*\(\s*\(\s*=>\s*import\s*\(\s*['"](@\/[^'"]*)['"]\s*\)\s*\)\s*\)/g,(i,r)=>{let n=r.replace(/^@\//,"").replace(fe,"");return i.replace(r,`${t}/${n}`)}),s};function pe(e){let t=e;for(;t!==Nt(t,"..");){let i=T(t,"turbo.json");if(S(i))return t;t=Nt(t,"..")}let s=T(e,"package.json");if(S(s))return e;throw new Error("\u274C Could not locate project root")}function he(e){let t=T(e,"src","app","[locale]");if(S(t))return t;let i=(n=>{let o=[];if(!S(n))return o;let a=(c,f=0)=>{if(!(f>4))try{let l=Ve(c,{withFileTypes:!0});for(let d of l){if(!d.isDirectory())continue;let u=T(c,d.name);if(d.name==="[locale]"&&Pt(u).endsWith(T("src","app"))){o.push(u);continue}a(u,f+1)}}catch{}};return a(n),o})(e);return i.length>0?i[0]:T(e,"apps","docs","src","app","[locale]")}var q=e=>{let t=[];if(!S(e))return t;let s=Ve(e,{withFileTypes:!0});for(let i of s){let r=T(e,i.name);i.isDirectory()?t.push(...q(r)):t.push(r)}return t},B=e=>S(e)?q(e).length===0:!0,Ye=(e,t,s,i,r,n,o=!0)=>{let a=xt(e);if(Me.test(a)){let c=G(t,r),f=i.get(c);if(f&&f!==t){o&&console.log(`\x1B[31mSkipped duplicate page:\x1B[0m ${M(n,t)} (collides with ${M(n,f)})`);return}}try{let c=Pt(t);S(c)||dr(c,{recursive:!0});let f=pr(e);if(s&&[".js",".jsx",".ts",".tsx"].includes(f)){let l=fr(e,"utf-8"),d=yr(l,s);ur(t,d)}else lr(e,t);if(o){let l=e.indexOf(T("src","app")),d;l!==-1?d=e.substring(l):e.startsWith(n)?d=M(n,e):d=e;let u=t.startsWith(n)?M(n,t):t;console.log(`\x1B[32mCopied:\x1B[0m ${d} \u2192 ${u}`)}if(Me.test(xt(t))){let l=G(t,r);i.set(l,t)}}catch(c){console.error(`\x1B[31mError copying file:\x1B[0m ${e}`,c)}},It=(e,t,s,i,r,n,o=!0)=>{if(!S(e)||B(e))return;let a=q(e);for(let c of a){let f=M(e,c),l=T(t,f);Ye(c,l,s,i,r,n,o)}};var Tt=e=>{let t=I(g(e,"src","vitnode.config.ts"));return I(g(e,"src","vitnode.api.config.ts"))&&!t?"api":t?"web":null},xr=(e,t,s,i)=>{let r=[],n=g(t,"apps");if(I(n)){let a=I(n)?Er(n,{withFileTypes:!0}).filter(c=>c.isDirectory()).map(c=>c.name):[];for(let c of a){let f=g(t,"apps",c),l=Tt(f);l==="web"?r.push({sourceDir:g(e,"src","app_admin"),destinationDir:g(f,"src","app","[locale]","admin","(auth)",g("(plugins)",`(${i})`))},{sourceDir:g(e,"src","app"),destinationDir:g(f,"src","app","[locale]","(main)",g("(plugins)",`(${i})`))},{sourceDir:g(e,"src","locales"),destinationDir:g(f,"src","locales",s)}):l==="api"&&r.push({sourceDir:g(e,"src","locales"),destinationDir:g(f,"src","locales",s)})}}else{let a=process.cwd(),c=Tt(a);c==="web"?r.push({sourceDir:g(e,"src","app_admin"),destinationDir:g(a,"src","app","[locale]","admin","(auth)",g("(plugins)",`(${i})`))},{sourceDir:g(e,"src","app"),destinationDir:g(a,"src","app","[locale]","(main)",g("(plugins)",`(${i})`))},{sourceDir:g(e,"src","locales"),destinationDir:g(a,"src","locales",s)}):c==="api"&&r.push({sourceDir:g(e,"src","locales"),destinationDir:g(a,"src","locales",s)})}return r},Nr=e=>{for(let{sourceDir:t,destinationDir:s}of e)I(t)&&!B(t)&&!I(s)&&vr(s,{recursive:!0})},Pr=(e,t,s,i)=>({copyFileWrapper:(o,a)=>{Ye(o,a,e,t,s,i)},removeFile:o=>{try{if(I(o)&&(Dr(o),console.log(`\x1B[33mRemoved:\x1B[0m ${o}`),/^page\.(tsx|ts|jsx|js)$/i.test(Rt(o)))){let a=G(o,s);t.get(a)===o&&t.delete(a)}}catch(a){console.error(`\x1B[31mError removing file:\x1B[0m ${o}`,a)}}}),Ir=(e,t,s)=>{if(!I(t)||t.includes(g("src","locales")))return;let r=q(t);for(let n of r){let o=At(t,n),a=g(e,o);I(a)||s(n)}},Tr=e=>t=>{let s=e.filter(({sourceDir:i})=>{let r=t.replace(/\\/g,"/"),n=i.replace(/\\/g,"/");return r===n||r.startsWith(`${n}/`)});if(s.length===0)throw new Error(`No matching source directory for: ${t}`);return s.map(i=>{let r=At(i.sourceDir,t);return g(i.destinationDir,r)})},Rr=(e,t,s,i)=>{let r=Dt.watch(e,{ignoreInitial:!1,persistent:!0});return r.on("add",n=>{t(n).forEach(a=>s(n,a))}).on("change",n=>{t(n).forEach(a=>s(n,a))}).on("unlink",n=>{t(n).forEach(a=>i(a))}).on("error",n=>{console.error("\x1B[31mWatcher error:\x1B[0m",n)}),r},Ct=({initMessage:e})=>{let t=process.cwd(),s=pe(t),i=he(s),r=ue(i),n=Rt(t);try{let u=g(t,"package.json");I(u)&&(n=JSON.parse(br(u,"utf-8")).name??"")}catch(u){console.error("\x1B[31mError reading package.json:\x1B[0m",u);return}let o=n.replace(/\//g,"-").replace(/@/g,""),a=xr(t,s,n,o);Nr(a);let{copyFileWrapper:c,removeFile:f}=Pr(n,r,i,s);for(let{sourceDir:u,destinationDir:h}of a)Ir(u,h,f);console.log(`${e} \x1B[34mWatching for changes in plugins...\x1B[0m`);let l=a.map(u=>u.sourceDir).filter(u=>I(u)),d=Tr(a);Rr(l,d,c,f)};import{count as Mt}from"drizzle-orm";import{relations as Ot}from"drizzle-orm";import{index as Ee,pgTable as $t}from"drizzle-orm/pg-core";import{pgTable as Ar}from"drizzle-orm/pg-core";var D=Ar("core_roles",e=>({id:e.serial().primaryKey(),createdAt:e.timestamp().notNull().defaultNow(),updatedAt:e.timestamp().notNull().$onUpdate(()=>new Date),protected:e.boolean().notNull().default(!1),default:e.boolean().notNull().default(!1),root:e.boolean().notNull().default(!1),guest:e.boolean().notNull().default(!1),color:e.varchar({length:19})})).enableRLS();import{relations as kt}from"drizzle-orm";import{index as Ft,pgTable as Lt}from"drizzle-orm/pg-core";import{relations as ye}from"drizzle-orm";import{index as ge,pgTable as ve}from"drizzle-orm/pg-core";import{relations as Cr}from"drizzle-orm";import{index as ze,pgTable as St}from"drizzle-orm/pg-core";var R=St("core_languages",e=>({id:e.serial().primaryKey(),code:e.varchar({length:32}).notNull().unique(),name:e.varchar({length:255}).notNull(),timezone:e.varchar({length:255}).notNull().default("UTC"),protected:e.boolean().notNull().default(!1),default:e.boolean().notNull().default(!1),enabled:e.boolean().notNull().default(!0),createdAt:e.timestamp().notNull().defaultNow(),updatedAt:e.timestamp().notNull().$onUpdate(()=>new Date),time24:e.boolean().notNull().default(!1)}),e=>[ze("core_languages_code_idx").on(e.code),ze("core_languages_name_idx").on(e.name)]).enableRLS(),me=St("core_languages_words",e=>({id:e.serial().primaryKey(),languageCode:e.varchar().notNull().references(()=>R.code,{onDelete:"cascade"}),pluginCode:e.varchar({length:50}).notNull(),itemId:e.integer().notNull(),value:e.text().notNull(),tableName:e.varchar({length:255}).notNull(),variable:e.varchar({length:255}).notNull()}),e=>[ze("core_languages_words_lang_code_idx").on(e.languageCode)]).enableRLS(),hi=Cr(me,({one:e})=>({language:e(R,{fields:[me.languageCode],references:[R.code]})}));var m=ve("core_users",e=>({id:e.serial().primaryKey(),nameCode:e.varchar({length:255}).notNull().unique(),name:e.varchar({length:255}).notNull().unique(),email:e.varchar({length:255}).notNull().unique(),password:e.varchar(),createdAt:e.timestamp().notNull().defaultNow(),newsletter:e.boolean().notNull().default(!1),avatarColor:e.varchar({length:6}).notNull(),emailVerified:e.boolean().notNull().default(!1),roleId:e.integer().references(()=>D.id).notNull(),birthday:e.timestamp(),ipAddress:e.varchar({length:40}).notNull(),language:e.varchar({length:32}).notNull().default("en").references(()=>R.code,{onDelete:"set default"})}),e=>[ge("core_users_name_code_idx").on(e.nameCode),ge("core_users_name_idx").on(e.name),ge("core_users_email_idx").on(e.email)]).enableRLS(),vi=ye(m,({one:e,many:t})=>({group:e(D,{fields:[m.roleId],references:[D.id]}),language:e(R,{fields:[m.language],references:[R.code]}),confirm_email:e(_e,{fields:[m.id],references:[_e.userId]}),sso:t(Ue),forgot_password:e(we,{fields:[m.id],references:[we.userId]})})),Ue=ve("core_users_sso",e=>({userId:e.integer().references(()=>m.id,{onDelete:"cascade"}).notNull(),providerId:e.varchar({length:255}).notNull(),providerAccountId:e.varchar({length:255}).notNull(),createdAt:e.timestamp().notNull().defaultNow(),updatedAt:e.timestamp().notNull().$onUpdate(()=>new Date)}),e=>[ge("core_users_sso_user_id_idx").on(e.userId)]).enableRLS(),Ei=ye(Ue,({one:e})=>({user:e(m,{fields:[Ue.userId],references:[m.id]})})),_e=ve("core_users_confirm_emails",e=>({id:e.serial().primaryKey(),userId:e.integer().references(()=>m.id,{onDelete:"cascade"}).notNull(),token:e.varchar({length:100}).notNull().unique(),createdAt:e.timestamp().notNull().defaultNow(),expiresAt:e.timestamp().notNull(),ipAddress:e.varchar({length:40}).notNull()})).enableRLS(),bi=ye(_e,({one:e})=>({user:e(m,{fields:[_e.userId],references:[m.id]})})),we=ve("core_users_forgot_password",e=>({id:e.serial().primaryKey(),userId:e.integer().references(()=>m.id,{onDelete:"cascade"}).notNull().unique(),token:e.varchar({length:100}).notNull().unique(),ipAddress:e.varchar({length:40}).notNull(),createdAt:e.timestamp().notNull().defaultNow(),expiresAt:e.timestamp().notNull()})).enableRLS(),Di=ye(we,({one:e})=>({user:e(m,{fields:[we.userId],references:[m.id]})}));var J=Lt("core_sessions",e=>({id:e.serial().primaryKey(),token:e.varchar({length:255}).notNull().unique(),userId:e.integer().notNull().references(()=>m.id,{onDelete:"cascade"}),createdAt:e.timestamp().notNull().defaultNow(),expiresAt:e.timestamp().notNull(),deviceId:e.integer().references(()=>k.id,{onDelete:"cascade"}).notNull()}),e=>[Ft("core_sessions_user_id_idx").on(e.userId)]).enableRLS(),Ti=kt(J,({one:e})=>({user:e(m,{fields:[J.userId],references:[m.id]}),device:e(k,{fields:[J.deviceId],references:[k.id]})})),k=Lt("core_sessions_known_devices",e=>({id:e.serial().primaryKey(),publicId:e.varchar({length:32}).notNull().unique(),ipAddress:e.varchar({length:40}).notNull(),userAgent:e.text().notNull(),lastSeen:e.timestamp().notNull().defaultNow()}),e=>[Ft("core_sessions_known_devices_ip_address_idx").on(e.ipAddress)]).enableRLS(),Ri=kt(k,({one:e})=>({session:e(J,{fields:[k.id],references:[J.deviceId]})}));var Q=$t("core_admin_permissions",e=>({id:e.serial().primaryKey(),roleId:e.integer().references(()=>D.id,{onDelete:"cascade"}),userId:e.integer().references(()=>m.id,{onDelete:"cascade"}),createdAt:e.timestamp().notNull().defaultNow(),updatedAt:e.timestamp().notNull().$onUpdate(()=>new Date),protected:e.boolean().notNull().default(!1)}),e=>[Ee("core_admin_permissions_role_id_idx").on(e.roleId),Ee("core_admin_permissions_user_id_idx").on(e.userId)]).enableRLS(),Oi=Ot(Q,({one:e})=>({group:e(D,{fields:[Q.roleId],references:[D.id]}),user:e(m,{fields:[Q.userId],references:[m.id]})})),Ke=$t("core_admin_sessions",e=>({id:e.serial().primaryKey(),token:e.varchar({length:255}).notNull().unique(),userId:e.integer().notNull().references(()=>m.id,{onDelete:"cascade"}),createdAt:e.timestamp().notNull().defaultNow(),lastSeen:e.timestamp().notNull().defaultNow(),expiresAt:e.timestamp().notNull(),deviceId:e.integer().references(()=>k.id,{onDelete:"cascade"}).notNull()}),e=>[Ee("core_admin_sessions_token_idx").on(e.token),Ee("core_admin_sessions_user_id_idx").on(e.userId)]).enableRLS(),$i=Ot(Ke,({one:e})=>({user:e(m,{fields:[Ke.userId],references:[m.id]}),device:e(k,{fields:[Ke.deviceId],references:[k.id]})}));import{relations as Sr}from"drizzle-orm";import{index as jt,pgTable as kr}from"drizzle-orm/pg-core";var X=kr("core_moderators_permissions",e=>({id:e.serial().primaryKey(),roleId:e.integer().references(()=>D.id,{onDelete:"cascade"}),userId:e.integer().references(()=>m.id,{onDelete:"cascade"}),createdAt:e.timestamp().notNull().defaultNow(),updatedAt:e.timestamp().notNull().$onUpdate(()=>new Date),protected:e.boolean().notNull().default(!1)}),e=>[jt("core_moderators_permissions_role_id_idx").on(e.roleId),jt("core_moderators_permissions_user_id_idx").on(e.userId)]).enableRLS(),zi=Sr(X,({one:e})=>({group:e(D,{fields:[X.roleId],references:[D.id]}),user:e(m,{fields:[X.userId],references:[m.id]})}));import{join as Fr}from"path";import{pathToFileURL as Lr}from"url";var $=async({type:e="config"})=>{let t=Fr(process.cwd(),"src",`vitnode.${e}.ts`);try{let i=await import(Lr(t).href);return e==="config"?i.vitNodeConfig:i.vitNodeApiConfig}catch(s){console.error("Failed to load config:",s),process.exit(1)}};import{existsSync as A,readdirSync as Or}from"fs";import{readFile as $r}from"fs/promises";import{join as _,relative as Wt}from"path";var V=async e=>{let t=process.cwd(),s=A(_(t,"src","vitnode.config.ts")),i=A(_(t,"src","vitnode.api.config.ts")),r;e==="--api"&&i?r=await $({type:"api.config"}):e==="--web"&&s?r=await $({}):i&&!s?r=await $({type:"api.config"}):s?r=await $({}):r={plugins:[]};let n=[...r.plugins.map(d=>d.pluginId),"@vitnode/core"],o=pe(process.cwd()),a=he(o),c=ue(a),f=process.cwd(),l=d=>{let u=process.cwd(),h=_(u,"node_modules",d);if(A(h))return h;if(o&&o!==u){let v=_(o,"node_modules",d);if(A(v))return v}return null};await Promise.all(n.map(async d=>{let u=l(d);if(!u){console.error(`\x1B[31mPlugin not found:\x1B[0m ${d} in node_modules`);return}let h="";try{let b=_(u,"package.json");A(b)&&(h=JSON.parse(await $r(b,"utf-8")).name??"")}catch(b){console.error(`\x1B[31mError reading package.json for ${d}:\x1B[0m`,b);return}let v=d.replace(/\//g,"-").replace(/@/g,""),L=b=>{let x=A(_(b,"src","vitnode.config.ts"));return A(_(b,"src","vitnode.api.config.ts"))&&!x?"api":x?"web":null},z=_(o,"apps"),He=A(z),ee=[];if(He){let b=A(z)?Or(z,{withFileTypes:!0}).filter(x=>x.isDirectory()).map(x=>x.name):[];for(let x of b){let F=_(o,"apps",x),Ge=L(F);if(Ge==="web"){let Pe=_(F,"src","app","[locale]","(main)",_("(plugins)",`(${v})`)),Ut=_(F,"src","app","[locale]","admin","(auth)",_("(plugins)",`(${v})`)),Kt=_(F,"src","locales",d);ee.push({sourceDir:_(u,"src","app_admin"),destinationDir:Ut},{sourceDir:_(u,"src","app"),destinationDir:Pe},{sourceDir:_(u,"src","locales"),destinationDir:Kt})}else if(Ge==="api"){let Pe=_(F,"src","locales",d);ee.push({sourceDir:_(u,"src","locales"),destinationDir:Pe})}}}else{let b=_(f,"src","app","[locale]","(main)",_("(plugins)",`(${v})`)),x=_(f,"src","app","[locale]","admin","(auth)",_("(plugins)",`(${v})`)),F=_(f,"src","locales",d);ee.push({sourceDir:_(u,"src","app_admin"),destinationDir:x},{sourceDir:_(u,"src","app"),destinationDir:b},{sourceDir:_(u,"src","locales"),destinationDir:F})}for(let{sourceDir:b,destinationDir:x}of ee)A(b)&&!B(b)&&(console.log(`\x1B[36mCopying ${d}:\x1B[0m ${Wt(o,b)} \u2192 ${Wt(o,x)}`),It(b,x,h,c,a,o,!1))}))};import{spawn as jr}from"child_process";var be=async(e,t=[])=>await new Promise((s,i)=>{let r=jr(e,t,{stdio:"inherit",shell:!0,env:process.env});r.on("error",n=>{i(n)}),r.on("close",n=>{n!==0?i(new Error(`Command failed with exit code ${n}`)):s(!0)})});var De=async()=>{try{await be("npm",["run","drizzle-kit","up"]),await be("npm",["run","drizzle-kit","generate"])}catch(e){console.error("\x1B[31m%s\x1B[0m",e),process.exit(1)}},xe=async()=>{try{await be("npm",["run","drizzle-kit","migrate"])}catch(e){console.error("\x1B[31m%s\x1B[0m",e),process.exit(1)}},Ne=async()=>{let t=(await $({type:"api.config"})).dbProvider,[s]=await t.select({count:Mt()}).from(D).limit(1),[i]=await t.select({count:Mt()}).from(R);if(i.count===0&&await t.insert(R).values([{code:"en",name:"English (USA)",default:!0,protected:!0,timezone:"America/New_York"}]),s.count===0){let r=await t.insert(D).values([{protected:!0,guest:!0},{protected:!0,default:!0},{protected:!0,color:"hsl(122, 80%, 45%)"},{protected:!0,root:!0,color:"hsl(0, 100%, 50%)"}]).returning({id:D.id});await t.insert(me).values([{languageCode:"en",pluginCode:"core",itemId:r[0].id,value:"Guest",tableName:"core_roles",variable:"name"},{languageCode:"en",pluginCode:"core",itemId:r[1].id,value:"Member",tableName:"core_roles",variable:"name"},{languageCode:"en",pluginCode:"core",itemId:r[2].id,value:"Moderator",tableName:"core_roles",variable:"name"},{languageCode:"en",pluginCode:"core",itemId:r[3].id,value:"Administrator",tableName:"core_roles",variable:"name"}]),await t.insert(X).values([{roleId:r[2].id,protected:!0},{roleId:r[3].id,protected:!0}]),await t.insert(Q).values({roleId:r[3].id,protected:!0})}},Vt=async({initMessage:e,flag:t})=>{let s=[];t==="--web"?s.push({label:"Prepare plugins files...",action:async()=>await V(t)}):t==="--api"?s.push({label:"Prepare plugins files...",action:async()=>await V(t)},{label:"Generate migrations...",action:De},{label:"Run migrations...",action:xe},{label:"Insert initial data...",action:Ne}):s.push({label:"Prepare plugins files...",action:async()=>await V(t)},{label:"Generate migrations...",action:De},{label:"Run migrations...",action:xe},{label:"Insert initial data...",action:Ne});for(let i=0;i<s.length;i++){let r=s[i],n=`[${i+1}/${s.length}]`;r.label==="Insert initial data..."?console.log(`
|
|
8
|
+
`),n=n.replace(/\\r/g,"\r")),t[r]=n}return t}function cs(e){e=e||{};let t=tt(e);e.path=t;let s=E.configDotenv(e);if(!s.parsed){let o=new Error(`MISSING_DATA: Cannot parse ${t} for an unknown reason`);throw o.code="MISSING_DATA",o}let i=et(e).split(","),r=i.length,n;for(let o=0;o<r;o++)try{let a=i[o].trim(),c=ds(s,a);n=E.decrypt(c.ciphertext,c.key);break}catch(a){if(o+1>=r)throw a}return E.parse(n)}function ls(e){console.error(`[dotenv@${Te}][WARN] ${e}`)}function U(e){console.log(`[dotenv@${Te}][DEBUG] ${e}`)}function Ze(e){console.log(`[dotenv@${Te}] ${e}`)}function et(e){return e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0?e.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function ds(e,t){let s;try{s=new URL(t)}catch(a){if(a.code==="ERR_INVALID_URL"){let c=new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw c.code="INVALID_DOTENV_KEY",c}throw a}let i=s.password;if(!i){let a=new Error("INVALID_DOTENV_KEY: Missing key part");throw a.code="INVALID_DOTENV_KEY",a}let r=s.searchParams.get("environment");if(!r){let a=new Error("INVALID_DOTENV_KEY: Missing environment part");throw a.code="INVALID_DOTENV_KEY",a}let n=`DOTENV_VAULT_${r.toUpperCase()}`,o=e.parsed[n];if(!o){let a=new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${n} in your .env.vault file.`);throw a.code="NOT_FOUND_DOTENV_ENVIRONMENT",a}return{ciphertext:o,key:i}}function tt(e){let t=null;if(e&&e.path&&e.path.length>0)if(Array.isArray(e.path))for(let s of e.path)Ie.existsSync(s)&&(t=s.endsWith(".vault")?s:`${s}.vault`);else t=e.path.endsWith(".vault")?e.path:`${e.path}.vault`;else t=se.resolve(process.cwd(),".env.vault");return Ie.existsSync(t)?t:null}function Xe(e){return e[0]==="~"?se.join(es.homedir(),e.slice(1)):e}function fs(e){let t=j(process.env.DOTENV_CONFIG_DEBUG||e&&e.debug),s=j(process.env.DOTENV_CONFIG_QUIET||e&&e.quiet);(t||!s)&&Ze("Loading env from encrypted .env.vault");let i=E._parseVault(e),r=process.env;return e&&e.processEnv!=null&&(r=e.processEnv),E.populate(r,i,e),{parsed:i}}function us(e){let t=se.resolve(process.cwd(),".env"),s="utf8",i=process.env;e&&e.processEnv!=null&&(i=e.processEnv);let r=j(i.DOTENV_CONFIG_DEBUG||e&&e.debug),n=j(i.DOTENV_CONFIG_QUIET||e&&e.quiet);e&&e.encoding?s=e.encoding:r&&U("No encoding is specified. UTF-8 is used by default");let o=[t];if(e&&e.path)if(!Array.isArray(e.path))o=[Xe(e.path)];else{o=[];for(let l of e.path)o.push(Xe(l))}let a,c={};for(let l of o)try{let d=E.parse(Ie.readFileSync(l,{encoding:s}));E.populate(c,d,e)}catch(d){r&&U(`Failed to load ${l} ${d.message}`),a=d}let f=E.populate(i,c,e);if(r=j(i.DOTENV_CONFIG_DEBUG||r),n=j(i.DOTENV_CONFIG_QUIET||n),r||!n){let l=Object.keys(f).length,d=[];for(let u of o)try{let h=se.relative(process.cwd(),u);d.push(h)}catch(h){r&&U(`Failed to load ${u} ${h.message}`),a=h}Ze(`injecting env (${l}) from ${d.join(",")} ${ns(`-- tip: ${rs()}`)}`)}return a?{parsed:c,error:a}:{parsed:c}}function ps(e){if(et(e).length===0)return E.configDotenv(e);let t=tt(e);return t?E._configVault(e):(ls(`You set DOTENV_KEY but you are missing a .env.vault file at ${t}. Did you forget to build it?`),E.configDotenv(e))}function hs(e,t){let s=Buffer.from(t.slice(-64),"hex"),i=Buffer.from(e,"base64"),r=i.subarray(0,12),n=i.subarray(-16);i=i.subarray(12,-16);try{let o=ts.createDecipheriv("aes-256-gcm",s,r);return o.setAuthTag(n),`${o.update(i)}${o.final()}`}catch(o){let a=o instanceof RangeError,c=o.message==="Invalid key length",f=o.message==="Unsupported state or unable to authenticate data";if(a||c){let l=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw l.code="INVALID_DOTENV_KEY",l}else if(f){let l=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw l.code="DECRYPTION_FAILED",l}else throw o}}function ms(e,t,s={}){let i=!!(s&&s.debug),r=!!(s&&s.override),n={};if(typeof t!="object"){let o=new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw o.code="OBJECT_REQUIRED",o}for(let o of Object.keys(t))Object.prototype.hasOwnProperty.call(e,o)?(r===!0&&(e[o]=t[o],n[o]=t[o]),i&&U(r===!0?`"${o}" is already defined and WAS overwritten`:`"${o}" is already defined and was NOT overwritten`)):(e[o]=t[o],n[o]=t[o]);return n}var E={configDotenv:us,_configVault:fs,_parseVault:cs,config:ps,decrypt:hs,parse:as,populate:ms};C.exports.configDotenv=E.configDotenv;C.exports._configVault=E._configVault;C.exports._parseVault=E._parseVault;C.exports.config=E.config;C.exports.decrypt=E.decrypt;C.exports.parse=E.parse;C.exports.populate=E.populate;C.exports=E});var zt=Xt(st(),1);import{stat as Ks}from"fs";import{stat as Hs,readdir as Gs}from"fs/promises";import{EventEmitter as qs}from"events";import*as p from"path";import{stat as gs,lstat as rt,readdir as _s,realpath as ws}from"fs/promises";import{Readable as ys}from"stream";import{resolve as it,relative as vs,join as Es,sep as bs}from"path";var N={FILE_TYPE:"files",DIR_TYPE:"directories",FILE_DIR_TYPE:"files_directories",EVERYTHING_TYPE:"all"},Re={root:".",fileFilter:e=>!0,directoryFilter:e=>!0,type:N.FILE_TYPE,lstat:!1,depth:2147483648,alwaysStat:!1,highWaterMark:4096};Object.freeze(Re);var ct="READDIRP_RECURSIVE_ERROR",Ds=new Set(["ENOENT","EPERM","EACCES","ELOOP",ct]),nt=[N.DIR_TYPE,N.EVERYTHING_TYPE,N.FILE_DIR_TYPE,N.FILE_TYPE],xs=new Set([N.DIR_TYPE,N.EVERYTHING_TYPE,N.FILE_DIR_TYPE]),Ns=new Set([N.EVERYTHING_TYPE,N.FILE_DIR_TYPE,N.FILE_TYPE]),Ps=e=>Ds.has(e.code),Is=process.platform==="win32",ot=e=>!0,at=e=>{if(e===void 0)return ot;if(typeof e=="function")return e;if(typeof e=="string"){let t=e.trim();return s=>s.basename===t}if(Array.isArray(e)){let t=e.map(s=>s.trim());return s=>t.some(i=>s.basename===i)}return ot},Ae=class extends ys{constructor(t={}){super({objectMode:!0,autoDestroy:!0,highWaterMark:t.highWaterMark});let s={...Re,...t},{root:i,type:r}=s;this._fileFilter=at(s.fileFilter),this._directoryFilter=at(s.directoryFilter);let n=s.lstat?rt:gs;Is?this._stat=o=>n(o,{bigint:!0}):this._stat=n,this._maxDepth=s.depth??Re.depth,this._wantsDir=r?xs.has(r):!1,this._wantsFile=r?Ns.has(r):!1,this._wantsEverything=r===N.EVERYTHING_TYPE,this._root=it(i),this._isDirent=!s.alwaysStat,this._statsProp=this._isDirent?"dirent":"stats",this._rdOptions={encoding:"utf8",withFileTypes:this._isDirent},this.parents=[this._exploreDir(i,1)],this.reading=!1,this.parent=void 0}async _read(t){if(!this.reading){this.reading=!0;try{for(;!this.destroyed&&t>0;){let s=this.parent,i=s&&s.files;if(i&&i.length>0){let{path:r,depth:n}=s,o=i.splice(0,t).map(c=>this._formatEntry(c,r)),a=await Promise.all(o);for(let c of a){if(!c)continue;if(this.destroyed)return;let f=await this._getEntryType(c);f==="directory"&&this._directoryFilter(c)?(n<=this._maxDepth&&this.parents.push(this._exploreDir(c.fullPath,n+1)),this._wantsDir&&(this.push(c),t--)):(f==="file"||this._includeAsFile(c))&&this._fileFilter(c)&&this._wantsFile&&(this.push(c),t--)}}else{let r=this.parents.pop();if(!r){this.push(null);break}if(this.parent=await r,this.destroyed)return}}}catch(s){this.destroy(s)}finally{this.reading=!1}}}async _exploreDir(t,s){let i;try{i=await _s(t,this._rdOptions)}catch(r){this._onError(r)}return{files:i,depth:s,path:t}}async _formatEntry(t,s){let i,r=this._isDirent?t.name:t;try{let n=it(Es(s,r));i={path:vs(this._root,n),fullPath:n,basename:r},i[this._statsProp]=this._isDirent?t:await this._stat(n)}catch(n){this._onError(n);return}return i}_onError(t){Ps(t)&&!this.destroyed?this.emit("warn",t):this.destroy(t)}async _getEntryType(t){if(!t&&this._statsProp in t)return"";let s=t[this._statsProp];if(s.isFile())return"file";if(s.isDirectory())return"directory";if(s&&s.isSymbolicLink()){let i=t.fullPath;try{let r=await ws(i),n=await rt(r);if(n.isFile())return"file";if(n.isDirectory()){let o=r.length;if(i.startsWith(r)&&i.substr(o,1)===bs){let a=new Error(`Circular symlink detected: "${i}" points to "${r}"`);return a.code=ct,this._onError(a)}return"directory"}}catch(r){return this._onError(r),""}}}_includeAsFile(t){let s=t&&t[this._statsProp];return s&&this._wantsEverything&&!s.isDirectory()}};function lt(e,t={}){let s=t.entryType||t.type;if(s==="both"&&(s=N.FILE_DIR_TYPE),s&&(t.type=s),e){if(typeof e!="string")throw new TypeError("readdirp: root argument must be a string. Usage: readdirp(root, options)");if(s&&!nt.includes(s))throw new Error(`readdirp: Invalid type passed. Use one of ${nt.join(", ")}`)}else throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");return t.root=e,new Ae(t)}import{watchFile as Ts,unwatchFile as dt,watch as Rs}from"fs";import{open as As,stat as ut,lstat as Cs,realpath as Ce}from"fs/promises";import*as w from"path";import{type as Ss}from"os";var ks="data",Fe="end",pt="close",ae=()=>{};var ce=process.platform,Le=ce==="win32",Fs=ce==="darwin",Ls=ce==="linux",Os=ce==="freebsd",ht=Ss()==="OS400",y={ALL:"all",READY:"ready",ADD:"add",CHANGE:"change",ADD_DIR:"addDir",UNLINK:"unlink",UNLINK_DIR:"unlinkDir",RAW:"raw",ERROR:"error"},P=y,$s="watch",js={lstat:Cs,stat:ut},O="listeners",re="errHandlers",W="rawEmitters",Ws=[O,re,W],Ms=new Set(["3dm","3ds","3g2","3gp","7z","a","aac","adp","afdesign","afphoto","afpub","ai","aif","aiff","alz","ape","apk","appimage","ar","arj","asf","au","avi","bak","baml","bh","bin","bk","bmp","btif","bz2","bzip2","cab","caf","cgm","class","cmx","cpio","cr2","cur","dat","dcm","deb","dex","djvu","dll","dmg","dng","doc","docm","docx","dot","dotm","dra","DS_Store","dsk","dts","dtshd","dvb","dwg","dxf","ecelp4800","ecelp7470","ecelp9600","egg","eol","eot","epub","exe","f4v","fbs","fh","fla","flac","flatpak","fli","flv","fpx","fst","fvt","g3","gh","gif","graffle","gz","gzip","h261","h263","h264","icns","ico","ief","img","ipa","iso","jar","jpeg","jpg","jpgv","jpm","jxr","key","ktx","lha","lib","lvp","lz","lzh","lzma","lzo","m3u","m4a","m4v","mar","mdi","mht","mid","midi","mj2","mka","mkv","mmr","mng","mobi","mov","movie","mp3","mp4","mp4a","mpeg","mpg","mpga","mxu","nef","npx","numbers","nupkg","o","odp","ods","odt","oga","ogg","ogv","otf","ott","pages","pbm","pcx","pdb","pdf","pea","pgm","pic","png","pnm","pot","potm","potx","ppa","ppam","ppm","pps","ppsm","ppsx","ppt","pptm","pptx","psd","pya","pyc","pyo","pyv","qt","rar","ras","raw","resources","rgb","rip","rlc","rmf","rmvb","rpm","rtf","rz","s3m","s7z","scpt","sgi","shar","snap","sil","sketch","slk","smv","snk","so","stl","suo","sub","swf","tar","tbz","tbz2","tga","tgz","thmx","tif","tiff","tlz","ttc","ttf","txz","udf","uvh","uvi","uvm","uvp","uvs","uvu","viv","vob","war","wav","wax","wbmp","wdp","weba","webm","webp","whl","wim","wm","wma","wmv","wmx","woff","woff2","wrm","wvx","xbm","xif","xla","xlam","xls","xlsb","xlsm","xlsx","xlt","xltm","xltx","xm","xmind","xpi","xpm","xwd","xz","z","zip","zipx"]),Vs=e=>Ms.has(w.extname(e).slice(1).toLowerCase()),ke=(e,t)=>{e instanceof Set?e.forEach(t):t(e)},K=(e,t,s)=>{let i=e[t];i instanceof Set||(e[t]=i=new Set([i])),i.add(s)},Ys=e=>t=>{let s=e[t];s instanceof Set?s.clear():delete e[t]},H=(e,t,s)=>{let i=e[t];i instanceof Set?i.delete(s):i===s&&delete e[t]},mt=e=>e instanceof Set?e.size===0:!e,ie=new Map;function ft(e,t,s,i,r){let n=(o,a)=>{s(e),r(o,a,{watchedPath:e}),a&&e!==a&&ne(w.resolve(e,a),O,w.join(e,a))};try{return Rs(e,{persistent:t.persistent},n)}catch(o){i(o);return}}var ne=(e,t,s,i,r)=>{let n=ie.get(e);n&&ke(n[t],o=>{o(s,i,r)})},zs=(e,t,s,i)=>{let{listener:r,errHandler:n,rawEmitter:o}=i,a=ie.get(t),c;if(!s.persistent)return c=ft(e,s,r,n,o),c?c.close.bind(c):void 0;if(a)K(a,O,r),K(a,re,n),K(a,W,o);else{if(c=ft(e,s,ne.bind(null,t,O),n,ne.bind(null,t,W)),!c)return;c.on(P.ERROR,async f=>{let l=ne.bind(null,t,re);if(a&&(a.watcherUnusable=!0),Le&&f.code==="EPERM")try{await(await As(e,"r")).close(),l(f)}catch{}else l(f)}),a={listeners:r,errHandlers:n,rawEmitters:o,watcher:c},ie.set(t,a)}return()=>{H(a,O,r),H(a,re,n),H(a,W,o),mt(a.listeners)&&(a.watcher.close(),ie.delete(t),Ws.forEach(Ys(a)),a.watcher=void 0,Object.freeze(a))}},Se=new Map,Us=(e,t,s,i)=>{let{listener:r,rawEmitter:n}=i,o=Se.get(t),a=o&&o.options;return a&&(a.persistent<s.persistent||a.interval>s.interval)&&(dt(t),o=void 0),o?(K(o,O,r),K(o,W,n)):(o={listeners:r,rawEmitters:n,options:s,watcher:Ts(t,s,(c,f)=>{ke(o.rawEmitters,d=>{d(P.CHANGE,t,{curr:c,prev:f})});let l=c.mtimeMs;(c.size!==f.size||l>f.mtimeMs||l===0)&&ke(o.listeners,d=>d(e,c))})},Se.set(t,o)),()=>{H(o,O,r),H(o,W,n),mt(o.listeners)&&(Se.delete(t),dt(t),o.options=o.watcher=void 0,Object.freeze(o))}},oe=class{constructor(t){this.fsw=t,this._boundHandleError=s=>t._handleError(s)}_watchWithNodeFs(t,s){let i=this.fsw.options,r=w.dirname(t),n=w.basename(t);this.fsw._getWatchedDir(r).add(n);let a=w.resolve(t),c={persistent:i.persistent};s||(s=ae);let f;if(i.usePolling){let l=i.interval!==i.binaryInterval;c.interval=l&&Vs(n)?i.binaryInterval:i.interval,f=Us(t,a,c,{listener:s,rawEmitter:this.fsw._emitRaw})}else f=zs(t,a,c,{listener:s,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw});return f}_handleFile(t,s,i){if(this.fsw.closed)return;let r=w.dirname(t),n=w.basename(t),o=this.fsw._getWatchedDir(r),a=s;if(o.has(n))return;let c=async(l,d)=>{if(this.fsw._throttle($s,t,5)){if(!d||d.mtimeMs===0)try{let u=await ut(t);if(this.fsw.closed)return;let h=u.atimeMs,v=u.mtimeMs;if((!h||h<=v||v!==a.mtimeMs)&&this.fsw._emit(P.CHANGE,t,u),(Fs||Ls||Os)&&a.ino!==u.ino){this.fsw._closeFile(l),a=u;let L=this._watchWithNodeFs(t,c);L&&this.fsw._addPathCloser(l,L)}else a=u}catch{this.fsw._remove(r,n)}else if(o.has(n)){let u=d.atimeMs,h=d.mtimeMs;(!u||u<=h||h!==a.mtimeMs)&&this.fsw._emit(P.CHANGE,t,d),a=d}}},f=this._watchWithNodeFs(t,c);if(!(i&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(t)){if(!this.fsw._throttle(P.ADD,t,0))return;this.fsw._emit(P.ADD,t,s)}return f}async _handleSymlink(t,s,i,r){if(this.fsw.closed)return;let n=t.fullPath,o=this.fsw._getWatchedDir(s);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let a;try{a=await Ce(i)}catch{return this.fsw._emitReady(),!0}return this.fsw.closed?void 0:(o.has(r)?this.fsw._symlinkPaths.get(n)!==a&&(this.fsw._symlinkPaths.set(n,a),this.fsw._emit(P.CHANGE,i,t.stats)):(o.add(r),this.fsw._symlinkPaths.set(n,a),this.fsw._emit(P.ADD,i,t.stats)),this.fsw._emitReady(),!0)}if(this.fsw._symlinkPaths.has(n))return!0;this.fsw._symlinkPaths.set(n,!0)}_handleRead(t,s,i,r,n,o,a){if(t=w.join(t,""),a=this.fsw._throttle("readdir",t,1e3),!a)return;let c=this.fsw._getWatchedDir(i.path),f=new Set,l=this.fsw._readdirp(t,{fileFilter:d=>i.filterPath(d),directoryFilter:d=>i.filterDir(d)});if(l)return l.on(ks,async d=>{if(this.fsw.closed){l=void 0;return}let u=d.path,h=w.join(t,u);if(f.add(u),!(d.stats.isSymbolicLink()&&await this._handleSymlink(d,t,h,u))){if(this.fsw.closed){l=void 0;return}(u===r||!r&&!c.has(u))&&(this.fsw._incrReadyCount(),h=w.join(n,w.relative(n,h)),this._addToNodeFs(h,s,i,o+1))}}).on(P.ERROR,this._boundHandleError),new Promise((d,u)=>{if(!l)return u();l.once(Fe,()=>{if(this.fsw.closed){l=void 0;return}let h=a?a.clear():!1;d(void 0),c.getChildren().filter(v=>v!==t&&!f.has(v)).forEach(v=>{this.fsw._remove(t,v)}),l=void 0,h&&this._handleRead(t,!1,i,r,n,o,a)})})}async _handleDir(t,s,i,r,n,o,a){let c=this.fsw._getWatchedDir(w.dirname(t)),f=c.has(w.basename(t));!(i&&this.fsw.options.ignoreInitial)&&!n&&!f&&this.fsw._emit(P.ADD_DIR,t,s),c.add(w.basename(t)),this.fsw._getWatchedDir(t);let l,d,u=this.fsw.options.depth;if((u==null||r<=u)&&!this.fsw._symlinkPaths.has(a)){if(!n&&(await this._handleRead(t,i,o,n,t,r,l),this.fsw.closed))return;d=this._watchWithNodeFs(t,(h,v)=>{v&&v.mtimeMs===0||this._handleRead(h,!1,o,n,t,r,l)})}return d}async _addToNodeFs(t,s,i,r,n){let o=this.fsw._emitReady;if(this.fsw._isIgnored(t)||this.fsw.closed)return o(),!1;let a=this.fsw._getWatchHelpers(t);i&&(a.filterPath=c=>i.filterPath(c),a.filterDir=c=>i.filterDir(c));try{let c=await js[a.statMethod](a.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(a.watchPath,c))return o(),!1;let f=this.fsw.options.followSymlinks,l;if(c.isDirectory()){let d=w.resolve(t),u=f?await Ce(t):t;if(this.fsw.closed||(l=await this._handleDir(a.watchPath,c,s,r,n,a,u),this.fsw.closed))return;d!==u&&u!==void 0&&this.fsw._symlinkPaths.set(d,u)}else if(c.isSymbolicLink()){let d=f?await Ce(t):t;if(this.fsw.closed)return;let u=w.dirname(a.watchPath);if(this.fsw._getWatchedDir(u).add(a.watchPath),this.fsw._emit(P.ADD,a.watchPath,c),l=await this._handleDir(u,c,s,r,t,a,d),this.fsw.closed)return;d!==void 0&&this.fsw._symlinkPaths.set(w.resolve(t),d)}else l=this._handleFile(a.watchPath,c,s);return o(),l&&this.fsw._addPathCloser(t,l),!1}catch(c){if(this.fsw._handleError(c))return o(),t}}};var Oe="/",Bs="//",Et=".",Js="..",Qs="string",Xs=/\\/g,gt=/\/\//,Zs=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/,er=/^\.[/\\]/;function le(e){return Array.isArray(e)?e:[e]}var $e=e=>typeof e=="object"&&e!==null&&!(e instanceof RegExp);function tr(e){return typeof e=="function"?e:typeof e=="string"?t=>e===t:e instanceof RegExp?t=>e.test(t):typeof e=="object"&&e!==null?t=>{if(e.path===t)return!0;if(e.recursive){let s=p.relative(e.path,t);return s?!s.startsWith("..")&&!p.isAbsolute(s):!1}return!1}:()=>!1}function sr(e){if(typeof e!="string")throw new Error("string expected");e=p.normalize(e),e=e.replace(/\\/g,"/");let t=!1;e.startsWith("//")&&(t=!0);let s=/\/\//;for(;e.match(s);)e=e.replace(s,"/");return t&&(e="/"+e),e}function _t(e,t,s){let i=sr(t);for(let r=0;r<e.length;r++){let n=e[r];if(n(i,s))return!0}return!1}function rr(e,t){if(e==null)throw new TypeError("anymatch: specify first argument");let i=le(e).map(r=>tr(r));return t==null?(r,n)=>_t(i,r,n):_t(i,t)}var wt=e=>{let t=le(e).flat();if(!t.every(s=>typeof s===Qs))throw new TypeError(`Non-string provided as watch path: ${t}`);return t.map(bt)},yt=e=>{let t=e.replace(Xs,Oe),s=!1;for(t.startsWith(Bs)&&(s=!0);t.match(gt);)t=t.replace(gt,Oe);return s&&(t=Oe+t),t},bt=e=>yt(p.normalize(yt(e))),vt=(e="")=>t=>typeof t=="string"?bt(p.isAbsolute(t)?t:p.join(e,t)):t,ir=(e,t)=>p.isAbsolute(e)?e:p.join(t,e),nr=Object.freeze(new Set),je=class{constructor(t,s){this.path=t,this._removeWatcher=s,this.items=new Set}add(t){let{items:s}=this;s&&t!==Et&&t!==Js&&s.add(t)}async remove(t){let{items:s}=this;if(!s||(s.delete(t),s.size>0))return;let i=this.path;try{await Gs(i)}catch{this._removeWatcher&&this._removeWatcher(p.dirname(i),p.basename(i))}}has(t){let{items:s}=this;if(s)return s.has(t)}getChildren(){let{items:t}=this;return t?[...t.values()]:[]}dispose(){this.items.clear(),this.path="",this._removeWatcher=ae,this.items=nr,Object.freeze(this)}},or="stat",ar="lstat",We=class{constructor(t,s,i){this.fsw=i;let r=t;this.path=t=t.replace(er,""),this.watchPath=r,this.fullWatchPath=p.resolve(r),this.dirParts=[],this.dirParts.forEach(n=>{n.length>1&&n.pop()}),this.followSymlinks=s,this.statMethod=s?or:ar}entryPath(t){return p.join(this.watchPath,p.relative(this.watchPath,t.fullPath))}filterPath(t){let{stats:s}=t;if(s&&s.isSymbolicLink())return this.filterDir(t);let i=this.entryPath(t);return this.fsw._isntIgnored(i,s)&&this.fsw._hasReadPermissions(s)}filterDir(t){return this.fsw._isntIgnored(this.entryPath(t),t.stats)}},de=class extends qs{constructor(t={}){super(),this.closed=!1,this._closers=new Map,this._ignoredPaths=new Set,this._throttled=new Map,this._streams=new Set,this._symlinkPaths=new Map,this._watched=new Map,this._pendingWrites=new Map,this._pendingUnlinks=new Map,this._readyCount=0,this._readyEmitted=!1;let s=t.awaitWriteFinish,i={stabilityThreshold:2e3,pollInterval:100},r={persistent:!0,ignoreInitial:!1,ignorePermissionErrors:!1,interval:100,binaryInterval:300,followSymlinks:!0,usePolling:!1,atomic:!0,...t,ignored:t.ignored?le(t.ignored):le([]),awaitWriteFinish:s===!0?i:typeof s=="object"?{...i,...s}:!1};ht&&(r.usePolling=!0),r.atomic===void 0&&(r.atomic=!r.usePolling);let n=process.env.CHOKIDAR_USEPOLLING;if(n!==void 0){let c=n.toLowerCase();c==="false"||c==="0"?r.usePolling=!1:c==="true"||c==="1"?r.usePolling=!0:r.usePolling=!!c}let o=process.env.CHOKIDAR_INTERVAL;o&&(r.interval=Number.parseInt(o,10));let a=0;this._emitReady=()=>{a++,a>=this._readyCount&&(this._emitReady=ae,this._readyEmitted=!0,process.nextTick(()=>this.emit(y.READY)))},this._emitRaw=(...c)=>this.emit(y.RAW,...c),this._boundRemove=this._remove.bind(this),this.options=r,this._nodeFsHandler=new oe(this),Object.freeze(r)}_addIgnoredPath(t){if($e(t)){for(let s of this._ignoredPaths)if($e(s)&&s.path===t.path&&s.recursive===t.recursive)return}this._ignoredPaths.add(t)}_removeIgnoredPath(t){if(this._ignoredPaths.delete(t),typeof t=="string")for(let s of this._ignoredPaths)$e(s)&&s.path===t&&this._ignoredPaths.delete(s)}add(t,s,i){let{cwd:r}=this.options;this.closed=!1,this._closePromise=void 0;let n=wt(t);return r&&(n=n.map(o=>ir(o,r))),n.forEach(o=>{this._removeIgnoredPath(o)}),this._userIgnored=void 0,this._readyCount||(this._readyCount=0),this._readyCount+=n.length,Promise.all(n.map(async o=>{let a=await this._nodeFsHandler._addToNodeFs(o,!i,void 0,0,s);return a&&this._emitReady(),a})).then(o=>{this.closed||o.forEach(a=>{a&&this.add(p.dirname(a),p.basename(s||a))})}),this}unwatch(t){if(this.closed)return this;let s=wt(t),{cwd:i}=this.options;return s.forEach(r=>{!p.isAbsolute(r)&&!this._closers.has(r)&&(i&&(r=p.join(i,r)),r=p.resolve(r)),this._closePath(r),this._addIgnoredPath(r),this._watched.has(r)&&this._addIgnoredPath({path:r,recursive:!0}),this._userIgnored=void 0}),this}close(){if(this._closePromise)return this._closePromise;this.closed=!0,this.removeAllListeners();let t=[];return this._closers.forEach(s=>s.forEach(i=>{let r=i();r instanceof Promise&&t.push(r)})),this._streams.forEach(s=>s.destroy()),this._userIgnored=void 0,this._readyCount=0,this._readyEmitted=!1,this._watched.forEach(s=>s.dispose()),this._closers.clear(),this._watched.clear(),this._streams.clear(),this._symlinkPaths.clear(),this._throttled.clear(),this._closePromise=t.length?Promise.all(t).then(()=>{}):Promise.resolve(),this._closePromise}getWatched(){let t={};return this._watched.forEach((s,i)=>{let n=(this.options.cwd?p.relative(this.options.cwd,i):i)||Et;t[n]=s.getChildren().sort()}),t}emitWithAll(t,s){this.emit(t,...s),t!==y.ERROR&&this.emit(y.ALL,t,...s)}async _emit(t,s,i){if(this.closed)return;let r=this.options;Le&&(s=p.normalize(s)),r.cwd&&(s=p.relative(r.cwd,s));let n=[s];i!=null&&n.push(i);let o=r.awaitWriteFinish,a;if(o&&(a=this._pendingWrites.get(s)))return a.lastChange=new Date,this;if(r.atomic){if(t===y.UNLINK)return this._pendingUnlinks.set(s,[t,...n]),setTimeout(()=>{this._pendingUnlinks.forEach((c,f)=>{this.emit(...c),this.emit(y.ALL,...c),this._pendingUnlinks.delete(f)})},typeof r.atomic=="number"?r.atomic:100),this;t===y.ADD&&this._pendingUnlinks.has(s)&&(t=y.CHANGE,this._pendingUnlinks.delete(s))}if(o&&(t===y.ADD||t===y.CHANGE)&&this._readyEmitted){let c=(f,l)=>{f?(t=y.ERROR,n[0]=f,this.emitWithAll(t,n)):l&&(n.length>1?n[1]=l:n.push(l),this.emitWithAll(t,n))};return this._awaitWriteFinish(s,o.stabilityThreshold,t,c),this}if(t===y.CHANGE&&!this._throttle(y.CHANGE,s,50))return this;if(r.alwaysStat&&i===void 0&&(t===y.ADD||t===y.ADD_DIR||t===y.CHANGE)){let c=r.cwd?p.join(r.cwd,s):s,f;try{f=await Hs(c)}catch{}if(!f||this.closed)return;n.push(f)}return this.emitWithAll(t,n),this}_handleError(t){let s=t&&t.code;return t&&s!=="ENOENT"&&s!=="ENOTDIR"&&(!this.options.ignorePermissionErrors||s!=="EPERM"&&s!=="EACCES")&&this.emit(y.ERROR,t),t||this.closed}_throttle(t,s,i){this._throttled.has(t)||this._throttled.set(t,new Map);let r=this._throttled.get(t);if(!r)throw new Error("invalid throttle");let n=r.get(s);if(n)return n.count++,!1;let o,a=()=>{let f=r.get(s),l=f?f.count:0;return r.delete(s),clearTimeout(o),f&&clearTimeout(f.timeoutObject),l};o=setTimeout(a,i);let c={timeoutObject:o,clear:a,count:0};return r.set(s,c),c}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(t,s,i,r){let n=this.options.awaitWriteFinish;if(typeof n!="object")return;let o=n.pollInterval,a,c=t;this.options.cwd&&!p.isAbsolute(t)&&(c=p.join(this.options.cwd,t));let f=new Date,l=this._pendingWrites;function d(u){Ks(c,(h,v)=>{if(h||!l.has(t)){h&&h.code!=="ENOENT"&&r(h);return}let L=Number(new Date);u&&v.size!==u.size&&(l.get(t).lastChange=L);let z=l.get(t);L-z.lastChange>=s?(l.delete(t),r(void 0,v)):a=setTimeout(d,o,v)})}l.has(t)||(l.set(t,{lastChange:f,cancelWait:()=>(l.delete(t),clearTimeout(a),i)}),a=setTimeout(d,o))}_isIgnored(t,s){if(this.options.atomic&&Zs.test(t))return!0;if(!this._userIgnored){let{cwd:i}=this.options,n=(this.options.ignored||[]).map(vt(i)),a=[...[...this._ignoredPaths].map(vt(i)),...n];this._userIgnored=rr(a,void 0)}return this._userIgnored(t,s)}_isntIgnored(t,s){return!this._isIgnored(t,s)}_getWatchHelpers(t){return new We(t,this.options.followSymlinks,this)}_getWatchedDir(t){let s=p.resolve(t);return this._watched.has(s)||this._watched.set(s,new je(s,this._boundRemove)),this._watched.get(s)}_hasReadPermissions(t){return this.options.ignorePermissionErrors?!0:!!(Number(t.mode)&256)}_remove(t,s,i){let r=p.join(t,s),n=p.resolve(r);if(i=i??(this._watched.has(r)||this._watched.has(n)),!this._throttle("remove",r,100))return;!i&&this._watched.size===1&&this.add(t,s,!0),this._getWatchedDir(r).getChildren().forEach(u=>this._remove(r,u));let c=this._getWatchedDir(t),f=c.has(s);c.remove(s),this._symlinkPaths.has(n)&&this._symlinkPaths.delete(n);let l=r;if(this.options.cwd&&(l=p.relative(this.options.cwd,r)),this.options.awaitWriteFinish&&this._pendingWrites.has(l)&&this._pendingWrites.get(l).cancelWait()===y.ADD)return;this._watched.delete(r),this._watched.delete(n);let d=i?y.UNLINK_DIR:y.UNLINK;f&&!this._isIgnored(r)&&this._emit(d,r),this._closePath(r)}_closePath(t){this._closeFile(t);let s=p.dirname(t);this._getWatchedDir(s).remove(p.basename(t))}_closeFile(t){let s=this._closers.get(t);s&&(s.forEach(i=>i()),this._closers.delete(t))}_addPathCloser(t,s){if(!s)return;let i=this._closers.get(t);i||(i=[],this._closers.set(t,i)),i.push(s)}_readdirp(t,s){if(this.closed)return;let i={type:y.ALL,alwaysStat:!0,lstat:!0,...s,depth:0},r=lt(t,i);return this._streams.add(r),r.once(pt,()=>{r=void 0}),r.once(Fe,()=>{r&&(this._streams.delete(r),r=void 0)}),r}};function cr(e,t={}){let s=new de(t);return s.add(e),s}var Dt={watch:cr,FSWatcher:de};import{existsSync as I,mkdirSync as vr,readdirSync as Er,readFileSync as br,unlinkSync as Dr}from"fs";import{basename as Rt,join as g,relative as At}from"path";import{copyFileSync as lr,existsSync as S,mkdirSync as dr,readdirSync as Ve,readFileSync as fr,writeFileSync as ur}from"fs";import{basename as xt,dirname as Pt,extname as pr,join as T,normalize as hr,relative as M,resolve as Nt,sep as mr}from"path";var gr=/import\s+(?:(?:{[^}]*})|(?:[^{}\s,]*))?\s*(?:,\s*(?:{[^}]*}))?\s*from\s+['"]([./]+[^'"]*)['"]/g,_r=/import\s+(?:(?:{[^}]*})|(?:[^{}\s,]*))?\s*(?:,\s*(?:{[^}]*}))?\s*from\s+['"](@\/[^'"]*)['"]/g,wr=/import\s*\(\s*['"](@\/[^'"]*)['"]\s*\)/g,fe=/\.(js|jsx|ts|tsx)$/,Me=/^page\.(tsx|ts|jsx|js)$/i,G=(e,t)=>{let i=M(t,e).split(mr);i.pop();let r=i.filter(n=>!n.startsWith("("));return hr(r.join("/"))},ue=e=>{let t=new Map,s=i=>{if(S(i))for(let r of Ve(i,{withFileTypes:!0})){let n=T(i,r.name);if(r.isDirectory()){s(n);continue}if(Me.test(r.name)){let o=G(n,e);t.set(o,n)}}};return s(e),t},yr=(e,t)=>{let s=e.replace(gr,(i,r)=>{if(r.startsWith(".")){let o=r.replace(fe,"").replace(/^(?:\.\.\/)+/,"");return i.replace(r,`${t}/${o}`)}return i});return s=s.replace(_r,(i,r)=>{let n=r.replace(/^@\//,"").replace(fe,"");return i.replace(r,`${t}/${n}`)}),s=s.replace(wr,(i,r)=>{let n=r.replace(/^@\//,"").replace(fe,"");return i.replace(r,`${t}/${n}`)}),s=s.replace(/dynamic\s*\(\s*\(\s*=>\s*import\s*\(\s*['"](@\/[^'"]*)['"]\s*\)\s*\)\s*\)/g,(i,r)=>{let n=r.replace(/^@\//,"").replace(fe,"");return i.replace(r,`${t}/${n}`)}),s};function pe(e){let t=e;for(;t!==Nt(t,"..");){let i=T(t,"turbo.json");if(S(i))return t;t=Nt(t,"..")}let s=T(e,"package.json");if(S(s))return e;throw new Error("\u274C Could not locate project root")}function he(e){let t=T(e,"src","app","[locale]");if(S(t))return t;let i=(n=>{let o=[];if(!S(n))return o;let a=(c,f=0)=>{if(!(f>4))try{let l=Ve(c,{withFileTypes:!0});for(let d of l){if(!d.isDirectory())continue;let u=T(c,d.name);if(d.name==="[locale]"&&Pt(u).endsWith(T("src","app"))){o.push(u);continue}a(u,f+1)}}catch{}};return a(n),o})(e);return i.length>0?i[0]:T(e,"apps","docs","src","app","[locale]")}var q=e=>{let t=[];if(!S(e))return t;let s=Ve(e,{withFileTypes:!0});for(let i of s){let r=T(e,i.name);i.isDirectory()?t.push(...q(r)):t.push(r)}return t},B=e=>S(e)?q(e).length===0:!0,Ye=(e,t,s,i,r,n,o=!0)=>{let a=xt(e);if(Me.test(a)){let c=G(t,r),f=i.get(c);if(f&&f!==t){o&&console.log(`\x1B[31mSkipped duplicate page:\x1B[0m ${M(n,t)} (collides with ${M(n,f)})`);return}}try{let c=Pt(t);S(c)||dr(c,{recursive:!0});let f=pr(e);if(s&&[".js",".jsx",".ts",".tsx"].includes(f)){let l=fr(e,"utf-8"),d=yr(l,s);ur(t,d)}else lr(e,t);if(o){let l=e.indexOf(T("src","app")),d;l!==-1?d=e.substring(l):e.startsWith(n)?d=M(n,e):d=e;let u=t.startsWith(n)?M(n,t):t;console.log(`\x1B[32mCopied:\x1B[0m ${d} \u2192 ${u}`)}if(Me.test(xt(t))){let l=G(t,r);i.set(l,t)}}catch(c){console.error(`\x1B[31mError copying file:\x1B[0m ${e}`,c)}},It=(e,t,s,i,r,n,o=!0)=>{if(!S(e)||B(e))return;let a=q(e);for(let c of a){let f=M(e,c),l=T(t,f);Ye(c,l,s,i,r,n,o)}};var Tt=e=>{let t=I(g(e,"src","vitnode.config.ts"));return I(g(e,"src","vitnode.api.config.ts"))&&!t?"api":t?"web":null},xr=(e,t,s,i)=>{let r=[],n=g(t,"apps");if(I(n)){let a=I(n)?Er(n,{withFileTypes:!0}).filter(c=>c.isDirectory()).map(c=>c.name):[];for(let c of a){let f=g(t,"apps",c),l=Tt(f);l==="web"?r.push({sourceDir:g(e,"src","app_admin"),destinationDir:g(f,"src","app","[locale]","admin","(auth)",g("(plugins)",`(${i})`))},{sourceDir:g(e,"src","app"),destinationDir:g(f,"src","app","[locale]","(main)",g("(plugins)",`(${i})`))},{sourceDir:g(e,"src","locales"),destinationDir:g(f,"src","locales",s)}):l==="api"&&r.push({sourceDir:g(e,"src","locales"),destinationDir:g(f,"src","locales",s)})}}else{let a=process.cwd(),c=Tt(a);c==="web"?r.push({sourceDir:g(e,"src","app_admin"),destinationDir:g(a,"src","app","[locale]","admin","(auth)",g("(plugins)",`(${i})`))},{sourceDir:g(e,"src","app"),destinationDir:g(a,"src","app","[locale]","(main)",g("(plugins)",`(${i})`))},{sourceDir:g(e,"src","locales"),destinationDir:g(a,"src","locales",s)}):c==="api"&&r.push({sourceDir:g(e,"src","locales"),destinationDir:g(a,"src","locales",s)})}return r},Nr=e=>{for(let{sourceDir:t,destinationDir:s}of e)I(t)&&!B(t)&&!I(s)&&vr(s,{recursive:!0})},Pr=(e,t,s,i)=>({copyFileWrapper:(o,a)=>{Ye(o,a,e,t,s,i)},removeFile:o=>{try{if(I(o)&&(Dr(o),console.log(`\x1B[33mRemoved:\x1B[0m ${o}`),/^page\.(tsx|ts|jsx|js)$/i.test(Rt(o)))){let a=G(o,s);t.get(a)===o&&t.delete(a)}}catch(a){console.error(`\x1B[31mError removing file:\x1B[0m ${o}`,a)}}}),Ir=(e,t,s)=>{if(!I(t)||t.includes(g("src","locales")))return;let r=q(t);for(let n of r){let o=At(t,n),a=g(e,o);I(a)||s(n)}},Tr=e=>t=>{let s=e.filter(({sourceDir:i})=>{let r=t.replace(/\\/g,"/"),n=i.replace(/\\/g,"/");return r===n||r.startsWith(`${n}/`)});if(s.length===0)throw new Error(`No matching source directory for: ${t}`);return s.map(i=>{let r=At(i.sourceDir,t);return g(i.destinationDir,r)})},Rr=(e,t,s,i)=>{let r=Dt.watch(e,{ignoreInitial:!1,persistent:!0});return r.on("add",n=>{t(n).forEach(a=>s(n,a))}).on("change",n=>{t(n).forEach(a=>s(n,a))}).on("unlink",n=>{t(n).forEach(a=>i(a))}).on("error",n=>{console.error("\x1B[31mWatcher error:\x1B[0m",n)}),r},Ct=({initMessage:e})=>{let t=process.cwd(),s=pe(t),i=he(s),r=ue(i),n=Rt(t);try{let u=g(t,"package.json");I(u)&&(n=JSON.parse(br(u,"utf-8")).name??"")}catch(u){console.error("\x1B[31mError reading package.json:\x1B[0m",u);return}let o=n.replace(/\//g,"-").replace(/@/g,""),a=xr(t,s,n,o);Nr(a);let{copyFileWrapper:c,removeFile:f}=Pr(n,r,i,s);for(let{sourceDir:u,destinationDir:h}of a)Ir(u,h,f);console.log(`${e} \x1B[34mWatching for changes in plugins...\x1B[0m`);let l=a.map(u=>u.sourceDir).filter(u=>I(u)),d=Tr(a);Rr(l,d,c,f)};import{count as Mt}from"drizzle-orm";import{relations as Ot}from"drizzle-orm";import{index as Ee,pgTable as $t}from"drizzle-orm/pg-core";import{pgTable as Ar}from"drizzle-orm/pg-core";var D=Ar("core_roles",e=>({id:e.serial().primaryKey(),createdAt:e.timestamp().notNull().defaultNow(),updatedAt:e.timestamp().notNull().$onUpdate(()=>new Date),protected:e.boolean().notNull().default(!1),default:e.boolean().notNull().default(!1),root:e.boolean().notNull().default(!1),guest:e.boolean().notNull().default(!1),color:e.varchar({length:19})})).enableRLS();import{relations as kt}from"drizzle-orm";import{index as Ft,pgTable as Lt}from"drizzle-orm/pg-core";import{relations as ye}from"drizzle-orm";import{index as ge,pgTable as ve}from"drizzle-orm/pg-core";import{relations as Cr}from"drizzle-orm";import{index as ze,pgTable as St}from"drizzle-orm/pg-core";var R=St("core_languages",e=>({id:e.serial().primaryKey(),code:e.varchar({length:32}).notNull().unique(),name:e.varchar({length:255}).notNull(),timezone:e.varchar({length:255}).notNull().default("UTC"),protected:e.boolean().notNull().default(!1),default:e.boolean().notNull().default(!1),enabled:e.boolean().notNull().default(!0),createdAt:e.timestamp().notNull().defaultNow(),updatedAt:e.timestamp().notNull().$onUpdate(()=>new Date),time24:e.boolean().notNull().default(!1)}),e=>[ze("core_languages_code_idx").on(e.code),ze("core_languages_name_idx").on(e.name)]).enableRLS(),me=St("core_languages_words",e=>({id:e.serial().primaryKey(),languageCode:e.varchar().notNull().references(()=>R.code,{onDelete:"cascade"}),pluginCode:e.varchar({length:50}).notNull(),itemId:e.integer().notNull(),value:e.text().notNull(),tableName:e.varchar({length:255}).notNull(),variable:e.varchar({length:255}).notNull()}),e=>[ze("core_languages_words_lang_code_idx").on(e.languageCode)]).enableRLS(),hi=Cr(me,({one:e})=>({language:e(R,{fields:[me.languageCode],references:[R.code]})}));var m=ve("core_users",e=>({id:e.serial().primaryKey(),nameCode:e.varchar({length:255}).notNull().unique(),name:e.varchar({length:255}).notNull().unique(),email:e.varchar({length:255}).notNull().unique(),password:e.varchar(),createdAt:e.timestamp().notNull().defaultNow(),newsletter:e.boolean().notNull().default(!1),avatarColor:e.varchar({length:6}).notNull(),emailVerified:e.boolean().notNull().default(!1),roleId:e.integer().references(()=>D.id).notNull(),birthday:e.timestamp(),ipAddress:e.varchar({length:40}).notNull(),language:e.varchar({length:32}).notNull().default("en").references(()=>R.code,{onDelete:"set default"})}),e=>[ge("core_users_name_code_idx").on(e.nameCode),ge("core_users_name_idx").on(e.name),ge("core_users_email_idx").on(e.email)]).enableRLS(),vi=ye(m,({one:e,many:t})=>({group:e(D,{fields:[m.roleId],references:[D.id]}),language:e(R,{fields:[m.language],references:[R.code]}),confirm_email:e(_e,{fields:[m.id],references:[_e.userId]}),sso:t(Ue),forgot_password:e(we,{fields:[m.id],references:[we.userId]})})),Ue=ve("core_users_sso",e=>({userId:e.integer().references(()=>m.id,{onDelete:"cascade"}).notNull(),providerId:e.varchar({length:255}).notNull(),providerAccountId:e.varchar({length:255}).notNull(),createdAt:e.timestamp().notNull().defaultNow(),updatedAt:e.timestamp().notNull().$onUpdate(()=>new Date)}),e=>[ge("core_users_sso_user_id_idx").on(e.userId)]).enableRLS(),Ei=ye(Ue,({one:e})=>({user:e(m,{fields:[Ue.userId],references:[m.id]})})),_e=ve("core_users_confirm_emails",e=>({id:e.serial().primaryKey(),userId:e.integer().references(()=>m.id,{onDelete:"cascade"}).notNull(),token:e.varchar({length:100}).notNull().unique(),createdAt:e.timestamp().notNull().defaultNow(),expiresAt:e.timestamp().notNull(),ipAddress:e.varchar({length:40}).notNull()})).enableRLS(),bi=ye(_e,({one:e})=>({user:e(m,{fields:[_e.userId],references:[m.id]})})),we=ve("core_users_forgot_password",e=>({id:e.serial().primaryKey(),userId:e.integer().references(()=>m.id,{onDelete:"cascade"}).notNull().unique(),token:e.varchar({length:100}).notNull().unique(),ipAddress:e.varchar({length:40}).notNull(),createdAt:e.timestamp().notNull().defaultNow(),expiresAt:e.timestamp().notNull()})).enableRLS(),Di=ye(we,({one:e})=>({user:e(m,{fields:[we.userId],references:[m.id]})}));var J=Lt("core_sessions",e=>({id:e.serial().primaryKey(),token:e.varchar({length:255}).notNull().unique(),userId:e.integer().notNull().references(()=>m.id,{onDelete:"cascade"}),createdAt:e.timestamp().notNull().defaultNow(),expiresAt:e.timestamp().notNull(),deviceId:e.integer().references(()=>k.id,{onDelete:"cascade"}).notNull()}),e=>[Ft("core_sessions_user_id_idx").on(e.userId)]).enableRLS(),Ti=kt(J,({one:e})=>({user:e(m,{fields:[J.userId],references:[m.id]}),device:e(k,{fields:[J.deviceId],references:[k.id]})})),k=Lt("core_sessions_known_devices",e=>({id:e.serial().primaryKey(),publicId:e.varchar({length:32}).notNull().unique(),ipAddress:e.varchar({length:40}).notNull(),userAgent:e.text().notNull(),lastSeen:e.timestamp().notNull().defaultNow()}),e=>[Ft("core_sessions_known_devices_ip_address_idx").on(e.ipAddress)]).enableRLS(),Ri=kt(k,({one:e})=>({session:e(J,{fields:[k.id],references:[J.deviceId]})}));var Q=$t("core_admin_permissions",e=>({id:e.serial().primaryKey(),roleId:e.integer().references(()=>D.id,{onDelete:"cascade"}),userId:e.integer().references(()=>m.id,{onDelete:"cascade"}),createdAt:e.timestamp().notNull().defaultNow(),updatedAt:e.timestamp().notNull().$onUpdate(()=>new Date),protected:e.boolean().notNull().default(!1)}),e=>[Ee("core_admin_permissions_role_id_idx").on(e.roleId),Ee("core_admin_permissions_user_id_idx").on(e.userId)]).enableRLS(),Oi=Ot(Q,({one:e})=>({group:e(D,{fields:[Q.roleId],references:[D.id]}),user:e(m,{fields:[Q.userId],references:[m.id]})})),Ke=$t("core_admin_sessions",e=>({id:e.serial().primaryKey(),token:e.varchar({length:255}).notNull().unique(),userId:e.integer().notNull().references(()=>m.id,{onDelete:"cascade"}),createdAt:e.timestamp().notNull().defaultNow(),lastSeen:e.timestamp().notNull().defaultNow(),expiresAt:e.timestamp().notNull(),deviceId:e.integer().references(()=>k.id,{onDelete:"cascade"}).notNull()}),e=>[Ee("core_admin_sessions_token_idx").on(e.token),Ee("core_admin_sessions_user_id_idx").on(e.userId)]).enableRLS(),$i=Ot(Ke,({one:e})=>({user:e(m,{fields:[Ke.userId],references:[m.id]}),device:e(k,{fields:[Ke.deviceId],references:[k.id]})}));import{relations as Sr}from"drizzle-orm";import{index as jt,pgTable as kr}from"drizzle-orm/pg-core";var X=kr("core_moderators_permissions",e=>({id:e.serial().primaryKey(),roleId:e.integer().references(()=>D.id,{onDelete:"cascade"}),userId:e.integer().references(()=>m.id,{onDelete:"cascade"}),createdAt:e.timestamp().notNull().defaultNow(),updatedAt:e.timestamp().notNull().$onUpdate(()=>new Date),protected:e.boolean().notNull().default(!1)}),e=>[jt("core_moderators_permissions_role_id_idx").on(e.roleId),jt("core_moderators_permissions_user_id_idx").on(e.userId)]).enableRLS(),zi=Sr(X,({one:e})=>({group:e(D,{fields:[X.roleId],references:[D.id]}),user:e(m,{fields:[X.userId],references:[m.id]})}));import{join as Fr}from"path";import{pathToFileURL as Lr}from"url";var $=async({type:e="config"})=>{let t=Fr(process.cwd(),"src",`vitnode.${e}.ts`);try{let i=await import(Lr(t).href);return e==="config"?i.vitNodeConfig:i.vitNodeApiConfig}catch(s){console.error("Failed to load config:",s),process.exit(1)}};import{existsSync as A,readdirSync as Or}from"fs";import{readFile as $r}from"fs/promises";import{join as _,relative as Wt}from"path";var V=async e=>{let t=process.cwd(),s=A(_(t,"src","vitnode.config.ts")),i=A(_(t,"src","vitnode.api.config.ts")),r;e==="--api"&&i?r=await $({type:"api.config"}):e==="--web"&&s?r=await $({}):i&&!s?r=await $({type:"api.config"}):s?r=await $({}):r={plugins:[]};let n=[...r.plugins.map(d=>d.pluginId),"@vitnode/core"],o=pe(process.cwd()),a=he(o),c=ue(a),f=process.cwd(),l=d=>{let u=process.cwd(),h=_(u,"node_modules",d);if(A(h))return h;if(o&&o!==u){let v=_(o,"node_modules",d);if(A(v))return v}return null};await Promise.all(n.map(async d=>{let u=l(d);if(!u){console.error(`\x1B[31mPlugin not found:\x1B[0m ${d} in node_modules`);return}let h="";try{let b=_(u,"package.json");A(b)&&(h=JSON.parse(await $r(b,"utf-8")).name??"")}catch(b){console.error(`\x1B[31mError reading package.json for ${d}:\x1B[0m`,b);return}let v=d.replace(/\//g,"-").replace(/@/g,""),L=b=>{let x=A(_(b,"src","vitnode.config.ts"));return A(_(b,"src","vitnode.api.config.ts"))&&!x?"api":x?"web":null},z=_(o,"apps"),He=A(z),ee=[];if(He){let b=A(z)?Or(z,{withFileTypes:!0}).filter(x=>x.isDirectory()).map(x=>x.name):[];for(let x of b){let F=_(o,"apps",x),Ge=L(F);if(Ge==="web"){let Pe=_(F,"src","app","[locale]","(main)",_("(plugins)",`(${v})`)),Ut=_(F,"src","app","[locale]","admin","(auth)",_("(plugins)",`(${v})`)),Kt=_(F,"src","locales",d);ee.push({sourceDir:_(u,"src","app_admin"),destinationDir:Ut},{sourceDir:_(u,"src","app"),destinationDir:Pe},{sourceDir:_(u,"src","locales"),destinationDir:Kt})}else if(Ge==="api"){let Pe=_(F,"src","locales",d);ee.push({sourceDir:_(u,"src","locales"),destinationDir:Pe})}}}else{let b=_(f,"src","app","[locale]","(main)",_("(plugins)",`(${v})`)),x=_(f,"src","app","[locale]","admin","(auth)",_("(plugins)",`(${v})`)),F=_(f,"src","locales",d);ee.push({sourceDir:_(u,"src","app_admin"),destinationDir:x},{sourceDir:_(u,"src","app"),destinationDir:b},{sourceDir:_(u,"src","locales"),destinationDir:F})}for(let{sourceDir:b,destinationDir:x}of ee)A(b)&&!B(b)&&(console.log(`\x1B[36mCopying ${d}:\x1B[0m ${Wt(o,b)} \u2192 ${Wt(o,x)}`),It(b,x,h,c,a,o,!1))}))};import{spawn as jr}from"child_process";var be=async(e,t=[])=>await new Promise((s,i)=>{let r=jr(e,t,{stdio:"inherit",shell:!0,env:process.env});r.on("error",n=>{i(n)}),r.on("close",n=>{n!==0?i(new Error(`Command failed with exit code ${n}`)):s(!0)})});var De=async()=>{try{await be("npm",["run","drizzle-kit","up"]),await be("npm",["run","drizzle-kit","generate"])}catch(e){console.error("\x1B[31m%s\x1B[0m",e),process.exit(1)}},xe=async()=>{try{await be("npm",["run","drizzle-kit","migrate"])}catch(e){console.error("\x1B[31m%s\x1B[0m",e),process.exit(1)}},Ne=async()=>{let t=(await $({type:"api.config"})).dbProvider,[s]=await t.select({count:Mt()}).from(D).limit(1),[i]=await t.select({count:Mt()}).from(R);if(i.count===0&&await t.insert(R).values([{code:"en",name:"English (USA)",default:!0,protected:!0,timezone:"America/New_York"}]),s.count===0){let r=await t.insert(D).values([{protected:!0,guest:!0},{protected:!0,default:!0},{protected:!0,color:"hsl(122, 80%, 45%)"},{protected:!0,root:!0,color:"hsl(0, 100%, 50%)"}]).returning({id:D.id});await t.insert(me).values([{languageCode:"en",pluginCode:"core",itemId:r[0].id,value:"Guest",tableName:"core_roles",variable:"name"},{languageCode:"en",pluginCode:"core",itemId:r[1].id,value:"Member",tableName:"core_roles",variable:"name"},{languageCode:"en",pluginCode:"core",itemId:r[2].id,value:"Moderator",tableName:"core_roles",variable:"name"},{languageCode:"en",pluginCode:"core",itemId:r[3].id,value:"Administrator",tableName:"core_roles",variable:"name"}]),await t.insert(X).values([{roleId:r[2].id,protected:!0},{roleId:r[3].id,protected:!0}]),await t.insert(Q).values({roleId:r[3].id,protected:!0})}},Vt=async({initMessage:e,flag:t})=>{let s=[];t==="--web"?s.push({label:"Prepare plugins files...",action:async()=>await V(t)}):t==="--api"?s.push({label:"Prepare plugins files...",action:async()=>await V(t)},{label:"Generate migrations...",action:De},{label:"Run migrations...",action:xe},{label:"Insert initial data...",action:Ne}):s.push({label:"Prepare plugins files...",action:async()=>await V(t)},{label:"Generate migrations...",action:De},{label:"Run migrations...",action:xe},{label:"Insert initial data...",action:Ne});for(let i=0;i<s.length;i++){let r=s[i],n=`[${i+1}/${s.length}]`;r.label==="Insert initial data..."?console.log(`
|
|
9
9
|
${e} ${n} ${r.label}`):console.log(`${e} ${n} ${r.label}`),await r.action()}console.log(`${e} \x1B[32mInitial setup completed.\x1B[0m`),process.exit(0)};(0,zt.config)({quiet:!0});var Y="\x1B[34m[VitNode]\x1B[0m",Yt=process.argv[2],Z=process.argv[3];switch(Yt){case"init":Vt({initMessage:Y,flag:Z});break;case"migrate":await De(),Z==="--generate"&&(console.log(`${Y} \x1B[32mDatabase migrations generated successfully.\x1B[0m`),process.exit(0)),await xe(),await Ne(),console.log(`${Y} \x1B[32mDatabase migrated successfully.\x1B[0m`),process.exit(0);break;case"plugin":(Z==="--w"||Z==="--watch")&&Ct({initMessage:Y});break;case"prepare-plugins":await V(Z),console.log(`${Y} \x1B[32mPlugins prepared successfully.\x1B[0m`),process.exit(0);break;default:console.log(`${Y} \x1B[31mCommand not found: "${Yt??""}"\x1B[0m`),process.exit(1)}
|
|
10
10
|
/*! Bundled license information:
|
|
11
11
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-utils.d.ts","sourceRoot":"","sources":["../../../scripts/shared/file-utils.ts"],"names":[],"mappings":"AA6BA,eAAO,MAAM,QAAQ,GAAI,UAAU,MAAM,EAAE,YAAY,MAAM,KAAG,MAY/D,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,YAAY,MAAM,KACjB,GAAG,CAAC,MAAM,EAAE,MAAM,CAwBpB,CAAC;AAGF,eAAO,MAAM,oBAAoB,GAC/B,SAAS,MAAM,EACf,YAAY,MAAM,KACjB,MA8DF,CAAC;AAEF,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAiBtD;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"file-utils.d.ts","sourceRoot":"","sources":["../../../scripts/shared/file-utils.ts"],"names":[],"mappings":"AA6BA,eAAO,MAAM,QAAQ,GAAI,UAAU,MAAM,EAAE,YAAY,MAAM,KAAG,MAY/D,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,YAAY,MAAM,KACjB,GAAG,CAAC,MAAM,EAAE,MAAM,CAwBpB,CAAC;AAGF,eAAO,MAAM,oBAAoB,GAC/B,SAAS,MAAM,EACf,YAAY,MAAM,KACjB,MA8DF,CAAC;AAEF,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAiBtD;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAkEvD;AAED,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,MAAM,EAgB/C,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,KAAG,OAM9C,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,QAAQ,GACnB,SAAS,MAAM,EACf,UAAU,MAAM,EAChB,YAAY,MAAM,EAClB,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,YAAY,MAAM,EAClB,UAAU,MAAM,EAChB,iBAAc,SAoEf,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,WAAW,MAAM,EACjB,gBAAgB,MAAM,EACtB,YAAY,MAAM,EAClB,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,YAAY,MAAM,EAClB,UAAU,MAAM,EAChB,iBAAc,SAoBf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-cron.adapter.d.ts","sourceRoot":"","sources":["../../../../../src/api/adapters/cron/node-cron.adapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"node-cron.adapter.d.ts","sourceRoot":"","sources":["../../../../../src/api/adapters/cron/node-cron.adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,gBAAgB,CAAC;AAElE,eAAO,MAAM,eAAe,QAAO,WAQlC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discord.d.ts","sourceRoot":"","sources":["../../../../../src/api/adapters/sso/discord.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"discord.d.ts","sourceRoot":"","sources":["../../../../../src/api/adapters/sso/discord.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIrD,eAAO,MAAM,mBAAmB,GAAI,6BAGjC;IACD,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC,KAAG,YAoFH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facebook.d.ts","sourceRoot":"","sources":["../../../../../src/api/adapters/sso/facebook.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"facebook.d.ts","sourceRoot":"","sources":["../../../../../src/api/adapters/sso/facebook.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIrD,eAAO,MAAM,oBAAoB,GAAI,6BAGlC;IACD,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC,KAAG,YAwFH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../../../../src/api/adapters/sso/google.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../../../../src/api/adapters/sso/google.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIrD,eAAO,MAAM,kBAAkB,GAAI,6BAGhC;IACD,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC,KAAG,YA+FH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/api/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/api/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAOjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAWzD,UAAU,WAAW;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EACF,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC,GAC3D,MAAM,GACN,MAAM,EAAE,CAAC;CACd;AAED,KAAK,sBAAsB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;AAC5E,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,sBAAsB,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;CACrD;AAED,wBAAgB,UAAU,CAAC,EACzB,GAAG,EACH,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,WAAW,EACjB,gBAAgB,GACjB,EAAE;IACD,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,gBAAgB,EAAE,gBAAgB,CAAC;CACpC,oCAmEA"}
|
package/dist/src/api/config.js
CHANGED
|
@@ -57,7 +57,8 @@ export function VitNodeAPI({ app, cors: corsOptions, csrf: csrfOptions, vitNodeA
|
|
|
57
57
|
if (logger) {
|
|
58
58
|
await logger.error(`Unhandled error: ${errorMessage}`);
|
|
59
59
|
}
|
|
60
|
-
} catch {
|
|
60
|
+
} catch {
|
|
61
|
+
/* empty */ }
|
|
61
62
|
return new Response(process.env.NODE_ENV === "development" ? errorMessage : "Internal Server Error", {
|
|
62
63
|
status: 500
|
|
63
64
|
});
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import type { Context } from "hono";
|
|
2
2
|
import type { EnvVitNode } from "../middlewares/global.middleware";
|
|
3
3
|
export interface CronAdapter {
|
|
4
|
-
schedule()
|
|
4
|
+
schedule: () => void;
|
|
5
5
|
}
|
|
6
6
|
export interface BuildCronReturn {
|
|
7
|
+
description?: string;
|
|
8
|
+
handler: (c: Context<EnvVitNode>) => Promise<void> | void;
|
|
7
9
|
name: string;
|
|
8
10
|
schedule: string;
|
|
9
|
-
description?: string;
|
|
10
|
-
handler: (c: Context<EnvVitNode>) => void | Promise<void>;
|
|
11
11
|
}
|
|
12
12
|
export interface CronJobConfig extends BuildCronReturn {
|
|
13
|
-
pluginId: string;
|
|
14
13
|
module: string;
|
|
14
|
+
pluginId: string;
|
|
15
15
|
}
|
|
16
16
|
export declare function buildCron({ name, schedule, handler, description, }: BuildCronReturn): BuildCronReturn;
|
|
17
17
|
export declare const handleCronJobs: () => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cron.d.ts","sourceRoot":"","sources":["../../../../src/api/lib/cron.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"cron.d.ts","sourceRoot":"","sources":["../../../../src/api/lib/cron.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAIpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAEnE,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAc,SAAQ,eAAe;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,WAAW,GACZ,EAAE,eAAe,GAAG,eAAe,CAEnC;AAED,eAAO,MAAM,cAAc,qBAc1B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
/* eslint-disable no-console */ import { core_logs } from "../../database/logs.js";
|
|
2
2
|
export const loggerMiddleware = (c)=>{
|
|
3
3
|
const logToDbAndConsole = async (content, type)=>{
|
|
4
4
|
const pluginId = c.get("plugin")?.id ?? "core";
|
|
@@ -6,21 +6,21 @@ export interface BuildModuleType<T extends Route, Plugin extends string> {
|
|
|
6
6
|
routes: T;
|
|
7
7
|
}
|
|
8
8
|
export interface BaseBuildModuleReturn<P extends string = string, M extends string = string, Routes extends Route<P>[] = Route<P>[]> {
|
|
9
|
+
cronJobs: BuildCronReturn[];
|
|
9
10
|
hono: OpenAPIHono;
|
|
10
11
|
modules?: BaseBuildModuleReturn<P>[];
|
|
11
12
|
name: M;
|
|
12
13
|
pluginId: P;
|
|
13
14
|
routes: Routes;
|
|
14
|
-
cronJobs: BuildCronReturn[];
|
|
15
15
|
}
|
|
16
16
|
export interface BuildModuleReturn<P extends string, M extends string, Routes extends Route<P>[] = Route<P>[], Modules extends BaseBuildModuleReturn<P>[] = BaseBuildModuleReturn<P>[]> extends BaseBuildModuleReturn<P, M, Routes> {
|
|
17
17
|
modules?: Modules;
|
|
18
18
|
}
|
|
19
19
|
export declare function buildModule<const P extends string, const M extends string, const Routes extends Route<P>[], Modules extends BaseBuildModuleReturn<P>[]>({ routes, pluginId, name, modules, cronJobs, }: {
|
|
20
|
+
cronJobs?: BuildCronReturn[];
|
|
20
21
|
modules?: Modules;
|
|
21
22
|
name: M;
|
|
22
23
|
pluginId: P;
|
|
23
24
|
routes: Routes;
|
|
24
|
-
cronJobs?: BuildCronReturn[];
|
|
25
25
|
}): BuildModuleReturn<P, M, Routes, Modules>;
|
|
26
26
|
//# sourceMappingURL=module.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../src/api/lib/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../src/api/lib/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,KAAK,EAAE,MAAM,SAAS,MAAM;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,CAAC,CAAC;CACX;AAED,MAAM,WAAW,qBAAqB,CACpC,CAAC,SAAS,MAAM,GAAG,MAAM,EACzB,CAAC,SAAS,MAAM,GAAG,MAAM,EACzB,MAAM,SAAS,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE;IAEtC,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,CAAC,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB,CAChC,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,EAChB,MAAM,SAAS,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,EACtC,OAAO,SAAS,qBAAqB,CAAC,CAAC,CAAC,EAAE,GAAG,qBAAqB,CAAC,CAAC,CAAC,EAAE,CACvE,SAAQ,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,WAAW,CACzB,KAAK,CAAC,CAAC,SAAS,MAAM,EACtB,KAAK,CAAC,CAAC,SAAS,MAAM,EACtB,KAAK,CAAC,MAAM,SAAS,KAAK,CAAC,CAAC,CAAC,EAAE,EAC/B,OAAO,SAAS,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAC1C,EACA,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,QAAa,GACd,EAAE;IACD,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,CAAC,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAgB3C"}
|
|
@@ -2,9 +2,9 @@ import { OpenAPIHono } from "@hono/zod-openapi";
|
|
|
2
2
|
import type { CronJobConfig } from "./cron";
|
|
3
3
|
import type { BuildModuleReturn } from "./module";
|
|
4
4
|
export interface BuildPluginApiReturn {
|
|
5
|
+
cronJobs: Omit<CronJobConfig, "pluginId">[];
|
|
5
6
|
hono: OpenAPIHono;
|
|
6
7
|
pluginId: string;
|
|
7
|
-
cronJobs: Omit<CronJobConfig, "pluginId">[];
|
|
8
8
|
}
|
|
9
9
|
export declare function buildApiPlugin<P extends string>({ pluginId, modules, }: {
|
|
10
10
|
modules?: BuildModuleReturn<P, string>[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/api/lib/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/api/lib/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAIlD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,EAAE,CAAC;IAC5C,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,EAC/C,QAAQ,EACR,OAAY,GACb,EAAE;IACD,OAAO,CAAC,EAAE,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;IACzC,QAAQ,EAAE,CAAC,CAAC;CACb,GAAG,oBAAoB,CAmBvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../src/api/lib/route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKnE,OAAO,EACL,KAAK,UAAU,EAEhB,MAAM,kCAAkC,CAAC;AAE1C,KAAK,WAAW,CAAC,CAAC,SAAS,MAAM,IAC/B,CAAC,SAAS,GAAG,MAAM,IAAI,KAAK,MAAM,KAAK,IAAI,MAAM,IAAI,EAAE,GACnD,GAAG,IAAI,KAAK,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,GACvC,CAAC,CAAC;AAER,KAAK,YAAY,CAAC,CAAC,SAAS,WAAW,IAAI,CACzC,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,KAC1C,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAEjC,eAAO,MAAM,UAAU,GACrB,MAAM,SAAS,MAAM,EACrB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG;IACpC,IAAI,EAAE,CAAC,CAAC;IACR,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,EACD,CAAC,SAAS,YAAY,CAAC,CAAC,GAAG;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,EACvC,+BAIC;IACD,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,CAAC,CAAC;CACV,KAAG;IACF,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,CAAC,GAAG;QACT,cAAc,EAAE,MAAM,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;KAC9C,CAAC;
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../src/api/lib/route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKnE,OAAO,EACL,KAAK,UAAU,EAEhB,MAAM,kCAAkC,CAAC;AAE1C,KAAK,WAAW,CAAC,CAAC,SAAS,MAAM,IAC/B,CAAC,SAAS,GAAG,MAAM,IAAI,KAAK,MAAM,KAAK,IAAI,MAAM,IAAI,EAAE,GACnD,GAAG,IAAI,KAAK,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,GACvC,CAAC,CAAC;AAER,KAAK,YAAY,CAAC,CAAC,SAAS,WAAW,IAAI,CACzC,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,KAC1C,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAEjC,eAAO,MAAM,UAAU,GACrB,MAAM,SAAS,MAAM,EACrB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG;IACpC,IAAI,EAAE,CAAC,CAAC;IACR,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,EACD,CAAC,SAAS,YAAY,CAAC,CAAC,GAAG;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,EACvC,+BAIC;IACD,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,CAAC,CAAC;CACV,KAAG;IACF,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,CAAC,GAAG;QACT,cAAc,EAAE,MAAM,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;KAC9C,CAAC;CA4BH,CAAC;AAEF,MAAM,WAAW,KAAK,CACpB,MAAM,SAAS,MAAM,GAAG,MAAM,EAC9B,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;IAE3C,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,CAAC,CAAC;CACV"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { z } from "@hono/zod-openapi";
|
|
2
1
|
import type { ColumnBaseConfig, Placeholder, SQL } from "drizzle-orm";
|
|
3
2
|
import type { PgColumn, PgTableWithColumns, TableConfig } from "drizzle-orm/pg-core";
|
|
4
3
|
import type { Context } from "hono";
|
|
4
|
+
import { z } from "@hono/zod-openapi";
|
|
5
5
|
export declare function withPagination<QueryMin extends Record<string, unknown>, T extends TableConfig, Primary extends ColumnBaseConfig<"number", string>>({ query, table, params, where: whereFromParams, primaryCursor, orderBy: orderByFromParams, c, }: {
|
|
6
6
|
c: Context;
|
|
7
7
|
orderBy: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-pagination.d.ts","sourceRoot":"","sources":["../../../../src/api/lib/with-pagination.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"with-pagination.d.ts","sourceRoot":"","sources":["../../../../src/api/lib/with-pagination.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,KAAK,EACV,QAAQ,EAER,kBAAkB,EAClB,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AA4EtC,wBAAsB,cAAc,CAClC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxC,CAAC,SAAS,WAAW,EACrB,OAAO,SAAS,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,EAClD,EACA,KAAK,EACL,KAAK,EACL,MAAM,EACN,KAAK,EAAE,eAAe,EACtB,aAAa,EACb,OAAO,EAAE,iBAAiB,EAC1B,CAAC,GACF,EAAE;IACD,CAAC,EAAE,OAAO,CAAC;IACX,OAAO,EAAE;QACP,MAAM,EAAE,QAAQ,CAAC;QACjB,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;KACvB,CAAC;IACF,MAAM,EAAE;QACN,KAAK,EAAE;YACL,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,IAAI,CAAC,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CAAC;IACF,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,KAAK,EAAE,CAAC,IAAI,EAAE;QACZ,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC7C,OAAO,EAAE,GAAG,CAAC;QACb,KAAK,EAAE,GAAG,GAAG,SAAS,CAAC;KACxB,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1B,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,GAAG,CAAC;CACb,GAAG,OAAO,CAAC;IACV,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;QACzB,WAAW,EAAE,OAAO,CAAC;QACrB,eAAe,EAAE,OAAO,CAAC;QACzB,WAAW,EAAE,IAAI,GAAG,MAAM,CAAC;QAC3B,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC,CA8CD;AAED,eAAO,MAAM,qBAAqB;;;;;;;iBAOhC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;iBAI7B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cron-auth.middleware.d.ts","sourceRoot":"","sources":["../../../../src/api/middlewares/cron-auth.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"cron-auth.middleware.d.ts","sourceRoot":"","sources":["../../../../src/api/middlewares/cron-auth.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAI1C,eAAO,MAAM,kBAAkB,SACf,GAAG,OAAO,EAAE,MAAM,IAAI,kBAerC,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { Context, Env, Next } from "hono";
|
|
2
|
-
import { type EmailModelSendArgs } from "../../api/models/email";
|
|
3
2
|
import type { VitNodeApiConfig, VitNodeConfig } from "../../vitnode.config";
|
|
3
|
+
import { type EmailModelSendArgs } from "../../api/models/email";
|
|
4
4
|
import type { BuildCronReturn } from "../lib/cron";
|
|
5
|
-
import { type LoggerMiddlewareType } from "../lib/logger-middleware";
|
|
6
5
|
import type { SSOApiPlugin } from "../models/sso";
|
|
6
|
+
import { type LoggerMiddlewareType } from "../lib/logger-middleware";
|
|
7
7
|
declare module "hono" {
|
|
8
8
|
interface ContextVariableMap extends EnvVariablesVitNode {
|
|
9
9
|
}
|
|
@@ -38,6 +38,10 @@ export interface EnvVariablesVitNode {
|
|
|
38
38
|
ssoAdapters: SSOApiPlugin[];
|
|
39
39
|
};
|
|
40
40
|
captcha?: Pick<VitNodeApiConfig, "captcha">["captcha"];
|
|
41
|
+
cron: (BuildCronReturn & {
|
|
42
|
+
module: string;
|
|
43
|
+
pluginId: string;
|
|
44
|
+
})[];
|
|
41
45
|
cronSecret?: string;
|
|
42
46
|
email?: VitNodeApiConfig["email"];
|
|
43
47
|
metadata: {
|
|
@@ -50,10 +54,6 @@ export interface EnvVariablesVitNode {
|
|
|
50
54
|
plugins: {
|
|
51
55
|
id: string;
|
|
52
56
|
}[];
|
|
53
|
-
cron: ({
|
|
54
|
-
pluginId: string;
|
|
55
|
-
module: string;
|
|
56
|
-
} & BuildCronReturn)[];
|
|
57
57
|
};
|
|
58
58
|
db: Pick<VitNodeApiConfig, "dbProvider">["dbProvider"];
|
|
59
59
|
email: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global.middleware.d.ts","sourceRoot":"","sources":["../../../../src/api/middlewares/global.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"global.middleware.d.ts","sourceRoot":"","sources":["../../../../src/api/middlewares/global.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAI/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAExE,OAAO,EAAc,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAKzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,0BAA0B,CAAC;AAElC,OAAO,QAAQ,MAAM,CAAC;IAEpB,UAAU,kBAAmB,SAAQ,mBAAmB;KAAG;CAC5D;AAED,MAAM,WAAW,UAAW,SAAQ,GAAG;IACrC,SAAS,EAAE,mBAAmB,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,IAAI,GAAG;QACZ,IAAI,EAAE;YACJ,WAAW,EAAE,MAAM,CAAC;YACpB,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;YACtB,SAAS,EAAE,IAAI,CAAC;YAChB,KAAK,EAAE,MAAM,CAAC;YACd,aAAa,EAAE,OAAO,CAAC;YACvB,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,EAAE,MAAM,CAAC;YACjB,UAAU,EAAE,OAAO,CAAC;YACpB,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;KACH,CAAC;IACF,IAAI,EAAE;QACJ,aAAa,EAAE;YACb,kBAAkB,EAAE,MAAM,CAAC;YAC3B,eAAe,EAAE,MAAM,CAAC;YACxB,cAAc,EAAE,MAAM,CAAC;YACvB,UAAU,EAAE,MAAM,CAAC;YACnB,YAAY,EAAE,OAAO,CAAC;YACtB,mBAAmB,EAAE,MAAM,CAAC;YAC5B,gBAAgB,EAAE,MAAM,CAAC;YACzB,WAAW,EAAE,YAAY,EAAE,CAAC;SAC7B,CAAC;QACF,OAAO,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,EAAE,CAAC,eAAe,GAAG;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,EAAE,CAAC;QACjE,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAClC,QAAQ,EAAE;YACR,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;QACF,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC/D,OAAO,EAAE;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KAC3B,CAAC;IACF,EAAE,EAAE,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC;IACvD,KAAK,EAAE;QACL,IAAI,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KACnD,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,oBAAoB,CAAC;IAC1B,MAAM,EAAE;QACN,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,IAAI,EAAE,IAAI,GAAG;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;QACtB,SAAS,EAAE,IAAI,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,OAAO,CAAC;QACvB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,OAAO,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,eAAO,MAAM,gBAAgB,GAAI,mFAQ9B,IAAI,CACL,gBAAgB,EACd,eAAe,GACf,SAAS,GACT,YAAY,GACZ,OAAO,GACP,gBAAgB,GAChB,SAAS,CACZ,GACC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,MAmCjB,GAAG,OAAO,EAAE,MAAM,IAAI,kBA0DrC,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,UAAU,MAAM,MACjC,GAAG,OAAO,EAAE,MAAM,IAAI,kBAMrC,CAAC;AAEF,eAAO,MAAM,qBAAqB,SAClB,GAAG,OAAO,EAAE,MAAM,IAAI,kBASrC,CAAC"}
|
|
@@ -34,7 +34,6 @@ export const globalMiddleware = ({ authorization, metadata, email, dbProvider, c
|
|
|
34
34
|
"fastly-client-ip",
|
|
35
35
|
"x-fastly-client-ip"
|
|
36
36
|
];
|
|
37
|
-
// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: <needed>
|
|
38
37
|
return async (c, next)=>{
|
|
39
38
|
let ipAddress;
|
|
40
39
|
// Try to get IP from Hono's request header method first
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../../../src/api/models/device.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../../../src/api/models/device.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AASpC,qBAAa,WAAW;gBACV,CAAC,EAAE,OAAO;IAGtB,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;YAEhB,YAAY;IAkB1B,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,eAAe;IAiBjB,WAAW;;;;CAwClB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { randomBytes } from "node:crypto";
|
|
2
1
|
import { eq } from "drizzle-orm";
|
|
3
2
|
import { getCookie, setCookie } from "hono/cookie";
|
|
3
|
+
import { randomBytes } from "node:crypto";
|
|
4
4
|
import { core_sessions_known_devices } from "../../database/sessions.js";
|
|
5
5
|
import { CONFIG } from "../../lib/config.js";
|
|
6
6
|
export class DeviceModel {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../../src/api/models/email.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../../src/api/models/email.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AACxD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAI/E,UAAU,0BAA0B;IAClC,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,EAAE,CAAC,EAAE,KAAK,CAAC;IACX,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,UAAU,2BAA2B;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,KAAK,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,CAAC,IAAI,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;QACjD,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;KACZ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrB;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,CACP,KAAK,EAAE,IAAI,CAAC,yBAAyB,EAAE,UAAU,CAAC,GAChD,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,KAC/B,KAAK,CAAC,SAAS,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EACH,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,yBAAyB,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,GAC5D,MAAM,CAAC;CAEZ,GAAG,CAAC,2BAA2B,GAAG,0BAA0B,CAAC,CAAC;AAE/D,qBAAa,UAAU;gBACT,CAAC,EAAE,OAAO;IAItB,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;IAExB,IAAI,CAAC,EACT,IAAI,EACJ,OAAO,EACP,OAAO,EACP,EAAE,EACF,IAAI,EACJ,OAAO,EACP,MAAM,EAAE,cAAc,GACvB,EAAE,kBAAkB;CA+EtB"}
|
|
@@ -29,8 +29,7 @@ export class EmailModel {
|
|
|
29
29
|
}
|
|
30
30
|
});
|
|
31
31
|
const allMessages = await Promise.all(messagesPromises);
|
|
32
|
-
const messages = allMessages.reduce(
|
|
33
|
-
(acc, curr)=>({
|
|
32
|
+
const messages = allMessages.reduce((acc, curr)=>({
|
|
34
33
|
...acc,
|
|
35
34
|
...curr
|
|
36
35
|
}), {});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-admin.d.ts","sourceRoot":"","sources":["../../../../src/api/models/session-admin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session-admin.d.ts","sourceRoot":"","sources":["../../../../src/api/models/session-admin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAYpC,qBAAa,iBAAiB;gBAChB,CAAC,EAAE,OAAO;IAGtB,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;YAEhB,SAAS;IASjB,kBAAkB,CAAC,MAAM,EAAE,MAAM;IAmBjC,qBAAqB,CAAC,MAAM,EAAE,MAAM;;;IAwCpC,aAAa;IAoBb,OAAO;;;;;;;;;;;;;CAiDd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/api/models/session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/api/models/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAWpC,qBAAa,YAAY;gBACX,CAAC,EAAE,OAAO;IAGtB,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;YAEhB,SAAS;IASjB,qBAAqB,CAAC,MAAM,EAAE,MAAM;;;IAsCpC,aAAa;IA8Bb,OAAO;;;;;;;;;;;;;CA0Cd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sso.d.ts","sourceRoot":"","sources":["../../../../src/api/models/sso.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sso.d.ts","sourceRoot":"","sources":["../../../../src/api/models/sso.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAapC,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,CACV,IAAI,EAAE,MAAM,KACT,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,SAAS,EAAE,CAAC,IAAI,EAAE;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;KACpB,KAAK,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/D,MAAM,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,WACgB,CAAC;AAE5D,qBAAa,QAAQ;gBACP,CAAC,EAAE,OAAO;IAKtB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAU;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IAEzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CA6BzB;IAEI,QAAQ,CAAC,EACb,IAAI,EACJ,UAAU,EACV,KAAK,GACN,EAAE;QACD,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC;QACV,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IA8DI,YAAY;IA2BZ,MAAM,CAAC,UAAU,EAAE,MAAM;IASzB,WAAW,CAAC,KAAK,EAAE,MAAM;CA+BhC"}
|