@rvoh/psychic 1.14.0 → 2.0.0-alpha.1
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/cjs/spec/helpers/sleep.js +1 -4
- package/dist/cjs/src/bin/helpers/enumsAndTheirValues.js +5 -8
- package/dist/cjs/src/bin/helpers/enumsFileStr.js +7 -13
- package/dist/cjs/src/bin/helpers/generateRouteTypes.js +8 -36
- package/dist/cjs/src/bin/helpers/printRoutes.js +5 -11
- package/dist/cjs/src/bin/helpers/syncOpenapiTypescriptFiles.js +14 -43
- package/dist/cjs/src/bin/index.js +42 -70
- package/dist/cjs/src/cli/helpers/PackageManager.js +3 -9
- package/dist/cjs/src/cli/helpers/PsychicLogos.js +3 -9
- package/dist/cjs/src/cli/helpers/TypesBuilder.js +8 -36
- package/dist/cjs/src/cli/helpers/cli-prompt.js +2 -28
- package/dist/cjs/src/cli/helpers/cli-select.js +4 -33
- package/dist/cjs/src/cli/helpers/colorize.js +4 -10
- package/dist/cjs/src/cli/index.js +20 -26
- package/dist/cjs/src/controller/decorators.js +10 -17
- package/dist/cjs/src/controller/helpers/httpMethodColor.js +2 -6
- package/dist/cjs/src/controller/helpers/isSerializable.js +4 -7
- package/dist/cjs/src/controller/helpers/logIfDevelopment.js +14 -20
- package/dist/cjs/src/controller/helpers/renderDreamOrViewModel.js +4 -7
- package/dist/cjs/src/controller/helpers/statusCodeColor.js +2 -6
- package/dist/cjs/src/controller/hooks.js +1 -5
- package/dist/cjs/src/controller/index.js +97 -102
- package/dist/cjs/src/devtools/PsychicDevtools.js +5 -8
- package/dist/cjs/src/devtools/helpers/launchDevServer.js +21 -29
- package/dist/cjs/src/encrypt/internal-encrypt.js +11 -17
- package/dist/cjs/src/env/Loader.js +4 -32
- package/dist/cjs/src/error/UnexpectedUndefined.js +1 -4
- package/dist/cjs/src/error/controller/ParamValidationError.js +1 -4
- package/dist/cjs/src/error/controller/ParamValidationErrors.js +1 -4
- package/dist/cjs/src/error/db/failed-to-connect.js +2 -8
- package/dist/cjs/src/error/db/index.js +1 -4
- package/dist/cjs/src/error/db/missing-options.js +2 -8
- package/dist/cjs/src/error/encrypt/missing-cookie-encryption-options.js +1 -4
- package/dist/cjs/src/error/http/BadGateway.js +2 -8
- package/dist/cjs/src/error/http/BadRequest.js +2 -8
- package/dist/cjs/src/error/http/Conflict.js +2 -8
- package/dist/cjs/src/error/http/ContentTooLarge.js +2 -8
- package/dist/cjs/src/error/http/ExpectationFailed.js +2 -8
- package/dist/cjs/src/error/http/FailedDependency.js +2 -8
- package/dist/cjs/src/error/http/Forbidden.js +2 -8
- package/dist/cjs/src/error/http/GatewayTimeout.js +2 -8
- package/dist/cjs/src/error/http/Gone.js +2 -8
- package/dist/cjs/src/error/http/ImATeapot.js +2 -8
- package/dist/cjs/src/error/http/InsufficientStorage.js +2 -8
- package/dist/cjs/src/error/http/InternalServerError.js +2 -8
- package/dist/cjs/src/error/http/Locked.js +2 -8
- package/dist/cjs/src/error/http/MethodNotAllowed.js +2 -8
- package/dist/cjs/src/error/http/MisdirectedRequest.js +2 -8
- package/dist/cjs/src/error/http/NotAcceptable.js +2 -8
- package/dist/cjs/src/error/http/NotExtended.js +2 -8
- package/dist/cjs/src/error/http/NotFound.js +2 -8
- package/dist/cjs/src/error/http/NotImplemented.js +2 -8
- package/dist/cjs/src/error/http/PaymentRequired.js +2 -8
- package/dist/cjs/src/error/http/PreconditionFailed.js +2 -8
- package/dist/cjs/src/error/http/PreconditionRequired.js +2 -8
- package/dist/cjs/src/error/http/ProxyAuthenticationRequired.js +2 -8
- package/dist/cjs/src/error/http/RequestHeaderFieldsTooLarge.js +2 -8
- package/dist/cjs/src/error/http/ServiceUnavailable.js +2 -8
- package/dist/cjs/src/error/http/TooManyRequests.js +2 -8
- package/dist/cjs/src/error/http/Unauthorized.js +2 -8
- package/dist/cjs/src/error/http/UnavailableForLegalReasons.js +2 -8
- package/dist/cjs/src/error/http/UnprocessableContent.js +2 -8
- package/dist/cjs/src/error/http/UnsupportedMediaType.js +2 -8
- package/dist/cjs/src/error/http/index.js +1 -4
- package/dist/cjs/src/error/http/router/index.js +2 -8
- package/dist/cjs/src/error/http/router/missing-controller-method.js +2 -8
- package/dist/cjs/src/error/http/router/missing-controller.js +2 -8
- package/dist/cjs/src/error/http/status-codes.js +1 -3
- package/dist/cjs/src/error/model/index.js +1 -4
- package/dist/cjs/src/error/openapi/AttemptedToDeriveDescendentSerializersFromNonSerializer.js +3 -6
- package/dist/cjs/src/error/openapi/ExpectedSerializerForRendersOneOrManyOption.js +1 -4
- package/dist/cjs/src/error/openapi/FailedToLookupSerializerForEndpoint.js +1 -4
- package/dist/cjs/src/error/openapi/NoSerializerFoundForRendersOneAndMany.js +1 -4
- package/dist/cjs/src/error/openapi/NonSerializerDerivedInOpenapiEndpointRenderer.js +3 -6
- package/dist/cjs/src/error/openapi/NonSerializerDerivedInToSchemaObjects.js +3 -6
- package/dist/cjs/src/error/openapi/NonSerializerPassedToSerializerOpenapiRenderer.js +3 -6
- package/dist/cjs/src/error/openapi/NonSerializerSerializerOverrideProvided.js +4 -7
- package/dist/cjs/src/error/openapi/NonSerializerSuppliedToSerializerBodySegment.js +4 -7
- package/dist/cjs/src/error/openapi/ObjectSerializerRendersOneAndManyRequireClassType.js +1 -4
- package/dist/cjs/src/error/openapi/OpenApiDecoratorModelMissingSerializer.js +1 -4
- package/dist/cjs/src/error/openapi/OpenApiDecoratorModelMissingSerializerGetter.js +1 -4
- package/dist/cjs/src/error/openapi/OpenapResponseValidationFailure.js +2 -8
- package/dist/cjs/src/error/openapi/OpenapiRequestValidationFailure.js +2 -8
- package/dist/cjs/src/error/openapi/OpenapiValidationFailure.js +1 -4
- package/dist/cjs/src/error/openapi/SerializerForEndpointNotAFunction.js +3 -6
- package/dist/cjs/src/error/openapi/SerializingPlainPropertyWithoutOpenapiShape.js +4 -8
- package/dist/cjs/src/error/psychic-app/init-missing-api-root.js +1 -4
- package/dist/cjs/src/error/psychic-app/init-missing-call-to-load-controllers.js +1 -4
- package/dist/cjs/src/error/psychic-app/init-missing-package-manager.js +1 -4
- package/dist/cjs/src/error/psychic-app/init-missing-routes-callback.js +1 -4
- package/dist/cjs/src/error/psychic-app/invalid-encryption-key.js +1 -4
- package/dist/cjs/src/error/psychic-app/must-call-psychic-app-init-first.js +1 -4
- package/dist/cjs/src/error/router/cannot-commit-routes-without-express-app.js +1 -4
- package/dist/cjs/src/error/router/cannot-find-inferred-controller-from-provided-namespace.js +1 -4
- package/dist/cjs/src/error/router/cannot-infer-controller-from-top-level-route.js +1 -4
- package/dist/cjs/src/error/ws/MissingWsRedisConnection.js +1 -4
- package/dist/cjs/src/generate/controller.js +30 -58
- package/dist/cjs/src/generate/helpers/addResourceToRoutes.js +11 -41
- package/dist/cjs/src/generate/helpers/generateControllerContent.js +15 -20
- package/dist/cjs/src/generate/helpers/generateControllerSpecContent.js +1 -4
- package/dist/cjs/src/generate/helpers/generateResourceControllerSpecContent.js +18 -23
- package/dist/cjs/src/generate/helpers/migrationTimestamp.js +1 -4
- package/dist/cjs/src/generate/helpers/reduxBindings/printFinalStepsMessage.js +7 -13
- package/dist/cjs/src/generate/helpers/reduxBindings/promptForOptions.js +12 -18
- package/dist/cjs/src/generate/helpers/reduxBindings/writeApiFile.js +3 -29
- package/dist/cjs/src/generate/helpers/reduxBindings/writeInitializer.js +8 -37
- package/dist/cjs/src/generate/helpers/reduxBindings/writeOpenapiJsonFile.js +7 -36
- package/dist/cjs/src/generate/helpers/syncOpenapiTypescript/generateInitializer.js +7 -36
- package/dist/cjs/src/generate/helpers/syncOpenapiTypescript/installOpenapiTypescript.js +7 -13
- package/dist/cjs/src/generate/initializer/syncEnums.js +7 -36
- package/dist/cjs/src/generate/initializer/syncOpenapiTypescript.js +5 -11
- package/dist/cjs/src/generate/openapi/reduxBindings.js +14 -20
- package/dist/cjs/src/generate/resource.js +13 -20
- package/dist/cjs/src/helpers/EnvInternal.js +3 -5
- package/dist/cjs/src/helpers/alternateParamName.js +3 -9
- package/dist/cjs/src/helpers/autogeneratedFileDisclaimer.js +3 -6
- package/dist/cjs/src/helpers/cookieMaxAgeFromCookieOpts.js +1 -4
- package/dist/cjs/src/helpers/error/errorIsRescuableHttpError.js +3 -6
- package/dist/cjs/src/helpers/error/httpErrorClasses.js +63 -70
- package/dist/cjs/src/helpers/importFileWithDefault.js +2 -28
- package/dist/cjs/src/helpers/importFileWithNamedExport.js +2 -28
- package/dist/cjs/src/helpers/isArrayParamName.js +1 -4
- package/dist/cjs/src/helpers/isObject.js +1 -4
- package/dist/cjs/src/helpers/isOpenapiError.js +1 -4
- package/dist/cjs/src/helpers/isUuid.js +1 -4
- package/dist/cjs/src/helpers/loadEnv.js +3 -31
- package/dist/cjs/src/helpers/openapiJsonPath.js +6 -35
- package/dist/cjs/src/helpers/openapiTypeHelpers.js +1 -2
- package/dist/cjs/src/helpers/pascalizeFileName.js +3 -6
- package/dist/cjs/src/helpers/path/addImportSuffix.js +3 -9
- package/dist/cjs/src/helpers/path/psychicFileAndDirPaths.js +4 -33
- package/dist/cjs/src/helpers/path/psychicPath.js +7 -36
- package/dist/cjs/src/helpers/path/updirsFromPath.js +1 -4
- package/dist/cjs/src/helpers/pathifyNestedObject.js +3 -9
- package/dist/cjs/src/helpers/sanitizeString.js +1 -4
- package/dist/cjs/src/helpers/toJson.js +3 -9
- package/dist/cjs/src/helpers/typeHelpers.js +1 -2
- package/dist/cjs/src/helpers/validateOpenApiSchema.js +7 -15
- package/dist/cjs/src/i18n/conf/I18nDefaultLocales.js +1 -3
- package/dist/cjs/src/i18n/conf/types.js +1 -2
- package/dist/cjs/src/i18n/provider.js +4 -11
- package/dist/cjs/src/openapi-renderer/SerializerOpenapiRenderer.js +42 -52
- package/dist/cjs/src/openapi-renderer/app.js +32 -37
- package/dist/cjs/src/openapi-renderer/body-segment.js +23 -29
- package/dist/cjs/src/openapi-renderer/defaults.js +5 -8
- package/dist/cjs/src/openapi-renderer/endpoint.js +58 -66
- package/dist/cjs/src/openapi-renderer/helpers/OpenapiPayloadValidator.js +12 -18
- package/dist/cjs/src/openapi-renderer/helpers/allSerializersFromHandWrittenOpenapi.js +5 -11
- package/dist/cjs/src/openapi-renderer/helpers/allSerializersToRefsInOpenapi.js +8 -14
- package/dist/cjs/src/openapi-renderer/helpers/dreamAttributeOpenapiShape.js +12 -20
- package/dist/cjs/src/openapi-renderer/helpers/isBlankDescription.js +1 -4
- package/dist/cjs/src/openapi-renderer/helpers/isOpenapiShorthand.js +5 -11
- package/dist/cjs/src/openapi-renderer/helpers/maybeNullOpenapiShorthandToOpenapiShorthand.js +1 -4
- package/dist/cjs/src/openapi-renderer/helpers/openapiOpts.js +3 -9
- package/dist/cjs/src/openapi-renderer/helpers/openapiRoute.js +1 -4
- package/dist/cjs/src/openapi-renderer/helpers/openapiShorthandToOpenapi.js +9 -18
- package/dist/cjs/src/openapi-renderer/helpers/paginationPageParamOpenapiProperty.js +1 -4
- package/dist/cjs/src/openapi-renderer/helpers/primitiveOpenapiStatementToOpenapi.js +3 -9
- package/dist/cjs/src/openapi-renderer/helpers/safelyAttachPaginationParamsToBodySegment.js +3 -9
- package/dist/cjs/src/openapi-renderer/helpers/safelyAttachScrollPaginationParamsToBodySegment.js +3 -9
- package/dist/cjs/src/openapi-renderer/helpers/schemaToRef.js +1 -4
- package/dist/cjs/src/openapi-renderer/helpers/scrollPaginationCursorParamOpenapiProperty.js +1 -4
- package/dist/cjs/src/openapi-renderer/helpers/suppressResponseEnumsConfig.js +3 -9
- package/dist/cjs/src/package-exports/errors.js +32 -0
- package/dist/cjs/src/package-exports/index.js +10 -0
- package/dist/cjs/src/package-exports/internal.js +9 -0
- package/dist/cjs/src/package-exports/openapi.js +1 -0
- package/dist/cjs/src/package-exports/types.js +1 -0
- package/dist/cjs/src/package-exports/utils.js +4 -0
- package/dist/cjs/src/psychic-app/cache.js +5 -13
- package/dist/cjs/src/psychic-app/helpers/PsychicImporter.js +5 -8
- package/dist/cjs/src/psychic-app/helpers/globalControllerKeyFromPath.js +1 -4
- package/dist/cjs/src/psychic-app/helpers/globalServiceKeyFromPath.js +1 -4
- package/dist/cjs/src/psychic-app/helpers/import/importControllers.js +10 -18
- package/dist/cjs/src/psychic-app/helpers/import/importInitializers.js +6 -15
- package/dist/cjs/src/psychic-app/helpers/import/importServices.js +8 -17
- package/dist/cjs/src/psychic-app/helpers/loadAppEnv.js +3 -31
- package/dist/cjs/src/psychic-app/helpers/lookupClassByGlobalName.js +7 -10
- package/dist/cjs/src/psychic-app/index.js +47 -75
- package/dist/cjs/src/psychic-app/openapi-cache.js +8 -17
- package/dist/cjs/src/psychic-app/types.js +1 -4
- package/dist/cjs/src/router/helpers.js +22 -37
- package/dist/cjs/src/router/index.js +46 -76
- package/dist/cjs/src/router/route-manager.js +1 -4
- package/dist/cjs/src/router/types.js +3 -6
- package/dist/cjs/src/server/helpers/paramNamesForDreamClass.js +1 -4
- package/dist/cjs/src/server/helpers/startPsychicServer.js +17 -47
- package/dist/cjs/src/server/index.js +33 -62
- package/dist/cjs/src/server/params.js +45 -50
- package/dist/cjs/src/session/index.js +10 -16
- package/dist/cjs/src/watcher/Watcher.js +14 -43
- package/dist/esm/src/bin/helpers/enumsAndTheirValues.js +1 -1
- package/dist/esm/src/bin/helpers/generateRouteTypes.js +2 -1
- package/dist/esm/src/bin/index.js +2 -1
- package/dist/esm/src/cli/helpers/TypesBuilder.js +2 -1
- package/dist/esm/src/controller/helpers/isSerializable.js +1 -1
- package/dist/esm/src/controller/helpers/renderDreamOrViewModel.js +1 -1
- package/dist/esm/src/controller/index.js +3 -1
- package/dist/esm/src/encrypt/internal-encrypt.js +1 -1
- package/dist/esm/src/error/openapi/SerializingPlainPropertyWithoutOpenapiShape.js +1 -1
- package/dist/esm/src/generate/controller.js +2 -1
- package/dist/esm/src/generate/helpers/generateControllerContent.js +2 -1
- package/dist/esm/src/generate/helpers/generateResourceControllerSpecContent.js +3 -2
- package/dist/esm/src/generate/helpers/reduxBindings/promptForOptions.js +1 -1
- package/dist/esm/src/generate/helpers/reduxBindings/writeInitializer.js +1 -1
- package/dist/esm/src/generate/helpers/reduxBindings/writeOpenapiJsonFile.js +1 -1
- package/dist/esm/src/generate/helpers/syncOpenapiTypescript/generateInitializer.js +1 -1
- package/dist/esm/src/generate/initializer/syncEnums.js +1 -1
- package/dist/esm/src/generate/resource.js +1 -1
- package/dist/esm/src/helpers/autogeneratedFileDisclaimer.js +1 -1
- package/dist/esm/src/helpers/pascalizeFileName.js +1 -1
- package/dist/esm/src/helpers/path/psychicPath.js +1 -1
- package/dist/esm/src/openapi-renderer/SerializerOpenapiRenderer.js +2 -6
- package/dist/esm/src/openapi-renderer/app.js +2 -1
- package/dist/esm/src/openapi-renderer/body-segment.js +2 -2
- package/dist/esm/src/openapi-renderer/defaults.js +1 -1
- package/dist/esm/src/openapi-renderer/endpoint.js +2 -2
- package/dist/esm/src/openapi-renderer/helpers/allSerializersFromHandWrittenOpenapi.js +1 -1
- package/dist/esm/src/openapi-renderer/helpers/allSerializersToRefsInOpenapi.js +1 -1
- package/dist/esm/src/openapi-renderer/helpers/isOpenapiShorthand.js +1 -1
- package/dist/esm/src/package-exports/errors.js +32 -0
- package/dist/esm/src/package-exports/index.js +10 -0
- package/dist/esm/src/package-exports/internal.js +9 -0
- package/dist/esm/src/package-exports/openapi.js +1 -0
- package/dist/esm/src/package-exports/types.js +1 -0
- package/dist/esm/src/package-exports/utils.js +4 -0
- package/dist/esm/src/psychic-app/helpers/PsychicImporter.js +1 -1
- package/dist/esm/src/psychic-app/helpers/lookupClassByGlobalName.js +1 -1
- package/dist/esm/src/psychic-app/index.js +3 -1
- package/dist/esm/src/router/helpers.js +1 -1
- package/dist/esm/src/router/index.js +2 -1
- package/dist/esm/src/server/index.js +1 -1
- package/dist/esm/src/server/params.js +2 -1
- package/dist/types/src/controller/decorators.d.ts +2 -1
- package/dist/types/src/controller/helpers/renderDreamOrViewModel.d.ts +2 -1
- package/dist/types/src/controller/index.d.ts +3 -1
- package/dist/types/src/error/openapi/ExpectedSerializerForRendersOneOrManyOption.d.ts +1 -1
- package/dist/types/src/error/openapi/OpenApiDecoratorModelMissingSerializer.d.ts +1 -1
- package/dist/types/src/error/openapi/OpenApiDecoratorModelMissingSerializerGetter.d.ts +1 -1
- package/dist/types/src/error/openapi/OpenapiValidationFailure.d.ts +1 -1
- package/dist/types/src/helpers/typeHelpers.d.ts +2 -1
- package/dist/types/src/openapi-renderer/SerializerOpenapiRenderer.d.ts +2 -1
- package/dist/types/src/openapi-renderer/body-segment.d.ts +2 -1
- package/dist/types/src/openapi-renderer/defaults.d.ts +3 -1
- package/dist/types/src/openapi-renderer/endpoint.d.ts +3 -3
- package/dist/types/src/openapi-renderer/helpers/allSerializersFromHandWrittenOpenapi.d.ts +2 -1
- package/dist/types/src/openapi-renderer/helpers/allSerializersToRefsInOpenapi.d.ts +1 -1
- package/dist/types/src/openapi-renderer/helpers/dreamAttributeOpenapiShape.d.ts +2 -1
- package/dist/types/src/openapi-renderer/helpers/maybeNullOpenapiShorthandToOpenapiShorthand.d.ts +1 -1
- package/dist/types/src/openapi-renderer/helpers/openapiShorthandToOpenapi.d.ts +1 -1
- package/dist/types/src/openapi-renderer/helpers/primitiveOpenapiStatementToOpenapi.d.ts +1 -1
- package/dist/types/src/openapi-renderer/helpers/schemaToRef.d.ts +1 -1
- package/dist/types/src/package-exports/errors.d.ts +32 -0
- package/dist/types/src/package-exports/index.d.ts +10 -0
- package/dist/types/src/package-exports/internal.d.ts +9 -0
- package/dist/types/src/package-exports/openapi.d.ts +3 -0
- package/dist/types/src/package-exports/types.d.ts +3 -0
- package/dist/types/src/package-exports/utils.d.ts +13 -0
- package/dist/types/src/psychic-app/index.d.ts +7 -3
- package/dist/types/src/server/helpers/paramNamesForDreamClass.d.ts +2 -1
- package/dist/types/src/server/params.d.ts +3 -1
- package/package.json +33 -8
- package/dist/cjs/src/index.js +0 -118
- package/dist/esm/src/index.js +0 -56
- package/dist/types/src/index.d.ts +0 -67
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const kysely_1 = require("kysely");
|
|
6
|
-
async function enumsAndTheirValues(connectionName = 'default') {
|
|
7
|
-
const { rows } = await (0, kysely_1.sql) `
|
|
1
|
+
import { untypedDb } from '@rvoh/dream/db';
|
|
2
|
+
import { sql } from 'kysely';
|
|
3
|
+
export default async function enumsAndTheirValues(connectionName = 'default') {
|
|
4
|
+
const { rows } = await sql `
|
|
8
5
|
SELECT pg_type.typname AS enum_type, pg_enum.enumlabel AS enum_label FROM pg_type JOIN pg_enum ON pg_enum.enumtypid = pg_type.oid;
|
|
9
6
|
|
|
10
|
-
`.execute(
|
|
7
|
+
`.execute(untypedDb(connectionName, 'primary'));
|
|
11
8
|
const rowData = {};
|
|
12
9
|
rows.forEach(row => {
|
|
13
10
|
const enumType = row.enumType;
|
|
@@ -1,19 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const autogeneratedFileDisclaimer_js_1 = __importDefault(require("../../helpers/autogeneratedFileDisclaimer.js"));
|
|
8
|
-
const pascalizeFileName_js_1 = __importDefault(require("../../helpers/pascalizeFileName.js"));
|
|
9
|
-
const enumsAndTheirValues_js_1 = __importDefault(require("./enumsAndTheirValues.js"));
|
|
10
|
-
async function enumsFileStr() {
|
|
11
|
-
const enums = await (0, enumsAndTheirValues_js_1.default)();
|
|
12
|
-
let enumsFileStr = (0, autogeneratedFileDisclaimer_js_1.default)();
|
|
1
|
+
import autogeneratedFileDisclaimer from '../../helpers/autogeneratedFileDisclaimer.js';
|
|
2
|
+
import pascalizeFileName from '../../helpers/pascalizeFileName.js';
|
|
3
|
+
import enumsAndTheirValues from './enumsAndTheirValues.js';
|
|
4
|
+
export default async function enumsFileStr() {
|
|
5
|
+
const enums = await enumsAndTheirValues();
|
|
6
|
+
let enumsFileStr = autogeneratedFileDisclaimer();
|
|
13
7
|
Object.keys(enums)
|
|
14
8
|
.sort()
|
|
15
9
|
.forEach(enumName => {
|
|
16
|
-
const exportedTypeName = (
|
|
10
|
+
const exportedTypeName = pascalizeFileName(enumName) + 'Values';
|
|
17
11
|
const values = enums[enumName] || [];
|
|
18
12
|
enumsFileStr += `\
|
|
19
13
|
export const ${exportedTypeName} = [
|
|
@@ -1,41 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.default = generateRouteTypes;
|
|
30
|
-
const dream_1 = require("@rvoh/dream");
|
|
31
|
-
const path = __importStar(require("node:path"));
|
|
32
|
-
const index_js_1 = __importDefault(require("../../psychic-app/index.js"));
|
|
33
|
-
async function generateRouteTypes(routes) {
|
|
1
|
+
import { CliFileWriter } from '@rvoh/dream/internal';
|
|
2
|
+
import { uniq } from '@rvoh/dream/utils';
|
|
3
|
+
import * as path from 'node:path';
|
|
4
|
+
import PsychicApp from '../../psychic-app/index.js';
|
|
5
|
+
export default async function generateRouteTypes(routes) {
|
|
34
6
|
const fileStr = `\
|
|
35
7
|
export type RouteTypes =
|
|
36
|
-
${
|
|
8
|
+
${uniq(routes.map(routeConf => ` | '/${routeConf.path.replace(/^\//, '')}'`)).join('\n')}
|
|
37
9
|
`;
|
|
38
|
-
const psychicApp =
|
|
10
|
+
const psychicApp = PsychicApp.getOrFail();
|
|
39
11
|
const routeTypesPath = path.join(psychicApp.apiRoot, 'src', 'conf', 'routeTypes.ts');
|
|
40
|
-
await
|
|
12
|
+
await CliFileWriter.write(routeTypesPath, fileStr);
|
|
41
13
|
}
|
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.default = printRoutes;
|
|
7
|
-
const yoctocolors_1 = __importDefault(require("yoctocolors"));
|
|
8
|
-
const index_js_1 = __importDefault(require("../../psychic-app/index.js"));
|
|
9
|
-
function printRoutes() {
|
|
10
|
-
const expressions = buildExpressions(index_js_1.default.getOrFail().routesCache);
|
|
1
|
+
import colors from 'yoctocolors';
|
|
2
|
+
import PsychicApp from '../../psychic-app/index.js';
|
|
3
|
+
export default function printRoutes() {
|
|
4
|
+
const expressions = buildExpressions(PsychicApp.getOrFail().routesCache);
|
|
11
5
|
// NOTE: intentionally doing this outside of the expression loop below
|
|
12
6
|
// to avoid N+1
|
|
13
7
|
const desiredFirstGapSpaceCount = calculateNumSpacesInFirstGap(expressions);
|
|
@@ -16,7 +10,7 @@ function printRoutes() {
|
|
|
16
10
|
const partialExpression = `${beginning}${makeSpaces(beginning, desiredFirstGapSpaceCount)}${end}`;
|
|
17
11
|
const closingSpaces = makeSpaces(partialExpression, desiredLastGapSpaceCount);
|
|
18
12
|
const expression = `${partialExpression}${closingSpaces}`;
|
|
19
|
-
const colorizedExpression = i % 2 ?
|
|
13
|
+
const colorizedExpression = i % 2 ? colors.bgWhite(colors.black(expression)) : expression;
|
|
20
14
|
console.log(colorizedExpression);
|
|
21
15
|
});
|
|
22
16
|
}
|
|
@@ -1,60 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.default = syncOpenapiTypescriptFiles;
|
|
30
|
-
const fs = __importStar(require("node:fs/promises"));
|
|
31
|
-
const path = __importStar(require("node:path"));
|
|
32
|
-
const openapi_typescript_1 = __importStar(require("openapi-typescript"));
|
|
33
|
-
const typescript_1 = __importDefault(require("typescript"));
|
|
34
|
-
const psychicPath_js_1 = __importDefault(require("../../helpers/path/psychicPath.js"));
|
|
35
|
-
const index_js_1 = __importDefault(require("../../psychic-app/index.js"));
|
|
36
|
-
const BIGINT = typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.BigIntKeyword);
|
|
37
|
-
async function syncOpenapiTypescriptFiles() {
|
|
38
|
-
const psychicApp = index_js_1.default.getOrFail();
|
|
1
|
+
import * as fs from 'node:fs/promises';
|
|
2
|
+
import * as path from 'node:path';
|
|
3
|
+
import openapiTS, { astToString, NULL, NUMBER, STRING } from 'openapi-typescript';
|
|
4
|
+
import ts from 'typescript';
|
|
5
|
+
import psychicPath from '../../helpers/path/psychicPath.js';
|
|
6
|
+
import PsychicApp from '../../psychic-app/index.js';
|
|
7
|
+
const BIGINT = ts.factory.createKeywordTypeNode(ts.SyntaxKind.BigIntKeyword);
|
|
8
|
+
export default async function syncOpenapiTypescriptFiles() {
|
|
9
|
+
const psychicApp = PsychicApp.getOrFail();
|
|
39
10
|
const syncableKeys = Object.keys(psychicApp.openapi).filter(key => psychicApp.openapi[key]?.syncTypes);
|
|
40
|
-
const targetDir = path.join((
|
|
11
|
+
const targetDir = path.join(psychicPath('types'), 'openapi');
|
|
41
12
|
await fs.mkdir(targetDir, { recursive: true });
|
|
42
13
|
await Promise.all(syncableKeys.map(async (key) => {
|
|
43
14
|
const openapiOpts = psychicApp.openapi[key];
|
|
44
15
|
const jsonPath = openapiOpts.outputFilepath;
|
|
45
16
|
const outpath = path.join(targetDir, path.basename(jsonPath).replace(/\.json$/, '.d.ts'));
|
|
46
17
|
const contents = (await fs.readFile(jsonPath)).toString();
|
|
47
|
-
const data = await (
|
|
18
|
+
const data = await openapiTS(contents, {
|
|
48
19
|
transform(schemaObject) {
|
|
49
20
|
if (schemaObject.format === 'bigint') {
|
|
50
21
|
const isNullable = schemaObject.nullable ||
|
|
51
22
|
(Array.isArray(schemaObject.type) && schemaObject.type.includes('null'));
|
|
52
23
|
return isNullable
|
|
53
|
-
?
|
|
54
|
-
:
|
|
24
|
+
? ts.factory.createUnionTypeNode([STRING, NUMBER, BIGINT, NULL])
|
|
25
|
+
: ts.factory.createUnionTypeNode([STRING, NUMBER, BIGINT]);
|
|
55
26
|
}
|
|
56
27
|
},
|
|
57
28
|
});
|
|
58
|
-
await fs.writeFile(outpath,
|
|
29
|
+
await fs.writeFile(outpath, astToString(data));
|
|
59
30
|
}));
|
|
60
31
|
}
|
|
@@ -1,75 +1,48 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const dream_1 = require("@rvoh/dream");
|
|
30
|
-
const fs = __importStar(require("node:fs/promises"));
|
|
31
|
-
const path = __importStar(require("node:path"));
|
|
32
|
-
const TypesBuilder_js_1 = __importDefault(require("../cli/helpers/TypesBuilder.js"));
|
|
33
|
-
const controller_js_1 = __importDefault(require("../generate/controller.js"));
|
|
34
|
-
const resource_js_1 = __importDefault(require("../generate/resource.js"));
|
|
35
|
-
const isObject_js_1 = __importDefault(require("../helpers/isObject.js"));
|
|
36
|
-
const app_js_1 = __importDefault(require("../openapi-renderer/app.js"));
|
|
37
|
-
const index_js_1 = __importDefault(require("../psychic-app/index.js"));
|
|
38
|
-
const enumsFileStr_js_1 = __importDefault(require("./helpers/enumsFileStr.js"));
|
|
39
|
-
const generateRouteTypes_js_1 = __importDefault(require("./helpers/generateRouteTypes.js"));
|
|
40
|
-
const printRoutes_js_1 = __importDefault(require("./helpers/printRoutes.js"));
|
|
41
|
-
class PsychicBin {
|
|
1
|
+
import { DreamCLI } from '@rvoh/dream';
|
|
2
|
+
import { CliFileWriter, DreamBin } from '@rvoh/dream/internal';
|
|
3
|
+
import * as fs from 'node:fs/promises';
|
|
4
|
+
import * as path from 'node:path';
|
|
5
|
+
import TypesBuilder from '../cli/helpers/TypesBuilder.js';
|
|
6
|
+
import generateController from '../generate/controller.js';
|
|
7
|
+
import generateResource from '../generate/resource.js';
|
|
8
|
+
import isObject from '../helpers/isObject.js';
|
|
9
|
+
import OpenapiAppRenderer from '../openapi-renderer/app.js';
|
|
10
|
+
import PsychicApp from '../psychic-app/index.js';
|
|
11
|
+
import enumsFileStr from './helpers/enumsFileStr.js';
|
|
12
|
+
import generateRouteTypes from './helpers/generateRouteTypes.js';
|
|
13
|
+
import printRoutes from './helpers/printRoutes.js';
|
|
14
|
+
export default class PsychicBin {
|
|
42
15
|
static async generateController(controllerName, actions) {
|
|
43
|
-
await (
|
|
16
|
+
await generateController({
|
|
44
17
|
fullyQualifiedControllerName: controllerName,
|
|
45
18
|
actions,
|
|
46
19
|
singular: false,
|
|
47
20
|
});
|
|
48
21
|
}
|
|
49
22
|
static async generateResource(route, fullyQualifiedModelName, columnsWithTypes, options) {
|
|
50
|
-
await (
|
|
23
|
+
await generateResource({ route, fullyQualifiedModelName, columnsWithTypes, options });
|
|
51
24
|
}
|
|
52
25
|
static printRoutes() {
|
|
53
|
-
(
|
|
26
|
+
printRoutes();
|
|
54
27
|
}
|
|
55
28
|
static async sync({ bypassDreamSync = false, schemaOnly = false, } = {}) {
|
|
56
29
|
if (!bypassDreamSync)
|
|
57
|
-
await
|
|
30
|
+
await DreamBin.sync(() => { }, { schemaOnly });
|
|
58
31
|
if (schemaOnly)
|
|
59
32
|
return;
|
|
60
33
|
await PsychicBin.syncTypes();
|
|
61
|
-
const psychicApp =
|
|
62
|
-
|
|
34
|
+
const psychicApp = PsychicApp.getOrFail();
|
|
35
|
+
DreamCLI.logger.logStartProgress('running post-sync operations...');
|
|
63
36
|
// call post-sync command in a separate process, so that newly-generated
|
|
64
37
|
// types can be reloaded and brought into all classes.
|
|
65
|
-
await
|
|
38
|
+
await DreamCLI.spawn(psychicApp.psyCmd('post-sync'), {
|
|
66
39
|
onStdout: message => {
|
|
67
|
-
|
|
40
|
+
DreamCLI.logger.logContinueProgress(`[post-sync]` + ' ' + message, {
|
|
68
41
|
logPrefixColor: 'cyan',
|
|
69
42
|
});
|
|
70
43
|
},
|
|
71
44
|
});
|
|
72
|
-
|
|
45
|
+
DreamCLI.logger.logEndProgress();
|
|
73
46
|
}
|
|
74
47
|
static async postSync() {
|
|
75
48
|
try {
|
|
@@ -79,40 +52,40 @@ class PsychicBin {
|
|
|
79
52
|
}
|
|
80
53
|
catch (error) {
|
|
81
54
|
console.error(error);
|
|
82
|
-
await
|
|
55
|
+
await CliFileWriter.revert();
|
|
83
56
|
}
|
|
84
57
|
}
|
|
85
58
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
86
59
|
static async syncTypes(customTypes = undefined) {
|
|
87
|
-
|
|
88
|
-
await
|
|
89
|
-
|
|
60
|
+
DreamCLI.logger.logStartProgress(`syncing types/psychic.ts...`);
|
|
61
|
+
await TypesBuilder.sync(customTypes);
|
|
62
|
+
DreamCLI.logger.logEndProgress();
|
|
90
63
|
}
|
|
91
64
|
static async syncOpenapiTypescriptFiles() {
|
|
92
|
-
|
|
65
|
+
DreamCLI.logger.logStartProgress(`syncing openapi types...`);
|
|
93
66
|
// https://rvohealth.atlassian.net/browse/PDTC-8359
|
|
94
67
|
// by dynamically importing this file, we prevent both openapi-typescript
|
|
95
68
|
// and typescript from being required as dependencies, since in production
|
|
96
69
|
// environments these won't be installed. By running migrations with
|
|
97
70
|
// --skip-sync, this function will never run, preventing the file which
|
|
98
71
|
// requires the dev dependencies from ever being imported.
|
|
99
|
-
const syncOpenapiTypescriptFiles = (await
|
|
72
|
+
const syncOpenapiTypescriptFiles = (await import('./helpers/syncOpenapiTypescriptFiles.js')).default;
|
|
100
73
|
await syncOpenapiTypescriptFiles();
|
|
101
|
-
|
|
74
|
+
DreamCLI.logger.logEndProgress();
|
|
102
75
|
}
|
|
103
76
|
static async syncOpenapiJson() {
|
|
104
|
-
|
|
105
|
-
await
|
|
106
|
-
|
|
77
|
+
DreamCLI.logger.logStartProgress(`syncing openapi...`);
|
|
78
|
+
await OpenapiAppRenderer.sync();
|
|
79
|
+
DreamCLI.logger.logEndProgress();
|
|
107
80
|
}
|
|
108
81
|
static async syncRoutes() {
|
|
109
|
-
|
|
110
|
-
await (
|
|
111
|
-
|
|
82
|
+
DreamCLI.logger.logStartProgress(`syncing routes...`);
|
|
83
|
+
await generateRouteTypes(PsychicApp.getOrFail().routesCache);
|
|
84
|
+
DreamCLI.logger.logEndProgress();
|
|
112
85
|
}
|
|
113
86
|
static async syncClientEnums(outfile) {
|
|
114
|
-
|
|
115
|
-
const enumsStr = await (
|
|
87
|
+
DreamCLI.logger.logStartProgress(`syncing client enums...`);
|
|
88
|
+
const enumsStr = await enumsFileStr();
|
|
116
89
|
try {
|
|
117
90
|
const dir = path.dirname(outfile);
|
|
118
91
|
await fs.mkdir(dir, { recursive: true });
|
|
@@ -120,8 +93,8 @@ class PsychicBin {
|
|
|
120
93
|
catch {
|
|
121
94
|
// noop
|
|
122
95
|
}
|
|
123
|
-
await
|
|
124
|
-
|
|
96
|
+
await CliFileWriter.write(outfile, enumsStr);
|
|
97
|
+
DreamCLI.logger.logEndProgress();
|
|
125
98
|
}
|
|
126
99
|
/**
|
|
127
100
|
* @internal
|
|
@@ -134,13 +107,13 @@ class PsychicBin {
|
|
|
134
107
|
* bindings.
|
|
135
108
|
*/
|
|
136
109
|
static async runCliHooksAndUpdatePsychicTypesFileWithOutput() {
|
|
137
|
-
const psychicApp =
|
|
110
|
+
const psychicApp = PsychicApp.getOrFail();
|
|
138
111
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
139
112
|
let output = {};
|
|
140
113
|
for (const hook of psychicApp.specialHooks.cliSync) {
|
|
141
114
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
142
115
|
const res = await hook();
|
|
143
|
-
if ((
|
|
116
|
+
if (isObject(res)) {
|
|
144
117
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
145
118
|
output = { ...output, ...res };
|
|
146
119
|
}
|
|
@@ -150,4 +123,3 @@ class PsychicBin {
|
|
|
150
123
|
}
|
|
151
124
|
}
|
|
152
125
|
}
|
|
153
|
-
exports.default = PsychicBin;
|
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const index_js_1 = __importDefault(require("../../psychic-app/index.js"));
|
|
7
|
-
class PackageManager {
|
|
1
|
+
import PsychicApp from '../../psychic-app/index.js';
|
|
2
|
+
export default class PackageManager {
|
|
8
3
|
static get packageManager() {
|
|
9
|
-
return
|
|
4
|
+
return PsychicApp.getOrFail().packageManager;
|
|
10
5
|
}
|
|
11
6
|
static add(dependencyOrDependencies, { dev } = {}) {
|
|
12
7
|
const dependency = Array.isArray(dependencyOrDependencies)
|
|
@@ -38,4 +33,3 @@ class PackageManager {
|
|
|
38
33
|
}
|
|
39
34
|
}
|
|
40
35
|
}
|
|
41
|
-
exports.default = PackageManager;
|
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const colorize_js_1 = __importDefault(require("./colorize.js"));
|
|
7
|
-
class PsychicLogos {
|
|
1
|
+
import colorize from './colorize.js';
|
|
2
|
+
export default class PsychicLogos {
|
|
8
3
|
static asciiLogo() {
|
|
9
|
-
const g = (str) => (
|
|
4
|
+
const g = (str) => colorize(str, { color: 'green' });
|
|
10
5
|
return `
|
|
11
6
|
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
|
12
7
|
░░░░░░█▀█░█▀▀░█░█░█▀▀░█░█░▀█▀░█▀▀░░░░░░░░░
|
|
@@ -35,4 +30,3 @@ class PsychicLogos {
|
|
|
35
30
|
`.replace(/▓/g, g('▓'));
|
|
36
31
|
}
|
|
37
32
|
}
|
|
38
|
-
exports.default = PsychicLogos;
|
|
@@ -1,44 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const dream_1 = require("@rvoh/dream");
|
|
30
|
-
const path = __importStar(require("node:path"));
|
|
31
|
-
const index_js_1 = __importDefault(require("../../psychic-app/index.js"));
|
|
32
|
-
class TypesBuilder {
|
|
1
|
+
import { DreamApp } from '@rvoh/dream';
|
|
2
|
+
import { CliFileWriter } from '@rvoh/dream/internal';
|
|
3
|
+
import * as path from 'node:path';
|
|
4
|
+
import PsychicApp from '../../psychic-app/index.js';
|
|
5
|
+
export default class TypesBuilder {
|
|
33
6
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
34
7
|
static async sync(customTypes = undefined) {
|
|
35
|
-
const dreamApp =
|
|
8
|
+
const dreamApp = DreamApp.getOrFail();
|
|
36
9
|
const schemaPath = path.join(dreamApp.projectRoot, dreamApp.paths.types, 'psychic.ts');
|
|
37
|
-
await
|
|
10
|
+
await CliFileWriter.write(schemaPath, this.build(customTypes));
|
|
38
11
|
}
|
|
39
12
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
40
13
|
static build(customTypes = undefined) {
|
|
41
|
-
const psychicApp =
|
|
14
|
+
const psychicApp = PsychicApp.getOrFail();
|
|
42
15
|
const output = {
|
|
43
16
|
openapiNames: Object.keys(psychicApp.openapi),
|
|
44
17
|
...(customTypes || {}),
|
|
@@ -48,4 +21,3 @@ class TypesBuilder {
|
|
|
48
21
|
export default psychicTypes`;
|
|
49
22
|
}
|
|
50
23
|
}
|
|
51
|
-
exports.default = TypesBuilder;
|
|
@@ -1,33 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.default = cliPrompt;
|
|
27
|
-
const readline = __importStar(require("node:readline"));
|
|
1
|
+
import * as readline from 'node:readline';
|
|
28
2
|
const input = process.stdin;
|
|
29
3
|
const output = process.stdout;
|
|
30
|
-
async function cliPrompt(question) {
|
|
4
|
+
export default async function cliPrompt(question) {
|
|
31
5
|
const rl = readline.createInterface({
|
|
32
6
|
input,
|
|
33
7
|
output,
|
|
@@ -1,37 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const yoctocolors_1 = __importDefault(require("yoctocolors"));
|
|
30
|
-
const readline = __importStar(require("readline"));
|
|
1
|
+
import colors from 'yoctocolors';
|
|
2
|
+
import * as readline from 'readline';
|
|
31
3
|
const input = process.stdin;
|
|
32
4
|
const output = process.stdout;
|
|
33
5
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
34
|
-
class CLISelect {
|
|
6
|
+
export default class CLISelect {
|
|
35
7
|
question;
|
|
36
8
|
selectIndex = 0;
|
|
37
9
|
options;
|
|
@@ -122,7 +94,7 @@ class CLISelect {
|
|
|
122
94
|
output.write(this.ansiEraseLines(optionLength));
|
|
123
95
|
}
|
|
124
96
|
const padding = this.getPadding(0);
|
|
125
|
-
const cursor =
|
|
97
|
+
const cursor = colors.magenta(this.selector);
|
|
126
98
|
for (let i = 0; i < optionLength; i++) {
|
|
127
99
|
const selectedOption = i === this.selectIndex
|
|
128
100
|
? `${cursor} ${this.options[i]}`
|
|
@@ -132,4 +104,3 @@ class CLISelect {
|
|
|
132
104
|
}
|
|
133
105
|
}
|
|
134
106
|
}
|
|
135
|
-
exports.default = CLISelect;
|
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.default = colorize;
|
|
7
|
-
const yoctocolors_1 = __importDefault(require("yoctocolors"));
|
|
8
|
-
function colorize(text, { color, bgColor, }) {
|
|
9
|
-
const foregroundApplied = color ? yoctocolors_1.default[color](text) : text;
|
|
10
|
-
return bgColor ? yoctocolors_1.default[bgColor](foregroundApplied) : foregroundApplied;
|
|
1
|
+
import c from 'yoctocolors';
|
|
2
|
+
export default function colorize(text, { color, bgColor, }) {
|
|
3
|
+
const foregroundApplied = color ? c[color](text) : text;
|
|
4
|
+
return bgColor ? c[bgColor](foregroundApplied) : foregroundApplied;
|
|
11
5
|
}
|