vasuzex 2.0.13 → 2.0.15
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/NPM_LINK_TEST_RESULTS.md +215 -0
- package/PRODUCTION_FIXES_V2.0.15.md +357 -0
- package/bin/create-vasuzex.js +44 -5
- package/database/index.js +5 -5
- package/database/models/User.js +15 -0
- package/database/package.json +10 -0
- package/framework/Console/Commands/generate-app.js +17 -19
- package/framework/Console/Commands/utils/databasePackageTemplate.js +20 -0
- package/framework/Console/Commands/utils/fileOperations.js +14 -0
- package/framework/Console/Commands/utils/index.js +4 -7
- package/framework/Console/Commands/utils/packageManager.js +20 -6
- package/framework/Console/Commands/utils/plopGenerator.js +113 -0
- package/framework/Console/Commands/utils/templateGenerator.js +0 -8
- package/framework/Console/config/generator.config.js +142 -0
- package/framework/Console/plopfile.js +142 -0
- package/{apps/pilot-test/api → framework/Console}/src/app.js +5 -13
- package/framework/Console/src/config/database.js +53 -0
- package/framework/Console/src/helpers/env.js +8 -0
- package/{apps/pilot-test/api → framework/Console}/src/index.js +11 -11
- package/{apps/pilot-test/api → framework/Console}/src/middleware/authMiddleware.js +1 -1
- package/framework/Console/src/routes/index.js +16 -0
- package/{apps/pilot-test/api → framework/Console}/src/services/AuthService.js +1 -1
- package/framework/Console/templates/api/app.js.hbs +59 -0
- package/framework/Console/templates/api/config/database.js.hbs +53 -0
- package/framework/Console/templates/api/controllers/AuthController.js.hbs +90 -0
- package/framework/Console/templates/api/controllers/BaseController.js.hbs +25 -0
- package/framework/Console/templates/api/helpers/env.js.hbs +8 -0
- package/framework/Console/templates/api/middleware/authMiddleware.js.hbs +48 -0
- package/framework/Console/templates/api/middleware/errorHandler.js.hbs +30 -0
- package/framework/Console/templates/api/requests/AuthRequests.js.hbs +16 -0
- package/framework/Console/templates/api/routes/auth.js.hbs +20 -0
- package/framework/Console/templates/api/routes/index.js.hbs +16 -0
- package/framework/Console/templates/api/server.js.hbs +127 -0
- package/framework/Console/templates/api/services/AuthService.js.hbs +95 -0
- package/framework/Database/Model.js +58 -4
- package/framework/Foundation/BaseApp.js +42 -1
- package/framework/package.json +3 -0
- package/framework/vasuzex-framework-core-1.0.0.tgz +0 -0
- package/frontend/react-ui/node_modules/@esbuild/darwin-x64/README.md +3 -0
- package/frontend/react-ui/node_modules/@esbuild/darwin-x64/bin/esbuild +0 -0
- package/frontend/react-ui/node_modules/@esbuild/darwin-x64/package.json +20 -0
- package/frontend/react-ui/node_modules/esbuild/LICENSE.md +21 -0
- package/frontend/react-ui/node_modules/esbuild/README.md +3 -0
- package/frontend/react-ui/node_modules/esbuild/bin/esbuild +223 -0
- package/frontend/react-ui/node_modules/esbuild/install.js +289 -0
- package/frontend/react-ui/node_modules/esbuild/lib/main.d.ts +716 -0
- package/frontend/react-ui/node_modules/esbuild/lib/main.js +2242 -0
- package/frontend/react-ui/node_modules/esbuild/package.json +49 -0
- package/frontend/react-ui/node_modules/jsdom/LICENSE.txt +22 -0
- package/frontend/react-ui/node_modules/jsdom/README.md +521 -0
- package/frontend/react-ui/node_modules/jsdom/lib/api.js +334 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/browser/Window.js +1012 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/browser/default-stylesheet.js +789 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/browser/js-globals.json +312 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/browser/not-implemented.js +13 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/browser/parser/html.js +208 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/browser/parser/index.js +37 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/browser/parser/xml.js +202 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/browser/resources/async-resource-queue.js +114 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/browser/resources/no-op-resource-loader.js +8 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/browser/resources/per-document-resource-loader.js +98 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/browser/resources/request-manager.js +33 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/browser/resources/resource-loader.js +142 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/browser/resources/resource-queue.js +142 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/level2/style.js +57 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/level3/xpath.js +1875 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/aborting/AbortController-impl.js +17 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/aborting/AbortSignal-impl.js +84 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/attributes/Attr-impl.js +60 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/attributes/NamedNodeMap-impl.js +78 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/attributes.js +312 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/constraint-validation/DefaultConstraintValidation-impl.js +75 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js +66 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/crypto/Crypto-impl.js +68 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/cssom/StyleSheetList-impl.js +38 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/custom-elements/CustomElementRegistry-impl.js +268 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/custom-elements/ElementInternals-impl.js +38 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/documents.js +15 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/domparsing/DOMParser-impl.js +59 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/domparsing/InnerHTML-impl.js +30 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/domparsing/XMLSerializer-impl.js +18 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/domparsing/parse5-adapter-serialization.js +63 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/domparsing/serialization.js +36 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/CloseEvent-impl.js +10 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/CompositionEvent-impl.js +20 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/CustomEvent-impl.js +21 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/ErrorEvent-impl.js +14 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/Event-impl.js +197 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/EventModifierMixin-impl.js +24 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js +419 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/FocusEvent-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/HashChangeEvent-impl.js +14 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/InputEvent-impl.js +11 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/KeyboardEvent-impl.js +29 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/MessageEvent-impl.js +25 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/MouseEvent-impl.js +72 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/PageTransitionEvent-impl.js +20 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/PopStateEvent-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/ProgressEvent-impl.js +14 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/StorageEvent-impl.js +26 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/SubmitEvent-impl.js +13 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/TouchEvent-impl.js +14 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/UIEvent-impl.js +59 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/WheelEvent-impl.js +12 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/fetch/Headers-impl.js +172 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/fetch/header-list.js +65 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/fetch/header-types.js +103 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/file-api/Blob-impl.js +93 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/file-api/File-impl.js +12 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/file-api/FileList-impl.js +15 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/file-api/FileReader-impl.js +130 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/AbortController.js +143 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/AbortSignal.js +215 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/AbstractRange.js +171 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/AddEventListenerOptions.js +55 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/AssignedNodesOptions.js +28 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Attr.js +217 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/BarProp.js +117 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/BinaryType.js +12 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Blob.js +203 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/BlobCallback.js +30 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/BlobPropertyBag.js +42 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/CDATASection.js +109 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/CanPlayTypeResult.js +12 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/CharacterData.js +453 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/CloseEvent.js +168 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/CloseEventInit.js +65 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Comment.js +120 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/CompositionEvent.js +219 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/CompositionEventInit.js +32 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Crypto.js +144 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/CustomElementConstructor.js +34 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/CustomElementRegistry.js +242 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/CustomEvent.js +206 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/CustomEventInit.js +32 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/DOMException.js +222 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/DOMImplementation.js +237 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/DOMParser.js +140 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/DOMRect.js +276 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/DOMRectInit.js +76 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/DOMRectReadOnly.js +285 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/DOMStringMap.js +323 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/DOMTokenList.js +563 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Document.js +4157 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/DocumentFragment.js +334 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/DocumentReadyState.js +12 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/DocumentType.js +252 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Element.js +3718 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ElementCreationOptions.js +26 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ElementDefinitionOptions.js +29 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ElementInternals.js +2137 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/EndingType.js +12 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ErrorEvent.js +192 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ErrorEventInit.js +92 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Event.js +430 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/EventHandlerNonNull.js +36 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/EventInit.js +58 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js +35 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/EventListenerOptions.js +28 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/EventModifierInit.js +221 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js +259 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/External.js +130 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/File.js +177 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/FileList.js +324 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/FilePropertyBag.js +33 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/FileReader.js +468 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/FocusEvent.js +144 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/FocusEventInit.js +36 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/FormData.js +468 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Function.js +42 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/GetRootNodeOptions.js +31 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLAnchorElement.js +1023 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLAreaElement.js +822 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLAudioElement.js +110 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLBRElement.js +153 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLBaseElement.js +193 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLBodyElement.js +877 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLButtonElement.js +522 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js +304 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLCollection.js +378 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLDListElement.js +156 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLDataElement.js +153 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLDataListElement.js +125 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLDetailsElement.js +156 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLDialogElement.js +156 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLDirectoryElement.js +156 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLDivElement.js +153 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLElement.js +3137 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLEmbedElement.js +371 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLFieldSetElement.js +329 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLFontElement.js +236 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLFormControlsCollection.js +344 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLFormElement.js +501 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLFrameElement.js +494 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLFrameSetElement.js +708 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLHRElement.js +320 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLHeadElement.js +110 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLHeadingElement.js +153 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLHtmlElement.js +153 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLIFrameElement.js +670 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLImageElement.js +877 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLInputElement.js +1920 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLLIElement.js +201 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLLabelElement.js +179 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLLegendElement.js +166 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLLinkElement.js +545 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLMapElement.js +168 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLMarqueeElement.js +554 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLMediaElement.js +891 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLMenuElement.js +156 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLMetaElement.js +276 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLMeterElement.js +365 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLModElement.js +207 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLOListElement.js +281 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLObjectElement.js +925 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLOptGroupElement.js +197 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLOptionElement.js +376 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLOptionsCollection.js +537 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLOutputElement.js +392 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLParagraphElement.js +153 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLParamElement.js +276 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLPictureElement.js +110 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLPreElement.js +160 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLProgressElement.js +228 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLQuoteElement.js +166 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLScriptElement.js +462 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLSelectElement.js +1015 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLSlotElement.js +192 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLSourceElement.js +330 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLSpanElement.js +110 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLStyleElement.js +207 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableCaptionElement.js +153 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableCellElement.js +729 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableColElement.js +372 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableElement.js +799 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableRowElement.js +414 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableSectionElement.js +346 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLTemplateElement.js +123 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLTextAreaElement.js +1206 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLTimeElement.js +153 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLTitleElement.js +152 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLTrackElement.js +356 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLUListElement.js +197 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLUnknownElement.js +109 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLVideoElement.js +333 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HashChangeEvent.js +157 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HashChangeEventInit.js +50 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Headers.js +418 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/History.js +266 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/InputEvent.js +168 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/InputEventInit.js +68 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/KeyboardEvent.js +445 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/KeyboardEventInit.js +116 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Location.js +404 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/MessageEvent.js +317 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/MessageEventInit.js +100 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/MimeType.js +156 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/MimeTypeArray.js +352 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/MouseEvent.js +569 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/MouseEventInit.js +159 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/MutationCallback.js +34 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/MutationObserver.js +178 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/MutationObserverInit.js +121 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/MutationRecord.js +229 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/NamedNodeMap.js +553 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Navigator.js +326 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Node.js +763 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/NodeFilter.js +75 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/NodeIterator.js +207 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/NodeList.js +328 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/OnBeforeUnloadEventHandlerNonNull.js +42 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/OnErrorEventHandlerNonNull.js +56 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/PageTransitionEvent.js +144 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/PageTransitionEventInit.js +35 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Performance.js +142 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Plugin.js +385 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/PluginArray.js +362 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/PopStateEvent.js +144 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/PopStateEventInit.js +32 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ProcessingInstruction.js +122 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ProgressEvent.js +170 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ProgressEventInit.js +65 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/RadioNodeList.js +322 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Range.js +641 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/SVGAnimatedString.js +149 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/SVGBoundingBoxOptions.js +64 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/SVGElement.js +2799 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/SVGGraphicsElement.js +139 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/SVGNumber.js +132 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/SVGSVGElement.js +737 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/SVGStringList.js +537 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/SVGTitleElement.js +109 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Screen.js +180 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ScrollBehavior.js +12 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ScrollIntoViewOptions.js +45 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ScrollLogicalPosition.js +14 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ScrollOptions.js +30 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ScrollRestoration.js +12 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Selection.js +569 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/SelectionMode.js +12 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ShadowRoot.js +187 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ShadowRootInit.js +30 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ShadowRootMode.js +12 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/StaticRange.js +123 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/StaticRangeInit.js +72 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Storage.js +423 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/StorageEvent.js +318 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/StorageEventInit.js +99 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/StyleSheetList.js +326 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/SubmitEvent.js +144 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/SubmitEventInit.js +36 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/SupportedType.js +18 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Text.js +170 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/TextTrackKind.js +12 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/TouchEvent.js +222 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/TouchEventInit.js +89 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/TreeWalker.js +255 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/UIEvent.js +235 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/UIEventInit.js +62 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ValidityState.js +249 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/VisibilityState.js +12 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/VoidFunction.js +26 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/WebSocket.js +476 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/WheelEvent.js +191 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/WheelEventInit.js +71 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/XMLDocument.js +109 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/XMLHttpRequest.js +655 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/XMLHttpRequestEventTarget.js +334 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/XMLHttpRequestResponseType.js +14 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/XMLHttpRequestUpload.js +109 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/XMLSerializer.js +132 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/utils.js +190 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/geometry/DOMRect-impl.js +39 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/geometry/DOMRectReadOnly-impl.js +72 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/agent-factory.js +13 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/binary-data.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/colors.js +245 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/create-element.js +323 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/create-event-accessor.js +188 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/custom-elements.js +272 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/dates-and-times.js +270 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/details.js +15 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/document-base-url.js +54 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/events.js +24 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/focusing.js +104 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/form-controls.js +306 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/html-constructor.js +78 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/http-request.js +261 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/internal-constants.js +12 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/iterable-weak-set.js +48 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/json.js +12 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/mutation-observers.js +198 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/namespaces.js +15 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/node.js +68 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/number-and-date-inputs.js +195 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/ordered-set.js +104 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/page-transition-event.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js +76 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/selectors.js +47 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/shadow-dom.js +285 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/strings.js +148 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/style-rules.js +243 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/stylesheets.js +123 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/svg/basic-types.js +41 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/svg/render.js +46 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/text.js +19 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/traversal.js +72 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/validate-names.js +65 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/hr-time/Performance-impl.js +22 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/interfaces.js +228 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/mutation-observer/MutationObserver-impl.js +95 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/mutation-observer/MutationRecord-impl.js +37 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/named-properties-window.js +141 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/navigator/MimeType-impl.js +3 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/navigator/MimeTypeArray-impl.js +21 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/navigator/Navigator-impl.js +29 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorConcurrentHardware-impl.js +8 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorCookies-impl.js +7 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorID-impl.js +37 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorLanguage-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorOnLine-impl.js +7 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorPlugins-impl.js +8 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/navigator/Plugin-impl.js +3 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/navigator/PluginArray-impl.js +23 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/node-document-position.js +10 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/node-type.js +16 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/node.js +331 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/CDATASection-impl.js +16 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/CharacterData-impl.js +118 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/ChildNode-impl.js +80 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/Comment-impl.js +20 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/DOMImplementation-impl.js +120 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/DOMStringMap-impl.js +64 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/DOMTokenList-impl.js +171 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/Document-impl.js +935 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/DocumentFragment-impl.js +44 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/DocumentOrShadowRoot-impl.js +28 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/DocumentType-impl.js +24 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/Element-impl.js +599 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/ElementCSSInlineStyle-impl.js +22 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/ElementContentEditable-impl.js +7 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/GlobalEventHandlers-impl.js +145 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAnchorElement-impl.js +50 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAreaElement-impl.js +43 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAudioElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLBRElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLBaseElement-impl.js +27 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLBodyElement-impl.js +17 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLButtonElement-impl.js +79 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js +130 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCollection-impl.js +96 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDListElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDataElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDataListElement-impl.js +20 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDetailsElement-impl.js +35 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDialogElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDirectoryElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDivElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLElement-impl.js +210 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLEmbedElement-impl.js +8 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFieldSetElement-impl.js +43 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFontElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFormControlsCollection-impl.js +33 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFormElement-impl.js +240 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFrameElement-impl.js +261 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFrameSetElement-impl.js +17 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHRElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHeadElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHeadingElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHtmlElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHyperlinkElementUtils-impl.js +367 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLIFrameElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLImageElement-impl.js +132 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLInputElement-impl.js +1097 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLIElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLabelElement-impl.js +94 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLegendElement-impl.js +18 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLinkElement-impl.js +108 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMapElement-impl.js +13 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMarqueeElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMediaElement-impl.js +138 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMenuElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMetaElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMeterElement-impl.js +180 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLModElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOListElement-impl.js +22 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLObjectElement-impl.js +26 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOptGroupElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOptionElement-impl.js +146 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOptionsCollection-impl.js +110 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOrSVGElement-impl.js +85 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOutputElement-impl.js +88 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLParagraphElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLParamElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLPictureElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLPreElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLProgressElement-impl.js +72 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLQuoteElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLScriptElement-impl.js +262 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLSelectElement-impl.js +283 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLSlotElement-impl.js +59 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLSourceElement-impl.js +8 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLSpanElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLStyleElement-impl.js +74 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableCaptionElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableCellElement-impl.js +73 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableColElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableElement-impl.js +236 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableRowElement-impl.js +88 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableSectionElement-impl.js +61 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTemplateElement-impl.js +67 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTextAreaElement-impl.js +244 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTimeElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTitleElement-impl.js +18 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTrackElement-impl.js +13 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLUListElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLUnknownElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLVideoElement-impl.js +17 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/LinkStyle-impl.js +2 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/Node-impl.js +1161 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/NodeList-impl.js +43 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/NonDocumentTypeChildNode-impl.js +28 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/NonElementParentNode-impl.js +11 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/ParentNode-impl.js +91 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/ProcessingInstruction-impl.js +22 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/RadioNodeList-impl.js +49 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/SVGElement-impl.js +64 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/SVGGraphicsElement-impl.js +16 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/SVGSVGElement-impl.js +42 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/SVGTests-impl.js +42 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/SVGTitleElement-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/ShadowRoot-impl.js +41 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/Slotable-impl.js +48 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/Text-impl.js +96 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/WindowEventHandlers-impl.js +52 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/XMLDocument-impl.js +4 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/range/AbstractRange-impl.js +43 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/range/Range-impl.js +897 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/range/StaticRange-impl.js +39 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/range/boundary-point.js +47 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/selection/Selection-impl.js +358 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/svg/SVGAnimatedString-impl.js +38 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/svg/SVGListBase.js +195 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/svg/SVGNumber-impl.js +48 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/svg/SVGStringList-impl.js +16 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/traversal/NodeIterator-impl.js +107 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/traversal/TreeWalker-impl.js +217 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/traversal/helpers.js +44 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/webidl/DOMException-impl.js +46 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/websockets/WebSocket-impl.js +328 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/webstorage/Storage-impl.js +102 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/window/BarProp-impl.js +10 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/window/External-impl.js +9 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/window/History-impl.js +148 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/window/Location-impl.js +228 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/window/Screen-impl.js +13 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/window/SessionHistory.js +163 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/window/navigation.js +85 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/xhr/FormData-impl.js +191 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/xhr/XMLHttpRequest-impl.js +1023 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/xhr/XMLHttpRequestEventTarget-impl.js +17 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/xhr/XMLHttpRequestUpload-impl.js +4 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js +59 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/xhr/xhr-utils.js +441 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/named-properties-tracker.js +158 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/utils.js +105 -0
- package/frontend/react-ui/node_modules/jsdom/lib/jsdom/virtual-console.js +34 -0
- package/frontend/react-ui/node_modules/jsdom/package.json +92 -0
- package/frontend/react-ui/node_modules/rrweb-cssom/LICENSE.txt +20 -0
- package/frontend/react-ui/node_modules/rrweb-cssom/README.mdown +74 -0
- package/frontend/react-ui/node_modules/rrweb-cssom/build/CSSOM.js +1932 -0
- package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSConditionRule.js +25 -0
- package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSContainerRule.js +50 -0
- package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSDocumentRule.js +39 -0
- package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSFontFaceRule.js +36 -0
- package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSGroupingRule.js +69 -0
- package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSHostRule.js +37 -0
- package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSImportRule.js +132 -0
- package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSKeyframeRule.js +37 -0
- package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSKeyframesRule.js +39 -0
- package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSMediaRule.js +53 -0
- package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSOM.js +3 -0
- package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSRule.js +45 -0
- package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSStartingStyleRule.js +37 -0
- package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSStyleDeclaration.js +148 -0
- package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSStyleRule.js +190 -0
- package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSStyleSheet.js +88 -0
- package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSSupportsRule.js +36 -0
- package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSValue.js +43 -0
- package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSValueExpression.js +344 -0
- package/frontend/react-ui/node_modules/rrweb-cssom/lib/MatcherList.js +62 -0
- package/frontend/react-ui/node_modules/rrweb-cssom/lib/MediaList.js +61 -0
- package/frontend/react-ui/node_modules/rrweb-cssom/lib/StyleSheet.js +17 -0
- package/frontend/react-ui/node_modules/rrweb-cssom/lib/clone.js +75 -0
- package/frontend/react-ui/node_modules/rrweb-cssom/lib/index.js +25 -0
- package/frontend/react-ui/node_modules/rrweb-cssom/lib/parse.js +504 -0
- package/frontend/react-ui/node_modules/rrweb-cssom/package.json +27 -0
- package/frontend/react-ui/node_modules/vite/LICENSE.md +2406 -0
- package/frontend/react-ui/node_modules/vite/README.md +20 -0
- package/frontend/react-ui/node_modules/vite/bin/openChrome.applescript +95 -0
- package/frontend/react-ui/node_modules/vite/bin/vite.js +79 -0
- package/frontend/react-ui/node_modules/vite/client.d.ts +279 -0
- package/frontend/react-ui/node_modules/vite/dist/client/client.mjs +1134 -0
- package/frontend/react-ui/node_modules/vite/dist/client/env.mjs +24 -0
- package/frontend/react-ui/node_modules/vite/dist/node/chunks/dep-3RmXg9uo.js +553 -0
- package/frontend/react-ui/node_modules/vite/dist/node/chunks/dep-C9BXG1mU.js +822 -0
- package/frontend/react-ui/node_modules/vite/dist/node/chunks/dep-CvfTChi5.js +8218 -0
- package/frontend/react-ui/node_modules/vite/dist/node/chunks/dep-D4NMHUTW.js +49531 -0
- package/frontend/react-ui/node_modules/vite/dist/node/chunks/dep-DWMUTS1A.js +7113 -0
- package/frontend/react-ui/node_modules/vite/dist/node/cli.js +949 -0
- package/frontend/react-ui/node_modules/vite/dist/node/constants.js +149 -0
- package/frontend/react-ui/node_modules/vite/dist/node/index.d.ts +4222 -0
- package/frontend/react-ui/node_modules/vite/dist/node/index.js +194 -0
- package/frontend/react-ui/node_modules/vite/dist/node/module-runner.d.ts +290 -0
- package/frontend/react-ui/node_modules/vite/dist/node/module-runner.js +1311 -0
- package/frontend/react-ui/node_modules/vite/dist/node/moduleRunnerTransport.d-DJ_mE5sf.d.ts +87 -0
- package/frontend/react-ui/node_modules/vite/dist/node-cjs/publicUtils.cjs +3987 -0
- package/frontend/react-ui/node_modules/vite/index.cjs +96 -0
- package/frontend/react-ui/node_modules/vite/index.d.cts +6 -0
- package/frontend/react-ui/node_modules/vite/misc/false.js +1 -0
- package/frontend/react-ui/node_modules/vite/misc/true.js +1 -0
- package/frontend/react-ui/node_modules/vite/package.json +204 -0
- package/frontend/react-ui/node_modules/vite/types/customEvent.d.ts +45 -0
- package/frontend/react-ui/node_modules/vite/types/hmrPayload.d.ts +74 -0
- package/frontend/react-ui/node_modules/vite/types/hot.d.ts +39 -0
- package/frontend/react-ui/node_modules/vite/types/import-meta.d.ts +5 -0
- package/frontend/react-ui/node_modules/vite/types/importGlob.d.ts +75 -0
- package/frontend/react-ui/node_modules/vite/types/importMeta.d.ts +31 -0
- package/frontend/react-ui/node_modules/vite/types/internal/cssPreprocessorOptions.d.ts +63 -0
- package/frontend/react-ui/node_modules/vite/types/internal/lightningcssOptions.d.ts +18 -0
- package/frontend/react-ui/node_modules/vite/types/metadata.d.ts +35 -0
- package/frontend/react-ui/node_modules/vite/types/package.json +4 -0
- package/package.json +35 -29
- package/apps/pilot-test/api/.env.example +0 -8
- package/apps/pilot-test/api/README.md +0 -105
- package/apps/pilot-test/api/config/database.js +0 -27
- package/apps/pilot-test/api/database/migrations/2025_12_06_19_20_57_create_users_table.js +0 -21
- package/apps/pilot-test/api/database/seeders/UserSeeder.js +0 -30
- package/apps/pilot-test/api/package.json +0 -26
- package/apps/pilot-test/api/src/helpers/env.js +0 -8
- package/apps/pilot-test/api/src/models/User.js +0 -76
- package/apps/pilot-test/api/src/routes/index.js +0 -33
- package/apps/pilot-test/api/src/routes/post.routes.js +0 -25
- package/bin/create-vasuzex.js.backup +0 -699
- package/framework/Console/Commands/utils/apiStructure.js +0 -167
- package/framework/Console/Commands/utils/apiTemplates.js +0 -933
- /package/{apps/pilot-test/api → framework/Console}/src/controllers/AuthController.js +0 -0
- /package/{apps/pilot-test/api → framework/Console}/src/controllers/BaseController.js +0 -0
- /package/{apps/pilot-test/api → framework/Console}/src/middleware/errorHandler.js +0 -0
- /package/{apps/pilot-test/api → framework/Console}/src/requests/AuthRequests.js +0 -0
- /package/{apps/pilot-test/api/src/routes/auth.routes.js → framework/Console/src/routes/auth.js} +0 -0
|
@@ -1,699 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
import { program } from 'commander';
|
|
4
|
-
import inquirer from 'inquirer';
|
|
5
|
-
import fs from 'fs-extra';
|
|
6
|
-
import path from 'path';
|
|
7
|
-
import { fileURLToPath } from 'url';
|
|
8
|
-
import { execSync } from 'child_process';
|
|
9
|
-
import ora from 'ora';
|
|
10
|
-
import chalk from 'chalk';
|
|
11
|
-
|
|
12
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
13
|
-
const __dirname = path.dirname(__filename);
|
|
14
|
-
const frameworkRoot = path.resolve(__dirname, '..');
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* ====================
|
|
18
|
-
* MODULAR FUNCTIONS
|
|
19
|
-
* ====================
|
|
20
|
-
*/
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Prompt user for project configuration
|
|
24
|
-
*/
|
|
25
|
-
async function promptUserInput(projectName) {
|
|
26
|
-
const answers = await inquirer.prompt([
|
|
27
|
-
{
|
|
28
|
-
type: 'list',
|
|
29
|
-
name: 'template',
|
|
30
|
-
message: 'Choose starter template:',
|
|
31
|
-
choices: [
|
|
32
|
-
{ name: 'Minimal (Empty project - generate apps later)', value: 'minimal' },
|
|
33
|
-
{ name: 'API Only (Backend)', value: 'api-only' },
|
|
34
|
-
{ name: 'Web Only (Frontend)', value: 'web-only' },
|
|
35
|
-
{ name: 'Full Stack (API + Web)', value: 'fullstack' },
|
|
36
|
-
{ name: 'API + Media Server', value: 'api-media' }
|
|
37
|
-
],
|
|
38
|
-
default: 'fullstack'
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
type: 'input',
|
|
42
|
-
name: 'appName',
|
|
43
|
-
message: 'Enter app name (e.g., blog, shop, admin):',
|
|
44
|
-
default: 'blog',
|
|
45
|
-
when: (answers) => answers.template !== 'minimal',
|
|
46
|
-
validate: (input) => {
|
|
47
|
-
if (!input || input.trim().length === 0) return 'App name is required';
|
|
48
|
-
if (!/^[a-z][a-z0-9-]*$/.test(input)) {
|
|
49
|
-
return 'App name must start with a letter and contain only lowercase letters, numbers, and hyphens';
|
|
50
|
-
}
|
|
51
|
-
return true;
|
|
52
|
-
}
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
type: 'list',
|
|
56
|
-
name: 'webFramework',
|
|
57
|
-
message: 'Choose web framework:',
|
|
58
|
-
choices: [
|
|
59
|
-
{ name: 'React', value: 'react' },
|
|
60
|
-
{ name: 'Vue.js', value: 'vue' },
|
|
61
|
-
{ name: 'Svelte', value: 'svelte' },
|
|
62
|
-
{ name: 'Vanilla JS (No framework)', value: 'vanilla' }
|
|
63
|
-
],
|
|
64
|
-
when: (answers) => answers.template === 'web-only' || answers.template === 'fullstack',
|
|
65
|
-
default: 'react'
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
type: 'list',
|
|
69
|
-
name: 'database',
|
|
70
|
-
message: 'Choose database:',
|
|
71
|
-
choices: ['PostgreSQL', 'MySQL', 'SQLite'],
|
|
72
|
-
default: 'PostgreSQL'
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
type: 'confirm',
|
|
76
|
-
name: 'configureDatabaseNow',
|
|
77
|
-
message: 'Configure database connection now?',
|
|
78
|
-
default: true
|
|
79
|
-
}
|
|
80
|
-
]);
|
|
81
|
-
|
|
82
|
-
// Database configuration
|
|
83
|
-
if (answers.configureDatabaseNow && answers.database !== 'SQLite') {
|
|
84
|
-
const dbConfig = await inquirer.prompt([
|
|
85
|
-
{
|
|
86
|
-
type: 'input',
|
|
87
|
-
name: 'host',
|
|
88
|
-
message: 'Database host:',
|
|
89
|
-
default: 'localhost'
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
type: 'input',
|
|
93
|
-
name: 'port',
|
|
94
|
-
message: 'Database port:',
|
|
95
|
-
default: answers.database === 'PostgreSQL' ? '5432' : '3306'
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
type: 'input',
|
|
99
|
-
name: 'database',
|
|
100
|
-
message: 'Database name:',
|
|
101
|
-
default: projectName.replace(/-/g, '_')
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
type: 'input',
|
|
105
|
-
name: 'username',
|
|
106
|
-
message: 'Database username:',
|
|
107
|
-
default: answers.database === 'PostgreSQL' ? 'postgres' : 'root'
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
type: 'password',
|
|
111
|
-
name: 'password',
|
|
112
|
-
message: 'Database password:',
|
|
113
|
-
mask: '*'
|
|
114
|
-
}
|
|
115
|
-
]);
|
|
116
|
-
|
|
117
|
-
answers.dbConfig = dbConfig;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
return answers;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* Create base project directory structure
|
|
125
|
-
*/
|
|
126
|
-
async function createProjectStructure(targetDir, spinner) {
|
|
127
|
-
spinner.text = 'Creating directory structure...';
|
|
128
|
-
|
|
129
|
-
await fs.ensureDir(targetDir);
|
|
130
|
-
await fs.ensureDir(path.join(targetDir, 'database'));
|
|
131
|
-
await fs.ensureDir(path.join(targetDir, 'database/models'));
|
|
132
|
-
await fs.ensureDir(path.join(targetDir, 'database/migrations'));
|
|
133
|
-
await fs.ensureDir(path.join(targetDir, 'database/seeders'));
|
|
134
|
-
await fs.ensureDir(path.join(targetDir, 'apps'));
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* Copy config files from framework
|
|
139
|
-
*/
|
|
140
|
-
async function copyConfigFiles(targetDir, spinner) {
|
|
141
|
-
spinner.text = 'Copying configuration files...';
|
|
142
|
-
|
|
143
|
-
const configSource = path.join(frameworkRoot, 'config');
|
|
144
|
-
const configTarget = path.join(targetDir, 'config');
|
|
145
|
-
await fs.copy(configSource, configTarget);
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
/**
|
|
149
|
-
* Copy database files from framework
|
|
150
|
-
*/
|
|
151
|
-
async function copyDatabaseFiles(targetDir, spinner) {
|
|
152
|
-
spinner.text = 'Setting up database structure...';
|
|
153
|
-
|
|
154
|
-
const dbModelsSource = path.join(frameworkRoot, 'database/models');
|
|
155
|
-
const dbModelsTarget = path.join(targetDir, 'database/models');
|
|
156
|
-
if (await fs.pathExists(dbModelsSource)) {
|
|
157
|
-
await fs.copy(dbModelsSource, dbModelsTarget);
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
const dbMigrationsSource = path.join(frameworkRoot, 'database/migrations');
|
|
161
|
-
const dbMigrationsTarget = path.join(targetDir, 'database/migrations');
|
|
162
|
-
if (await fs.pathExists(dbMigrationsSource)) {
|
|
163
|
-
await fs.copy(dbMigrationsSource, dbMigrationsTarget);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
/**
|
|
168
|
-
* Create package.json with V2 hybrid dependency management
|
|
169
|
-
* All dependencies in root - apps use hoisted deps
|
|
170
|
-
*/
|
|
171
|
-
async function createPackageJson(projectName, targetDir, spinner) {
|
|
172
|
-
spinner.text = 'Creating package.json with V2 dependencies...';
|
|
173
|
-
|
|
174
|
-
const packageJson = {
|
|
175
|
-
name: projectName,
|
|
176
|
-
version: '1.0.0',
|
|
177
|
-
type: 'module',
|
|
178
|
-
private: true,
|
|
179
|
-
packageManager: 'pnpm@10.0.0',
|
|
180
|
-
scripts: {
|
|
181
|
-
dev: 'turbo run dev',
|
|
182
|
-
build: 'turbo run build',
|
|
183
|
-
start: 'turbo run start',
|
|
184
|
-
test: 'NODE_OPTIONS=--experimental-vm-modules jest',
|
|
185
|
-
'test:watch': 'NODE_OPTIONS=--experimental-vm-modules jest --watch',
|
|
186
|
-
'test:coverage': 'NODE_OPTIONS=--experimental-vm-modules jest --coverage',
|
|
187
|
-
'db:migrate': 'npx vasuzex migrate',
|
|
188
|
-
'db:migrate:status': 'npx vasuzex migrate:status',
|
|
189
|
-
'db:rollback': 'npx vasuzex migrate:rollback',
|
|
190
|
-
'db:seed': 'npx vasuzex db:seed',
|
|
191
|
-
'db:reset': 'npx vasuzex migrate:fresh --seed',
|
|
192
|
-
'make:model': 'npx vasuzex make:model',
|
|
193
|
-
'make:migration': 'npx vasuzex make:migration',
|
|
194
|
-
'make:seeder': 'npx vasuzex make:seeder',
|
|
195
|
-
'generate:app': 'npx vasuzex generate:app',
|
|
196
|
-
'generate:media-server': 'npx vasuzex generate:media-server'
|
|
197
|
-
},
|
|
198
|
-
keywords: ['vasuzex', 'nodejs', 'framework', 'v2'],
|
|
199
|
-
dependencies: {
|
|
200
|
-
axios: '^1.13.2',
|
|
201
|
-
bcrypt: '^6.0.0',
|
|
202
|
-
bcryptjs: '^2.4.3',
|
|
203
|
-
chalk: '^5.6.2',
|
|
204
|
-
commander: '^12.1.0',
|
|
205
|
-
cors: '^2.8.5',
|
|
206
|
-
dotenv: '^16.6.1',
|
|
207
|
-
express: '^5.2.1',
|
|
208
|
-
'fs-extra': '^11.3.2',
|
|
209
|
-
guruorm: '^2.0.0',
|
|
210
|
-
helmet: '^8.1.0',
|
|
211
|
-
inquirer: '^9.3.8',
|
|
212
|
-
joi: '^17.13.3',
|
|
213
|
-
jsonwebtoken: '^9.0.2',
|
|
214
|
-
maxmind: '^5.0.1',
|
|
215
|
-
multer: '^2.0.2',
|
|
216
|
-
ora: '^8.2.0',
|
|
217
|
-
pg: '^8.16.3',
|
|
218
|
-
sharp: '^0.33.5',
|
|
219
|
-
react: '^18.2.0',
|
|
220
|
-
'react-dom': '^18.2.0',
|
|
221
|
-
vue: '^3.4.0',
|
|
222
|
-
svelte: '^4.2.0'
|
|
223
|
-
},
|
|
224
|
-
devDependencies: {
|
|
225
|
-
'@jest/globals': '^29.7.0',
|
|
226
|
-
'@vitejs/plugin-react': '^4.2.1',
|
|
227
|
-
'@vitejs/plugin-vue': '^5.0.0',
|
|
228
|
-
'@sveltejs/vite-plugin-svelte': '^3.0.0',
|
|
229
|
-
'dotenv-cli': '^11.0.0',
|
|
230
|
-
eslint: '^8.57.0',
|
|
231
|
-
'eslint-config-prettier': '^9.1.0',
|
|
232
|
-
jest: '^29.7.0',
|
|
233
|
-
nodemon: '^3.1.11',
|
|
234
|
-
prettier: '^3.0.0',
|
|
235
|
-
turbo: '^2.6.1',
|
|
236
|
-
vite: '^5.0.0'
|
|
237
|
-
},
|
|
238
|
-
pnpm: {
|
|
239
|
-
overrides: {
|
|
240
|
-
express: '^5.2.1',
|
|
241
|
-
react: '^18.2.0',
|
|
242
|
-
vue: '^3.4.0'
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
};
|
|
246
|
-
|
|
247
|
-
// Detect if running from local development
|
|
248
|
-
const isLocalDev = __dirname.includes('/work/vasuzex/') || __dirname.includes('\\work\\vasuzex\\');
|
|
249
|
-
|
|
250
|
-
if (isLocalDev) {
|
|
251
|
-
packageJson.dependencies.vasuzex = `file:${frameworkRoot}`;
|
|
252
|
-
console.log(chalk.cyan(`\n🔧 Development mode: Using local vasuzex from ${frameworkRoot}\n`));
|
|
253
|
-
} else {
|
|
254
|
-
packageJson.dependencies.vasuzex = '^2.0.0';
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
await fs.writeJSON(path.join(targetDir, 'package.json'), packageJson, { spaces: 2 });
|
|
258
|
-
|
|
259
|
-
console.log(chalk.green('\n✅ V2 Package.json created with hybrid dependency management'));
|
|
260
|
-
console.log(chalk.cyan(' All dependencies in root - apps use hoisted packages\n'));
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
/**
|
|
264
|
-
* Create pnpm-workspace.yaml
|
|
265
|
-
*/
|
|
266
|
-
async function createPnpmWorkspace(targetDir) {
|
|
267
|
-
const workspaceContent = `packages:
|
|
268
|
-
- 'apps/*'
|
|
269
|
-
- 'apps/*/api'
|
|
270
|
-
- 'apps/*/web'
|
|
271
|
-
`;
|
|
272
|
-
|
|
273
|
-
await fs.writeFile(path.join(targetDir, 'pnpm-workspace.yaml'), workspaceContent, 'utf8');
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
/**
|
|
277
|
-
* Create .npmrc with V2 hoisting configuration
|
|
278
|
-
* Forces all dependencies to root node_modules
|
|
279
|
-
*/
|
|
280
|
-
async function createNpmrc(targetDir) {
|
|
281
|
-
const npmrcContent = `hoist=true
|
|
282
|
-
hoist-pattern[]=*
|
|
283
|
-
shamefully-hoist=true
|
|
284
|
-
shared-workspace-lockfile=true
|
|
285
|
-
strict-peer-dependencies=false
|
|
286
|
-
auto-install-peers=true
|
|
287
|
-
public-hoist-pattern[]=*types*
|
|
288
|
-
public-hoist-pattern[]=*eslint*
|
|
289
|
-
public-hoist-pattern[]=*prettier*
|
|
290
|
-
`;
|
|
291
|
-
|
|
292
|
-
await fs.writeFile(path.join(targetDir, '.npmrc'), npmrcContent, 'utf8');
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
/**
|
|
296
|
-
* Create turbo.json configuration
|
|
297
|
-
*/
|
|
298
|
-
async function createTurboConfig(targetDir) {
|
|
299
|
-
const turboConfig = {
|
|
300
|
-
"$schema": "https://turbo.build/schema.json",
|
|
301
|
-
"globalDependencies": ["**/.env"],
|
|
302
|
-
"globalEnv": ["NODE_ENV", "CI", "APP_ENV"],
|
|
303
|
-
"tasks": {
|
|
304
|
-
"dev": {
|
|
305
|
-
"cache": false,
|
|
306
|
-
"persistent": true,
|
|
307
|
-
"env": ["APP_ENV", "NODE_ENV", "DATABASE_URL"]
|
|
308
|
-
},
|
|
309
|
-
"build": {
|
|
310
|
-
"dependsOn": ["^build"],
|
|
311
|
-
"outputs": ["dist/**", "build/**"],
|
|
312
|
-
"env": ["NODE_ENV"]
|
|
313
|
-
},
|
|
314
|
-
"start": {
|
|
315
|
-
"cache": false,
|
|
316
|
-
"persistent": true,
|
|
317
|
-
"dependsOn": ["build"]
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
};
|
|
321
|
-
|
|
322
|
-
await fs.writeJSON(path.join(targetDir, 'turbo.json'), turboConfig, { spaces: 2 });
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
/**
|
|
326
|
-
* Generate environment file
|
|
327
|
-
*/
|
|
328
|
-
async function generateEnvFile(projectName, answers, targetDir, spinner) {
|
|
329
|
-
spinner.text = 'Creating environment file...';
|
|
330
|
-
|
|
331
|
-
let envContent = `# Application
|
|
332
|
-
APP_NAME=${projectName}
|
|
333
|
-
APP_ENV=development
|
|
334
|
-
APP_PORT=3000
|
|
335
|
-
APP_URL=http://localhost:3000
|
|
336
|
-
|
|
337
|
-
# Database
|
|
338
|
-
DB_CONNECTION=${answers.database.toLowerCase() === 'postgresql' ? 'postgresql' : answers.database.toLowerCase()}
|
|
339
|
-
`;
|
|
340
|
-
|
|
341
|
-
const dbConfig = answers.dbConfig;
|
|
342
|
-
|
|
343
|
-
if (answers.database === 'PostgreSQL') {
|
|
344
|
-
envContent += `
|
|
345
|
-
POSTGRES_HOST=${dbConfig?.host || 'localhost'}
|
|
346
|
-
POSTGRES_PORT=${dbConfig?.port || '5432'}
|
|
347
|
-
POSTGRES_DB=${dbConfig?.database || projectName.replace(/-/g, '_')}
|
|
348
|
-
POSTGRES_USER=${dbConfig?.username || 'postgres'}
|
|
349
|
-
POSTGRES_PASSWORD=${dbConfig?.password || ''}
|
|
350
|
-
`;
|
|
351
|
-
} else if (answers.database === 'MySQL') {
|
|
352
|
-
envContent += `
|
|
353
|
-
DB_HOST=${dbConfig?.host || 'localhost'}
|
|
354
|
-
DB_PORT=${dbConfig?.port || '3306'}
|
|
355
|
-
DB_DATABASE=${dbConfig?.database || projectName.replace(/-/g, '_')}
|
|
356
|
-
DB_USERNAME=${dbConfig?.username || 'root'}
|
|
357
|
-
DB_PASSWORD=${dbConfig?.password || ''}
|
|
358
|
-
`;
|
|
359
|
-
} else if (answers.database === 'SQLite') {
|
|
360
|
-
envContent += `
|
|
361
|
-
DB_DATABASE=./database/${projectName}.sqlite
|
|
362
|
-
`;
|
|
363
|
-
}
|
|
364
|
-
|
|
365
|
-
envContent += `
|
|
366
|
-
# Cache
|
|
367
|
-
CACHE_DRIVER=memory
|
|
368
|
-
|
|
369
|
-
# Session
|
|
370
|
-
SESSION_DRIVER=memory
|
|
371
|
-
|
|
372
|
-
# Logging
|
|
373
|
-
LOG_LEVEL=debug
|
|
374
|
-
LOG_FILE=storage/logs/app.log
|
|
375
|
-
`;
|
|
376
|
-
|
|
377
|
-
await fs.writeFile(path.join(targetDir, '.env'), envContent);
|
|
378
|
-
await fs.writeFile(path.join(targetDir, '.env.example'), envContent);
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
/**
|
|
382
|
-
* Create gitignore
|
|
383
|
-
*/
|
|
384
|
-
async function createGitignore(targetDir) {
|
|
385
|
-
const gitignoreContent = `node_modules/
|
|
386
|
-
.env
|
|
387
|
-
.DS_Store
|
|
388
|
-
*.log
|
|
389
|
-
coverage/
|
|
390
|
-
dist/
|
|
391
|
-
build/
|
|
392
|
-
.vscode/
|
|
393
|
-
.idea/
|
|
394
|
-
*.sqlite
|
|
395
|
-
storage/logs/*
|
|
396
|
-
!storage/logs/.gitkeep
|
|
397
|
-
pnpm-lock.yaml
|
|
398
|
-
package-lock.json
|
|
399
|
-
yarn.lock
|
|
400
|
-
`;
|
|
401
|
-
await fs.writeFile(path.join(targetDir, '.gitignore'), gitignoreContent);
|
|
402
|
-
}
|
|
403
|
-
|
|
404
|
-
/**
|
|
405
|
-
* Create README
|
|
406
|
-
*/
|
|
407
|
-
async function createReadme(projectName, targetDir) {
|
|
408
|
-
const readmeContent = `# ${projectName}
|
|
409
|
-
|
|
410
|
-
A Vasuzex application.
|
|
411
|
-
|
|
412
|
-
## Getting Started
|
|
413
|
-
|
|
414
|
-
### Install Dependencies
|
|
415
|
-
|
|
416
|
-
\`\`\`bash
|
|
417
|
-
pnpm install
|
|
418
|
-
\`\`\`
|
|
419
|
-
|
|
420
|
-
### Database Setup
|
|
421
|
-
|
|
422
|
-
\`\`\`bash
|
|
423
|
-
# Create database (if needed)
|
|
424
|
-
createdb ${projectName.replace(/-/g, '_')}
|
|
425
|
-
|
|
426
|
-
# Run migrations
|
|
427
|
-
pnpm db:migrate
|
|
428
|
-
|
|
429
|
-
# Seed database
|
|
430
|
-
pnpm db:seed
|
|
431
|
-
\`\`\`
|
|
432
|
-
|
|
433
|
-
### Development
|
|
434
|
-
|
|
435
|
-
\`\`\`bash
|
|
436
|
-
pnpm dev
|
|
437
|
-
\`\`\`
|
|
438
|
-
|
|
439
|
-
## Available Commands
|
|
440
|
-
|
|
441
|
-
\`\`\`bash
|
|
442
|
-
pnpm generate:app <name> # Generate new app
|
|
443
|
-
pnpm make:model <name> # Create model
|
|
444
|
-
pnpm make:migration <name> # Create migration
|
|
445
|
-
pnpm db:migrate # Run migrations
|
|
446
|
-
pnpm db:seed # Seed database
|
|
447
|
-
\`\`\`
|
|
448
|
-
|
|
449
|
-
## Documentation
|
|
450
|
-
|
|
451
|
-
See [Vasuzex Documentation](https://github.com/rishicool/vasuzex/tree/main/docs)
|
|
452
|
-
`;
|
|
453
|
-
await fs.writeFile(path.join(targetDir, 'README.md'), readmeContent);
|
|
454
|
-
}
|
|
455
|
-
|
|
456
|
-
/**
|
|
457
|
-
* Install dependencies
|
|
458
|
-
*/
|
|
459
|
-
async function installDependencies(targetDir) {
|
|
460
|
-
console.log(chalk.cyan('\n📦 Installing dependencies...\n'));
|
|
461
|
-
|
|
462
|
-
try {
|
|
463
|
-
execSync('pnpm install', {
|
|
464
|
-
cwd: targetDir,
|
|
465
|
-
stdio: 'inherit'
|
|
466
|
-
});
|
|
467
|
-
console.log(chalk.green('\n✅ Dependencies installed!\n'));
|
|
468
|
-
return true;
|
|
469
|
-
} catch (error) {
|
|
470
|
-
console.log(chalk.yellow('\n⚠️ Failed to install dependencies automatically'));
|
|
471
|
-
console.log(chalk.yellow('Please run "pnpm install" manually\n'));
|
|
472
|
-
return false;
|
|
473
|
-
}
|
|
474
|
-
}
|
|
475
|
-
|
|
476
|
-
/**
|
|
477
|
-
* Generate apps based on template
|
|
478
|
-
*/
|
|
479
|
-
async function generateApps(answers, targetDir) {
|
|
480
|
-
const appName = answers.appName || 'blog';
|
|
481
|
-
let appTypes = [];
|
|
482
|
-
|
|
483
|
-
// Determine which apps to generate based on template
|
|
484
|
-
switch (answers.template) {
|
|
485
|
-
case 'api-only':
|
|
486
|
-
appTypes = ['api'];
|
|
487
|
-
break;
|
|
488
|
-
case 'web-only':
|
|
489
|
-
appTypes = ['web'];
|
|
490
|
-
break;
|
|
491
|
-
case 'fullstack':
|
|
492
|
-
appTypes = ['api', 'web'];
|
|
493
|
-
break;
|
|
494
|
-
case 'api-media':
|
|
495
|
-
appTypes = ['api'];
|
|
496
|
-
break;
|
|
497
|
-
default:
|
|
498
|
-
return; // minimal - no apps
|
|
499
|
-
}
|
|
500
|
-
|
|
501
|
-
// Generate selected app types
|
|
502
|
-
for (const type of appTypes) {
|
|
503
|
-
console.log(chalk.cyan(`🚀 Generating ${appName} ${type.toUpperCase()}...\n`));
|
|
504
|
-
|
|
505
|
-
try {
|
|
506
|
-
const webFramework = answers.webFramework || 'react';
|
|
507
|
-
const extraArgs = type === 'web' ? `--framework ${webFramework}` : '';
|
|
508
|
-
|
|
509
|
-
// Use node_modules/.bin/vasuzex for cross-package-manager compatibility
|
|
510
|
-
const vasuzexCmd = path.join(targetDir, 'node_modules', '.bin', 'vasuzex');
|
|
511
|
-
|
|
512
|
-
execSync(`"${vasuzexCmd}" generate:app ${appName} --type ${type} ${extraArgs}`, {
|
|
513
|
-
cwd: targetDir,
|
|
514
|
-
stdio: 'inherit',
|
|
515
|
-
env: { ...process.env, SKIP_INSTALL: 'true' }
|
|
516
|
-
});
|
|
517
|
-
console.log(chalk.green(`\n✅ ${appName} ${type} generated!\n`));
|
|
518
|
-
} catch (error) {
|
|
519
|
-
console.log(chalk.yellow(`\n⚠️ Could not generate ${appName} ${type} automatically`));
|
|
520
|
-
console.log(chalk.yellow(`You can run: vasuzex generate:app ${appName} --type ${type}\n`));
|
|
521
|
-
}
|
|
522
|
-
}
|
|
523
|
-
|
|
524
|
-
// Generate media server if template is api-media or fullstack
|
|
525
|
-
if (answers.template === 'api-media' || answers.template === 'fullstack') {
|
|
526
|
-
console.log(chalk.cyan('🖼️ Generating Media Server...\n'));
|
|
527
|
-
|
|
528
|
-
try {
|
|
529
|
-
// Use node_modules/.bin/vasuzex for cross-package-manager compatibility
|
|
530
|
-
const vasuzexCmd = path.join(targetDir, 'node_modules', '.bin', 'vasuzex');
|
|
531
|
-
|
|
532
|
-
execSync(`"${vasuzexCmd}" generate:media-server`, {
|
|
533
|
-
cwd: targetDir,
|
|
534
|
-
stdio: 'inherit',
|
|
535
|
-
env: { ...process.env, SKIP_INSTALL: 'true' }
|
|
536
|
-
});
|
|
537
|
-
console.log(chalk.green('\n✅ Media server generated!\n'));
|
|
538
|
-
} catch (error) {
|
|
539
|
-
console.log(chalk.yellow('\n⚠️ Could not generate media server automatically'));
|
|
540
|
-
console.log(chalk.yellow('You can run: vasuzex generate:media-server\n'));
|
|
541
|
-
}
|
|
542
|
-
}
|
|
543
|
-
}
|
|
544
|
-
|
|
545
|
-
/**
|
|
546
|
-
* Initialize git repository
|
|
547
|
-
*/
|
|
548
|
-
async function initializeGit(targetDir) {
|
|
549
|
-
const spinner = ora('Initializing git repository...').start();
|
|
550
|
-
|
|
551
|
-
try {
|
|
552
|
-
execSync('git init', { cwd: targetDir, stdio: 'pipe' });
|
|
553
|
-
execSync('git add .', { cwd: targetDir, stdio: 'pipe' });
|
|
554
|
-
execSync('git commit -m "Initial commit from Vasuzex"', { cwd: targetDir, stdio: 'pipe' });
|
|
555
|
-
spinner.succeed('Git repository initialized!');
|
|
556
|
-
} catch (error) {
|
|
557
|
-
spinner.info('Skipped git initialization');
|
|
558
|
-
}
|
|
559
|
-
}
|
|
560
|
-
|
|
561
|
-
/**
|
|
562
|
-
* Display success message
|
|
563
|
-
*/
|
|
564
|
-
function displaySuccessMessage(projectName, answers) {
|
|
565
|
-
console.log(chalk.green('\n✅ Vasuzex V2 Project created successfully!\n'));
|
|
566
|
-
console.log(chalk.cyan('🎉 Using hybrid dependency management - all deps in root node_modules\n'));
|
|
567
|
-
console.log(chalk.cyan('Next steps:\n'));
|
|
568
|
-
console.log(chalk.white(` cd ${projectName}`));
|
|
569
|
-
console.log(chalk.white(` pnpm install ${chalk.gray('(if not done automatically)')}`));
|
|
570
|
-
|
|
571
|
-
if (answers.template === 'minimal') {
|
|
572
|
-
console.log(chalk.white(` pnpm generate:app api ${chalk.gray('(create your first app)')}`));
|
|
573
|
-
}
|
|
574
|
-
|
|
575
|
-
if (answers.configureDatabaseNow) {
|
|
576
|
-
console.log(chalk.white(` pnpm db:migrate`));
|
|
577
|
-
} else {
|
|
578
|
-
console.log(chalk.gray(` # Edit .env with your database credentials`));
|
|
579
|
-
console.log(chalk.white(` pnpm db:migrate`));
|
|
580
|
-
}
|
|
581
|
-
|
|
582
|
-
if (answers.template !== 'minimal') {
|
|
583
|
-
console.log(chalk.white(` cd apps/${answers.appName || 'blog'}/api`));
|
|
584
|
-
console.log(chalk.white(` pnpm dev\n`));
|
|
585
|
-
} else {
|
|
586
|
-
console.log();
|
|
587
|
-
}
|
|
588
|
-
|
|
589
|
-
console.log(chalk.gray('Available commands:'));
|
|
590
|
-
console.log(chalk.white(' pnpm generate:app <name> - Generate new app'));
|
|
591
|
-
console.log(chalk.white(' pnpm make:model <name> - Create model'));
|
|
592
|
-
console.log(chalk.white(' pnpm make:migration <name> - Create migration'));
|
|
593
|
-
console.log(chalk.white(' pnpm db:migrate - Run migrations\n'));
|
|
594
|
-
|
|
595
|
-
console.log(chalk.cyan('📖 Documentation: https://github.com/rishicool/vasuzex/tree/main/docs'));
|
|
596
|
-
console.log(chalk.cyan('Happy coding! 🎉\n'));
|
|
597
|
-
}
|
|
598
|
-
|
|
599
|
-
/**
|
|
600
|
-
* ====================
|
|
601
|
-
* MAIN FUNCTION
|
|
602
|
-
* ====================
|
|
603
|
-
*/
|
|
604
|
-
async function createProject(projectName) {
|
|
605
|
-
console.log(chalk.cyan('\n🚀 Creating Vasuzex project...\n'));
|
|
606
|
-
|
|
607
|
-
// 1. Prompt for configuration
|
|
608
|
-
const answers = await promptUserInput(projectName);
|
|
609
|
-
|
|
610
|
-
const targetDir = path.join(process.cwd(), projectName);
|
|
611
|
-
|
|
612
|
-
// 2. Check if directory exists
|
|
613
|
-
if (await fs.pathExists(targetDir)) {
|
|
614
|
-
console.error(chalk.red(`\n❌ Directory "${projectName}" already exists!\n`));
|
|
615
|
-
process.exit(1);
|
|
616
|
-
}
|
|
617
|
-
|
|
618
|
-
const spinner = ora('Creating project structure...').start();
|
|
619
|
-
|
|
620
|
-
try {
|
|
621
|
-
// 3. Create project structure
|
|
622
|
-
await createProjectStructure(targetDir, spinner);
|
|
623
|
-
|
|
624
|
-
// 4. Copy config files
|
|
625
|
-
await copyConfigFiles(targetDir, spinner);
|
|
626
|
-
|
|
627
|
-
// 5. Copy database files
|
|
628
|
-
await copyDatabaseFiles(targetDir, spinner);
|
|
629
|
-
|
|
630
|
-
// 6. Create package.json
|
|
631
|
-
await createPackageJson(projectName, targetDir, spinner);
|
|
632
|
-
|
|
633
|
-
// 7. Create pnpm-workspace.yaml
|
|
634
|
-
await createPnpmWorkspace(targetDir);
|
|
635
|
-
|
|
636
|
-
// 8. Create .npmrc (V2 hoisting configuration)
|
|
637
|
-
await createNpmrc(targetDir);
|
|
638
|
-
|
|
639
|
-
// 9. Create turbo.json
|
|
640
|
-
await createTurboConfig(targetDir);
|
|
641
|
-
|
|
642
|
-
// 10. Generate .env file
|
|
643
|
-
await generateEnvFile(projectName, answers, targetDir, spinner);
|
|
644
|
-
|
|
645
|
-
// 11. Create .gitignore
|
|
646
|
-
await createGitignore(targetDir);
|
|
647
|
-
|
|
648
|
-
// 12. Create README
|
|
649
|
-
await createReadme(projectName, targetDir);
|
|
650
|
-
|
|
651
|
-
spinner.succeed('Project structure created!');
|
|
652
|
-
|
|
653
|
-
// 13. Install dependencies
|
|
654
|
-
await installDependencies(targetDir);
|
|
655
|
-
|
|
656
|
-
// 14. Generate apps
|
|
657
|
-
await generateApps(answers, targetDir);
|
|
658
|
-
|
|
659
|
-
// 15. Initialize git
|
|
660
|
-
await initializeGit(targetDir);
|
|
661
|
-
|
|
662
|
-
// 16. Success message
|
|
663
|
-
displaySuccessMessage(projectName, answers);
|
|
664
|
-
|
|
665
|
-
} catch (error) {
|
|
666
|
-
spinner.fail('Failed to create project');
|
|
667
|
-
console.error(chalk.red('\n' + error.message + '\n'));
|
|
668
|
-
console.error(error.stack);
|
|
669
|
-
|
|
670
|
-
// Cleanup on failure
|
|
671
|
-
if (await fs.pathExists(targetDir)) {
|
|
672
|
-
await fs.remove(targetDir);
|
|
673
|
-
}
|
|
674
|
-
|
|
675
|
-
process.exit(1);
|
|
676
|
-
}
|
|
677
|
-
}
|
|
678
|
-
|
|
679
|
-
/**
|
|
680
|
-
* ====================
|
|
681
|
-
* CLI PROGRAM
|
|
682
|
-
* ====================
|
|
683
|
-
*/
|
|
684
|
-
program
|
|
685
|
-
.name('create-vasuzex')
|
|
686
|
-
.description('Create a new Vasuzex project')
|
|
687
|
-
.version('1.0.0')
|
|
688
|
-
.argument('<project-name>', 'Name of the project to create')
|
|
689
|
-
.action(async (projectName) => {
|
|
690
|
-
// Validate project name
|
|
691
|
-
if (!/^[a-z0-9-_]+$/i.test(projectName)) {
|
|
692
|
-
console.error(chalk.red('\n❌ Project name can only contain letters, numbers, hyphens, and underscores\n'));
|
|
693
|
-
process.exit(1);
|
|
694
|
-
}
|
|
695
|
-
|
|
696
|
-
await createProject(projectName);
|
|
697
|
-
});
|
|
698
|
-
|
|
699
|
-
program.parse();
|