keycloakify 9.4.0-rc.9 → 9.4.0

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.
Files changed (103) hide show
  1. package/README.md +4 -0
  2. package/account/i18n/baseMessages/index.d.ts +358 -0
  3. package/account/i18n/baseMessages/index.js +2 -1
  4. package/account/i18n/baseMessages/index.js.map +1 -1
  5. package/account/pages/PageProps.d.ts +3 -2
  6. package/bin/constants.d.ts +1 -1
  7. package/bin/constants.js +1 -1
  8. package/bin/constants.js.map +1 -1
  9. package/bin/copy-keycloak-resources-to-public.d.ts +13 -1
  10. package/bin/copy-keycloak-resources-to-public.js +134 -68
  11. package/bin/copy-keycloak-resources-to-public.js.map +1 -1
  12. package/bin/download-builtin-keycloak-theme.d.ts +1 -0
  13. package/bin/download-builtin-keycloak-theme.js +2 -3
  14. package/bin/download-builtin-keycloak-theme.js.map +1 -1
  15. package/bin/{tools/downloadAndUnzip.d.ts → downloadAndUnzip.d.ts} +6 -6
  16. package/bin/downloadAndUnzip.js +255 -0
  17. package/bin/downloadAndUnzip.js.map +1 -0
  18. package/bin/eject-keycloak-page.js +6 -3
  19. package/bin/eject-keycloak-page.js.map +1 -1
  20. package/bin/keycloakify/buildOptions/buildOptions.d.ts +1 -0
  21. package/bin/keycloakify/buildOptions/buildOptions.js +54 -39
  22. package/bin/keycloakify/buildOptions/buildOptions.js.map +1 -1
  23. package/bin/keycloakify/buildOptions/getCacheDirPath.d.ts +5 -0
  24. package/bin/keycloakify/buildOptions/getCacheDirPath.js +22 -0
  25. package/bin/keycloakify/buildOptions/getCacheDirPath.js.map +1 -0
  26. package/bin/keycloakify/buildOptions/getNpmWorkspaceRootDirPath.d.ts +5 -0
  27. package/bin/keycloakify/buildOptions/getNpmWorkspaceRootDirPath.js +86 -0
  28. package/bin/keycloakify/buildOptions/getNpmWorkspaceRootDirPath.js.map +1 -0
  29. package/bin/keycloakify/buildOptions/getReactAppRootDirPath.d.ts +5 -0
  30. package/bin/keycloakify/buildOptions/getReactAppRootDirPath.js +26 -0
  31. package/bin/keycloakify/buildOptions/getReactAppRootDirPath.js.map +1 -0
  32. package/bin/keycloakify/buildOptions/resolvedViteConfig.d.ts +3 -4
  33. package/bin/keycloakify/buildOptions/resolvedViteConfig.js +4 -11
  34. package/bin/keycloakify/buildOptions/resolvedViteConfig.js.map +1 -1
  35. package/bin/keycloakify/generateTheme/bringInAccountV1.d.ts +1 -0
  36. package/bin/keycloakify/generateTheme/bringInAccountV1.js.map +1 -1
  37. package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.d.ts +1 -0
  38. package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.js.map +1 -1
  39. package/bin/keycloakify/generateTheme/generateTheme.d.ts +1 -0
  40. package/bin/keycloakify/generateTheme/generateTheme.js +7 -3
  41. package/bin/keycloakify/generateTheme/generateTheme.js.map +1 -1
  42. package/bin/keycloakify/keycloakify.js +7 -12
  43. package/bin/keycloakify/keycloakify.js.map +1 -1
  44. package/bin/tools/fetchProxyOptions.d.ts +5 -0
  45. package/bin/tools/fetchProxyOptions.js +172 -0
  46. package/bin/tools/fetchProxyOptions.js.map +1 -0
  47. package/bin/tools/fs.existsAsync.d.ts +1 -0
  48. package/bin/tools/fs.existsAsync.js +86 -0
  49. package/bin/tools/fs.existsAsync.js.map +1 -0
  50. package/bin/tools/getThisCodebaseRootDirPath.d.ts +1 -0
  51. package/bin/tools/{getProjectRoot.js → getThisCodebaseRootDirPath.js} +7 -7
  52. package/bin/tools/getThisCodebaseRootDirPath.js.map +1 -0
  53. package/bin/tools/grant-exec-perms.js +6 -4
  54. package/bin/tools/grant-exec-perms.js.map +1 -1
  55. package/bin/tools/readThisNpmProjectVersion.d.ts +1 -0
  56. package/bin/tools/readThisNpmProjectVersion.js +37 -0
  57. package/bin/tools/readThisNpmProjectVersion.js.map +1 -0
  58. package/lib/isStorybook.js +1 -2
  59. package/lib/isStorybook.js.map +1 -1
  60. package/login/i18n/baseMessages/index.d.ts +458 -0
  61. package/login/i18n/baseMessages/index.js +2 -1
  62. package/login/i18n/baseMessages/index.js.map +1 -1
  63. package/login/pages/PageProps.d.ts +3 -2
  64. package/package.json +41 -19
  65. package/src/account/i18n/baseMessages/index.ts +2 -1
  66. package/src/account/pages/PageProps.ts +3 -2
  67. package/src/bin/constants.ts +1 -1
  68. package/src/bin/copy-keycloak-resources-to-public.ts +75 -9
  69. package/src/bin/download-builtin-keycloak-theme.ts +3 -3
  70. package/src/bin/downloadAndUnzip.ts +203 -0
  71. package/src/bin/eject-keycloak-page.ts +6 -3
  72. package/src/bin/keycloakify/buildOptions/buildOptions.ts +28 -39
  73. package/src/bin/keycloakify/buildOptions/getCacheDirPath.ts +25 -0
  74. package/src/bin/keycloakify/buildOptions/getNpmWorkspaceRootDirPath.ts +49 -0
  75. package/src/bin/keycloakify/buildOptions/getReactAppRootDirPath.ts +23 -0
  76. package/src/bin/keycloakify/buildOptions/resolvedViteConfig.ts +7 -21
  77. package/src/bin/keycloakify/generateTheme/bringInAccountV1.ts +1 -0
  78. package/src/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.ts +1 -0
  79. package/src/bin/keycloakify/generateTheme/generateTheme.ts +9 -2
  80. package/src/bin/keycloakify/keycloakify.ts +6 -14
  81. package/src/bin/tools/fetchProxyOptions.ts +73 -0
  82. package/src/bin/tools/fs.existsAsync.ts +11 -0
  83. package/src/bin/tools/{getProjectRoot.ts → getThisCodebaseRootDirPath.ts} +4 -4
  84. package/src/bin/tools/grant-exec-perms.ts +5 -3
  85. package/src/bin/tools/readThisNpmProjectVersion.ts +12 -0
  86. package/src/lib/isStorybook.ts +1 -3
  87. package/src/login/i18n/baseMessages/index.ts +2 -1
  88. package/src/login/pages/PageProps.ts +3 -2
  89. package/src/vite-plugin/vite-plugin.ts +48 -25
  90. package/vite-plugin/tsconfig.tsbuildinfo +1 -1
  91. package/vite-plugin/vite-plugin.d.ts +1 -2
  92. package/vite-plugin/vite-plugin.js +35 -20
  93. package/vite-plugin/vite-plugin.js.map +1 -1
  94. package/bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.d.ts +0 -7
  95. package/bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.js +0 -27
  96. package/bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.js.map +0 -1
  97. package/bin/tools/downloadAndUnzip.js +0 -445
  98. package/bin/tools/downloadAndUnzip.js.map +0 -1
  99. package/bin/tools/getProjectRoot.d.ts +0 -1
  100. package/bin/tools/getProjectRoot.js.map +0 -1
  101. package/src/bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.ts +0 -33
  102. package/src/bin/tools/downloadAndUnzip.ts +0 -301
  103. package/src/vite-plugin/config.json +0 -232
@@ -186,6 +186,464 @@ export declare function getMessages(currentLanguageTag: string): Promise<{
186
186
  "role_offline-access": string;
187
187
  client_account: string;
188
188
  "client_account-console": string;
189
+ "client_security-admin-console": string;
190
+ "client_admin-cli": string;
191
+ "client_realm-management": string;
192
+ client_broker: string;
193
+ requiredFields: string;
194
+ invalidUserMessage: string;
195
+ invalidUsernameMessage: string;
196
+ invalidUsernameOrEmailMessage: string;
197
+ invalidPasswordMessage: string;
198
+ invalidEmailMessage: string;
199
+ accountDisabledMessage: string;
200
+ accountTemporarilyDisabledMessage: string;
201
+ expiredCodeMessage: string;
202
+ expiredActionMessage: string;
203
+ expiredActionTokenNoSessionMessage: string;
204
+ expiredActionTokenSessionExistsMessage: string;
205
+ sessionLimitExceeded: string;
206
+ missingFirstNameMessage: string;
207
+ missingLastNameMessage: string;
208
+ missingEmailMessage: string;
209
+ missingUsernameMessage: string;
210
+ missingPasswordMessage: string;
211
+ missingTotpMessage: string;
212
+ missingTotpDeviceNameMessage: string;
213
+ notMatchPasswordMessage: string;
214
+ "error-invalid-value": string;
215
+ "error-invalid-blank": string;
216
+ "error-empty": string;
217
+ "error-invalid-length": string;
218
+ "error-invalid-length-too-short": string;
219
+ "error-invalid-length-too-long": string;
220
+ "error-invalid-email": string;
221
+ "error-invalid-number": string;
222
+ "error-number-out-of-range": string;
223
+ "error-number-out-of-range-too-small": string;
224
+ "error-number-out-of-range-too-big": string;
225
+ "error-pattern-no-match": string;
226
+ "error-invalid-uri": string;
227
+ "error-invalid-uri-scheme": string;
228
+ "error-invalid-uri-fragment": string;
229
+ "error-user-attribute-required": string;
230
+ "error-invalid-date": string;
231
+ "error-user-attribute-read-only": string;
232
+ "error-username-invalid-character": string;
233
+ "error-person-name-invalid-character": string;
234
+ "error-reset-otp-missing-id": string;
235
+ invalidPasswordExistingMessage: string;
236
+ invalidPasswordBlacklistedMessage: string;
237
+ invalidPasswordConfirmMessage: string;
238
+ invalidTotpMessage: string;
239
+ usernameExistsMessage: string;
240
+ emailExistsMessage: string;
241
+ federatedIdentityExistsMessage: string;
242
+ federatedIdentityUnavailableMessage: string;
243
+ federatedIdentityUnmatchedEssentialClaimMessage: string;
244
+ confirmLinkIdpTitle: string;
245
+ federatedIdentityConfirmLinkMessage: string;
246
+ federatedIdentityConfirmReauthenticateMessage: string;
247
+ nestedFirstBrokerFlowMessage: string;
248
+ confirmLinkIdpReviewProfile: string;
249
+ confirmLinkIdpContinue: string;
250
+ configureTotpMessage: string;
251
+ configureBackupCodesMessage: string;
252
+ updateProfileMessage: string;
253
+ updatePasswordMessage: string;
254
+ updateEmailMessage: string;
255
+ resetPasswordMessage: string;
256
+ verifyEmailMessage: string;
257
+ linkIdpMessage: string;
258
+ emailSentMessage: string;
259
+ emailSendErrorMessage: string;
260
+ accountUpdatedMessage: string;
261
+ accountPasswordUpdatedMessage: string;
262
+ delegationCompleteHeader: string;
263
+ delegationCompleteMessage: string;
264
+ delegationFailedHeader: string;
265
+ delegationFailedMessage: string;
266
+ noAccessMessage: string;
267
+ invalidPasswordMinLengthMessage: string;
268
+ invalidPasswordMaxLengthMessage: string;
269
+ invalidPasswordMinDigitsMessage: string;
270
+ invalidPasswordMinLowerCaseCharsMessage: string;
271
+ invalidPasswordMinUpperCaseCharsMessage: string;
272
+ invalidPasswordMinSpecialCharsMessage: string;
273
+ invalidPasswordNotUsernameMessage: string;
274
+ invalidPasswordNotEmailMessage: string;
275
+ invalidPasswordRegexPatternMessage: string;
276
+ invalidPasswordHistoryMessage: string;
277
+ invalidPasswordGenericMessage: string;
278
+ failedToProcessResponseMessage: string;
279
+ httpsRequiredMessage: string;
280
+ realmNotEnabledMessage: string;
281
+ invalidRequestMessage: string;
282
+ successLogout: string;
283
+ failedLogout: string;
284
+ unknownLoginRequesterMessage: string;
285
+ loginRequesterNotEnabledMessage: string;
286
+ bearerOnlyMessage: string;
287
+ standardFlowDisabledMessage: string;
288
+ implicitFlowDisabledMessage: string;
289
+ invalidRedirectUriMessage: string;
290
+ unsupportedNameIdFormatMessage: string;
291
+ invalidRequesterMessage: string;
292
+ registrationNotAllowedMessage: string;
293
+ resetCredentialNotAllowedMessage: string;
294
+ permissionNotApprovedMessage: string;
295
+ noRelayStateInResponseMessage: string;
296
+ insufficientPermissionMessage: string;
297
+ couldNotProceedWithAuthenticationRequestMessage: string;
298
+ couldNotObtainTokenMessage: string;
299
+ unexpectedErrorRetrievingTokenMessage: string;
300
+ unexpectedErrorHandlingResponseMessage: string;
301
+ identityProviderAuthenticationFailedMessage: string;
302
+ couldNotSendAuthenticationRequestMessage: string;
303
+ unexpectedErrorHandlingRequestMessage: string;
304
+ invalidAccessCodeMessage: string;
305
+ sessionNotActiveMessage: string;
306
+ invalidCodeMessage: string;
307
+ cookieNotFoundMessage: string;
308
+ insufficientLevelOfAuthentication: string;
309
+ identityProviderUnexpectedErrorMessage: string;
310
+ identityProviderMissingStateMessage: string;
311
+ identityProviderMissingCodeOrErrorMessage: string;
312
+ identityProviderInvalidResponseMessage: string;
313
+ identityProviderInvalidSignatureMessage: string;
314
+ identityProviderNotFoundMessage: string;
315
+ identityProviderLinkSuccess: string;
316
+ staleCodeMessage: string;
317
+ realmSupportsNoCredentialsMessage: string;
318
+ credentialSetupRequired: string;
319
+ identityProviderNotUniqueMessage: string;
320
+ emailVerifiedMessage: string;
321
+ staleEmailVerificationLink: string;
322
+ identityProviderAlreadyLinkedMessage: string;
323
+ confirmAccountLinking: string;
324
+ confirmEmailAddressVerification: string;
325
+ confirmExecutionOfActions: string;
326
+ locale_ar: string;
327
+ locale_ca: string;
328
+ locale_cs: string;
329
+ locale_da: string;
330
+ locale_de: string;
331
+ locale_en: string;
332
+ locale_es: string;
333
+ locale_fi: string;
334
+ locale_fr: string;
335
+ locale_hu: string;
336
+ locale_it: string;
337
+ locale_ja: string;
338
+ locale_lt: string;
339
+ locale_lv: string;
340
+ locale_nl: string;
341
+ locale_no: string;
342
+ locale_pl: string;
343
+ locale_pt_BR: string;
344
+ locale_ru: string;
345
+ locale_sk: string;
346
+ locale_sv: string;
347
+ locale_th: string;
348
+ locale_tr: string;
349
+ "locale_zh-CN": string;
350
+ backToApplication: string;
351
+ missingParameterMessage: string;
352
+ clientNotFoundMessage: string;
353
+ clientDisabledMessage: string;
354
+ invalidParameterMessage: string;
355
+ alreadyLoggedIn: string;
356
+ differentUserAuthenticated: string;
357
+ brokerLinkingSessionExpired: string;
358
+ proceedWithAction: string;
359
+ acrNotFulfilled: string;
360
+ "requiredAction.CONFIGURE_TOTP": string;
361
+ "requiredAction.TERMS_AND_CONDITIONS": string;
362
+ "requiredAction.UPDATE_PASSWORD": string;
363
+ "requiredAction.UPDATE_PROFILE": string;
364
+ "requiredAction.VERIFY_EMAIL": string;
365
+ "requiredAction.CONFIGURE_RECOVERY_AUTHN_CODES": string;
366
+ "requiredAction.webauthn-register-passwordless": string;
367
+ invalidTokenRequiredActions: string;
368
+ doX509Login: string;
369
+ clientCertificate: string;
370
+ noCertificate: string;
371
+ pageNotFound: string;
372
+ internalServerError: string;
373
+ "console-username": string;
374
+ "console-password": string;
375
+ "console-otp": string;
376
+ "console-new-password": string;
377
+ "console-confirm-password": string;
378
+ "console-update-password": string;
379
+ "console-verify-email": string;
380
+ "console-email-code": string;
381
+ "console-accept-terms": string;
382
+ "console-accept": string;
383
+ "openshift.scope.user_info": string;
384
+ "openshift.scope.user_check-access": string;
385
+ "openshift.scope.user_full": string;
386
+ "openshift.scope.list-projects": string;
387
+ "saml.post-form.title": string;
388
+ "saml.post-form.message": string;
389
+ "saml.post-form.js-disabled": string;
390
+ "saml.artifactResolutionServiceInvalidResponse": string;
391
+ "otp-display-name": string;
392
+ "otp-help-text": string;
393
+ "otp-reset-description": string;
394
+ "password-display-name": string;
395
+ "password-help-text": string;
396
+ "auth-username-form-display-name": string;
397
+ "auth-username-form-help-text": string;
398
+ "auth-username-password-form-display-name": string;
399
+ "auth-username-password-form-help-text": string;
400
+ "auth-recovery-authn-code-form-display-name": string;
401
+ "auth-recovery-authn-code-form-help-text": string;
402
+ "auth-recovery-code-info-message": string;
403
+ "auth-recovery-code-prompt": string;
404
+ "auth-recovery-code-header": string;
405
+ "recovery-codes-error-invalid": string;
406
+ "recovery-code-config-header": string;
407
+ "recovery-code-config-warning-title": string;
408
+ "recovery-code-config-warning-message": string;
409
+ "recovery-codes-print": string;
410
+ "recovery-codes-download": string;
411
+ "recovery-codes-copy": string;
412
+ "recovery-codes-copied": string;
413
+ "recovery-codes-confirmation-message": string;
414
+ "recovery-codes-action-complete": string;
415
+ "recovery-codes-action-cancel": string;
416
+ "recovery-codes-download-file-header": string;
417
+ "recovery-codes-download-file-description": string;
418
+ "recovery-codes-download-file-date": string;
419
+ "recovery-codes-label-default": string;
420
+ "webauthn-display-name": string;
421
+ "webauthn-help-text": string;
422
+ "webauthn-passwordless-display-name": string;
423
+ "webauthn-passwordless-help-text": string;
424
+ "webauthn-login-title": string;
425
+ "webauthn-registration-title": string;
426
+ "webauthn-available-authenticators": string;
427
+ "webauthn-unsupported-browser-text": string;
428
+ "webauthn-doAuthenticate": string;
429
+ "webauthn-createdAt-label": string;
430
+ "webauthn-error-title": string;
431
+ "webauthn-error-registration": string;
432
+ "webauthn-error-api-get": string;
433
+ "webauthn-error-different-user": string;
434
+ "webauthn-error-auth-verification": string;
435
+ "webauthn-error-register-verification": string;
436
+ "webauthn-error-user-not-found": string;
437
+ "identity-provider-redirector": string;
438
+ "identity-provider-login-label": string;
439
+ "idp-email-verification-display-name": string;
440
+ "idp-email-verification-help-text": string;
441
+ "idp-username-password-form-display-name": string;
442
+ "idp-username-password-form-help-text": string;
443
+ finalDeletionConfirmation: string;
444
+ irreversibleAction: string;
445
+ deleteAccountConfirm: string;
446
+ deletingImplies: string;
447
+ errasingData: string;
448
+ loggingOutImmediately: string;
449
+ accountUnusable: string;
450
+ userDeletedSuccessfully: string;
451
+ "access-denied": string;
452
+ "access-denied-when-idp-auth": string;
453
+ "frontchannel-logout.title": string;
454
+ "frontchannel-logout.message": string;
455
+ logoutConfirmTitle: string;
456
+ logoutConfirmHeader: string;
457
+ doLogout: string;
458
+ readOnlyUsernameMessage: string;
459
+ } | {
460
+ doLogIn: string;
461
+ doRegister: string;
462
+ doCancel: string;
463
+ doSubmit: string;
464
+ doBack: string;
465
+ doYes: string;
466
+ doNo: string;
467
+ doContinue: string;
468
+ doIgnore: string;
469
+ doAccept: string;
470
+ doDecline: string;
471
+ doForgotPassword: string;
472
+ doClickHere: string;
473
+ doImpersonate: string;
474
+ doTryAgain: string;
475
+ doTryAnotherWay: string;
476
+ doConfirmDelete: string;
477
+ errorDeletingAccount: string;
478
+ deletingAccountForbidden: string;
479
+ kerberosNotConfigured: string;
480
+ kerberosNotConfiguredTitle: string;
481
+ bypassKerberosDetail: string;
482
+ kerberosNotSetUp: string;
483
+ registerTitle: string;
484
+ loginAccountTitle: string;
485
+ loginTitle: string;
486
+ loginTitleHtml: string;
487
+ impersonateTitle: string;
488
+ impersonateTitleHtml: string;
489
+ realmChoice: string;
490
+ unknownUser: string;
491
+ loginTotpTitle: string;
492
+ loginProfileTitle: string;
493
+ loginIdpReviewProfileTitle: string;
494
+ loginTimeout: string;
495
+ reauthenticate: string;
496
+ oauthGrantTitle: string;
497
+ oauthGrantTitleHtml: string;
498
+ oauthGrantInformation: string;
499
+ oauthGrantReview: string;
500
+ oauthGrantTos: string;
501
+ oauthGrantPolicy: string;
502
+ errorTitle: string;
503
+ errorTitleHtml: string;
504
+ emailVerifyTitle: string;
505
+ emailForgotTitle: string;
506
+ updateEmailTitle: string;
507
+ emailUpdateConfirmationSentTitle: string;
508
+ emailUpdateConfirmationSent: string;
509
+ emailUpdatedTitle: string;
510
+ emailUpdated: string;
511
+ updatePasswordTitle: string;
512
+ codeSuccessTitle: string;
513
+ codeErrorTitle: string;
514
+ displayUnsupported: string;
515
+ browserRequired: string;
516
+ browserContinue: string;
517
+ browserContinuePrompt: string;
518
+ browserContinueAnswer: string;
519
+ usb: string;
520
+ nfc: string;
521
+ bluetooth: string;
522
+ internal: string;
523
+ unknown: string;
524
+ termsTitle: string;
525
+ termsText: string;
526
+ termsPlainText: string;
527
+ termsAcceptanceRequired: string;
528
+ acceptTerms: string;
529
+ recaptchaFailed: string;
530
+ recaptchaNotConfigured: string;
531
+ consentDenied: string;
532
+ noAccount: string;
533
+ username: string;
534
+ usernameOrEmail: string;
535
+ firstName: string;
536
+ givenName: string;
537
+ fullName: string;
538
+ lastName: string;
539
+ familyName: string;
540
+ email: string;
541
+ password: string;
542
+ passwordConfirm: string;
543
+ passwordNew: string;
544
+ passwordNewConfirm: string;
545
+ hidePassword: string;
546
+ showPassword: string;
547
+ rememberMe: string;
548
+ authenticatorCode: string;
549
+ address: string;
550
+ street: string;
551
+ locality: string;
552
+ region: string;
553
+ postal_code: string;
554
+ country: string;
555
+ emailVerified: string;
556
+ website: string;
557
+ phoneNumber: string;
558
+ phoneNumberVerified: string;
559
+ gender: string;
560
+ birthday: string;
561
+ zoneinfo: string;
562
+ gssDelegationCredential: string;
563
+ logoutOtherSessions: string;
564
+ profileScopeConsentText: string;
565
+ emailScopeConsentText: string;
566
+ addressScopeConsentText: string;
567
+ phoneScopeConsentText: string;
568
+ offlineAccessScopeConsentText: string;
569
+ samlRoleListScopeConsentText: string;
570
+ rolesScopeConsentText: string;
571
+ restartLoginTooltip: string;
572
+ loginTotpIntro: string;
573
+ loginTotpStep1: string;
574
+ loginTotpStep2: string;
575
+ loginTotpStep3: string;
576
+ loginTotpStep3DeviceName: string;
577
+ loginTotpManualStep2: string;
578
+ loginTotpManualStep3: string;
579
+ loginTotpUnableToScan: string;
580
+ loginTotpScanBarcode: string;
581
+ loginCredential: string;
582
+ loginOtpOneTime: string;
583
+ loginTotpType: string;
584
+ loginTotpAlgorithm: string;
585
+ loginTotpDigits: string;
586
+ loginTotpInterval: string;
587
+ loginTotpCounter: string;
588
+ loginTotpDeviceName: string;
589
+ "loginTotp.totp": string;
590
+ "loginTotp.hotp": string;
591
+ totpAppFreeOTPName: string;
592
+ totpAppGoogleName: string;
593
+ totpAppMicrosoftAuthenticatorName: string;
594
+ loginChooseAuthenticator: string;
595
+ oauthGrantRequest: string;
596
+ inResource: string;
597
+ oauth2DeviceVerificationTitle: string;
598
+ verifyOAuth2DeviceUserCode: string;
599
+ oauth2DeviceInvalidUserCodeMessage: string;
600
+ oauth2DeviceExpiredUserCodeMessage: string;
601
+ oauth2DeviceVerificationCompleteHeader: string;
602
+ oauth2DeviceVerificationCompleteMessage: string;
603
+ oauth2DeviceVerificationFailedHeader: string;
604
+ oauth2DeviceVerificationFailedMessage: string;
605
+ oauth2DeviceConsentDeniedMessage: string;
606
+ oauth2DeviceAuthorizationGrantDisabledMessage: string;
607
+ emailVerifyInstruction1: string;
608
+ emailVerifyInstruction2: string;
609
+ emailVerifyInstruction3: string;
610
+ emailLinkIdpTitle: string;
611
+ emailLinkIdp1: string;
612
+ emailLinkIdp2: string;
613
+ emailLinkIdp3: string;
614
+ emailLinkIdp4: string;
615
+ emailLinkIdp5: string;
616
+ backToLogin: string;
617
+ emailInstruction: string;
618
+ emailInstructionUsername: string;
619
+ copyCodeInstruction: string;
620
+ pageExpiredTitle: string;
621
+ pageExpiredMsg1: string;
622
+ pageExpiredMsg2: string;
623
+ personalInfo: string;
624
+ role_admin: string;
625
+ "role_realm-admin": string;
626
+ "role_create-realm": string;
627
+ "role_create-client": string;
628
+ "role_view-realm": string;
629
+ "role_view-users": string;
630
+ "role_view-applications": string;
631
+ "role_view-clients": string;
632
+ "role_view-events": string;
633
+ "role_view-identity-providers": string;
634
+ "role_manage-realm": string;
635
+ "role_manage-users": string;
636
+ "role_manage-applications": string;
637
+ "role_manage-identity-providers": string;
638
+ "role_manage-clients": string;
639
+ "role_manage-events": string;
640
+ "role_view-profile": string;
641
+ "role_manage-account": string;
642
+ "role_manage-account-links": string;
643
+ "role_read-token": string;
644
+ "role_offline-access": string;
645
+ client_account: string;
646
+ "client_account-console": string;
189
647
  "client_realm-management": string;
190
648
  client_broker: string;
191
649
  requiredFields: string;
@@ -1,15 +1,16 @@
1
1
  //This code was automatically generated by running scripts/generate-i18n-messages.ts
2
2
  //PLEASE DO NOT EDIT MANUALLY
3
+ import * as en from "./en";
3
4
  export async function getMessages(currentLanguageTag) {
4
5
  const { default: messages } = await (() => {
5
6
  switch (currentLanguageTag) {
7
+ case "en": return en;
6
8
  case "ar": return import("./ar");
7
9
  case "ca": return import("./ca");
8
10
  case "cs": return import("./cs");
9
11
  case "da": return import("./da");
10
12
  case "de": return import("./de");
11
13
  case "el": return import("./el");
12
- case "en": return import("./en");
13
14
  case "es": return import("./es");
14
15
  case "fa": return import("./fa");
15
16
  case "fi": return import("./fi");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/login/i18n/baseMessages/index.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,6BAA6B;AAE7B,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,kBAA0B;IACxD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE;QACtC,QAAQ,kBAAkB,EAAE;YACxB,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,OAAO,CAAC,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;YACvC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,OAAO,CAAC,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;YACvC,OAAO,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;SACrC;IACL,CAAC,CAAC,EAAE,CAAC;IACL,OAAO,QAAQ,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/login/i18n/baseMessages/index.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,6BAA6B;AAC7B,OAAO,KAAK,EAAE,MAAM,MAAM,CAAC;AAE3B,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,kBAA0B;IACxD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE;QACtC,QAAQ,kBAAkB,EAAE;YACxB,KAAK,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACrB,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,OAAO,CAAC,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;YACvC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,OAAO,CAAC,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;YACvC,OAAO,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;SACrC;IACL,CAAC,CAAC,EAAE,CAAC;IACL,OAAO,QAAQ,CAAC;AACpB,CAAC"}
@@ -2,9 +2,10 @@
2
2
  import type { I18n } from "../../login/i18n";
3
3
  import { type TemplateProps, type ClassKey } from "../../login/TemplateProps";
4
4
  import type { LazyOrNot } from "../../tools/LazyOrNot";
5
- export type PageProps<KcContext, I18nExtended extends I18n> = {
5
+ import type { KcContext } from "../../account/kcContext";
6
+ export type PageProps<NarowedKcContext = KcContext, I18nExtended extends I18n = I18n> = {
6
7
  Template: LazyOrNot<(props: TemplateProps<any, any>) => JSX.Element | null>;
7
- kcContext: KcContext;
8
+ kcContext: NarowedKcContext;
8
9
  i18n: I18nExtended;
9
10
  doUseDefaultCss: boolean;
10
11
  classes?: Partial<Record<ClassKey, string>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "keycloakify",
3
- "version": "9.4.0-rc.9",
3
+ "version": "9.4.0",
4
4
  "description": "Create Keycloak themes using React",
5
5
  "repository": {
6
6
  "type": "git",
@@ -75,11 +75,14 @@
75
75
  "src/bin/constants.ts",
76
76
  "src/bin/copy-keycloak-resources-to-public.ts",
77
77
  "src/bin/download-builtin-keycloak-theme.ts",
78
+ "src/bin/downloadAndUnzip.ts",
78
79
  "src/bin/eject-keycloak-page.ts",
79
80
  "src/bin/getThemeSrcDirPath.ts",
80
81
  "src/bin/initialize-email-theme.ts",
81
82
  "src/bin/keycloakify/buildOptions/buildOptions.ts",
82
- "src/bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.ts",
83
+ "src/bin/keycloakify/buildOptions/getCacheDirPath.ts",
84
+ "src/bin/keycloakify/buildOptions/getNpmWorkspaceRootDirPath.ts",
85
+ "src/bin/keycloakify/buildOptions/getReactAppRootDirPath.ts",
83
86
  "src/bin/keycloakify/buildOptions/index.ts",
84
87
  "src/bin/keycloakify/buildOptions/parsedPackageJson.ts",
85
88
  "src/bin/keycloakify/buildOptions/resolvedViteConfig.ts",
@@ -111,11 +114,12 @@
111
114
  "src/bin/tools/crawl.ts",
112
115
  "src/bin/tools/crc32.ts",
113
116
  "src/bin/tools/deflate.ts",
114
- "src/bin/tools/downloadAndUnzip.ts",
117
+ "src/bin/tools/fetchProxyOptions.ts",
118
+ "src/bin/tools/fs.existsAsync.ts",
115
119
  "src/bin/tools/fs.rm.ts",
116
120
  "src/bin/tools/fs.rmSync.ts",
117
121
  "src/bin/tools/getAbsoluteAndInOsFormatPath.ts",
118
- "src/bin/tools/getProjectRoot.ts",
122
+ "src/bin/tools/getThisCodebaseRootDirPath.ts",
119
123
  "src/bin/tools/grant-exec-perms.ts",
120
124
  "src/bin/tools/isInside.ts",
121
125
  "src/bin/tools/kebabCaseToSnakeCase.ts",
@@ -123,6 +127,7 @@
123
127
  "src/bin/tools/octokit-addons/getLatestsSemVersionedTag.ts",
124
128
  "src/bin/tools/octokit-addons/listTags.ts",
125
129
  "src/bin/tools/partitionPromiseSettledResults.ts",
130
+ "src/bin/tools/readThisNpmProjectVersion.ts",
126
131
  "src/bin/tools/tee.ts",
127
132
  "src/bin/tools/transformCodebase.ts",
128
133
  "src/bin/tools/trimIndent.ts",
@@ -221,7 +226,6 @@
221
226
  "src/tools/useConst.ts",
222
227
  "src/tools/useConstCallback.ts",
223
228
  "src/tsconfig.json",
224
- "src/vite-plugin/config.json",
225
229
  "src/vite-plugin/index.ts",
226
230
  "src/vite-plugin/tsconfig.json",
227
231
  "src/vite-plugin/vite-plugin.ts",
@@ -366,6 +370,9 @@
366
370
  "bin/download-builtin-keycloak-theme.d.ts",
367
371
  "bin/download-builtin-keycloak-theme.js",
368
372
  "bin/download-builtin-keycloak-theme.js.map",
373
+ "bin/downloadAndUnzip.d.ts",
374
+ "bin/downloadAndUnzip.js",
375
+ "bin/downloadAndUnzip.js.map",
369
376
  "bin/eject-keycloak-page.d.ts",
370
377
  "bin/eject-keycloak-page.js",
371
378
  "bin/eject-keycloak-page.js.map",
@@ -378,9 +385,15 @@
378
385
  "bin/keycloakify/buildOptions/buildOptions.d.ts",
379
386
  "bin/keycloakify/buildOptions/buildOptions.js",
380
387
  "bin/keycloakify/buildOptions/buildOptions.js.map",
381
- "bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.d.ts",
382
- "bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.js",
383
- "bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.js.map",
388
+ "bin/keycloakify/buildOptions/getCacheDirPath.d.ts",
389
+ "bin/keycloakify/buildOptions/getCacheDirPath.js",
390
+ "bin/keycloakify/buildOptions/getCacheDirPath.js.map",
391
+ "bin/keycloakify/buildOptions/getNpmWorkspaceRootDirPath.d.ts",
392
+ "bin/keycloakify/buildOptions/getNpmWorkspaceRootDirPath.js",
393
+ "bin/keycloakify/buildOptions/getNpmWorkspaceRootDirPath.js.map",
394
+ "bin/keycloakify/buildOptions/getReactAppRootDirPath.d.ts",
395
+ "bin/keycloakify/buildOptions/getReactAppRootDirPath.js",
396
+ "bin/keycloakify/buildOptions/getReactAppRootDirPath.js.map",
384
397
  "bin/keycloakify/buildOptions/index.d.ts",
385
398
  "bin/keycloakify/buildOptions/index.js",
386
399
  "bin/keycloakify/buildOptions/index.js.map",
@@ -472,9 +485,12 @@
472
485
  "bin/tools/deflate.d.ts",
473
486
  "bin/tools/deflate.js",
474
487
  "bin/tools/deflate.js.map",
475
- "bin/tools/downloadAndUnzip.d.ts",
476
- "bin/tools/downloadAndUnzip.js",
477
- "bin/tools/downloadAndUnzip.js.map",
488
+ "bin/tools/fetchProxyOptions.d.ts",
489
+ "bin/tools/fetchProxyOptions.js",
490
+ "bin/tools/fetchProxyOptions.js.map",
491
+ "bin/tools/fs.existsAsync.d.ts",
492
+ "bin/tools/fs.existsAsync.js",
493
+ "bin/tools/fs.existsAsync.js.map",
478
494
  "bin/tools/fs.rm.d.ts",
479
495
  "bin/tools/fs.rm.js",
480
496
  "bin/tools/fs.rm.js.map",
@@ -484,9 +500,9 @@
484
500
  "bin/tools/getAbsoluteAndInOsFormatPath.d.ts",
485
501
  "bin/tools/getAbsoluteAndInOsFormatPath.js",
486
502
  "bin/tools/getAbsoluteAndInOsFormatPath.js.map",
487
- "bin/tools/getProjectRoot.d.ts",
488
- "bin/tools/getProjectRoot.js",
489
- "bin/tools/getProjectRoot.js.map",
503
+ "bin/tools/getThisCodebaseRootDirPath.d.ts",
504
+ "bin/tools/getThisCodebaseRootDirPath.js",
505
+ "bin/tools/getThisCodebaseRootDirPath.js.map",
490
506
  "bin/tools/grant-exec-perms.d.ts",
491
507
  "bin/tools/grant-exec-perms.js",
492
508
  "bin/tools/grant-exec-perms.js.map",
@@ -508,6 +524,9 @@
508
524
  "bin/tools/partitionPromiseSettledResults.d.ts",
509
525
  "bin/tools/partitionPromiseSettledResults.js",
510
526
  "bin/tools/partitionPromiseSettledResults.js.map",
527
+ "bin/tools/readThisNpmProjectVersion.d.ts",
528
+ "bin/tools/readThisNpmProjectVersion.js",
529
+ "bin/tools/readThisNpmProjectVersion.js.map",
511
530
  "bin/tools/tee.d.ts",
512
531
  "bin/tools/tee.js",
513
532
  "bin/tools/tee.js.map",
@@ -795,11 +814,14 @@
795
814
  "src/bin/constants.ts",
796
815
  "src/bin/copy-keycloak-resources-to-public.ts",
797
816
  "src/bin/download-builtin-keycloak-theme.ts",
817
+ "src/bin/downloadAndUnzip.ts",
798
818
  "src/bin/eject-keycloak-page.ts",
799
819
  "src/bin/getThemeSrcDirPath.ts",
800
820
  "src/bin/initialize-email-theme.ts",
801
821
  "src/bin/keycloakify/buildOptions/buildOptions.ts",
802
- "src/bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.ts",
822
+ "src/bin/keycloakify/buildOptions/getCacheDirPath.ts",
823
+ "src/bin/keycloakify/buildOptions/getNpmWorkspaceRootDirPath.ts",
824
+ "src/bin/keycloakify/buildOptions/getReactAppRootDirPath.ts",
803
825
  "src/bin/keycloakify/buildOptions/index.ts",
804
826
  "src/bin/keycloakify/buildOptions/parsedPackageJson.ts",
805
827
  "src/bin/keycloakify/buildOptions/resolvedViteConfig.ts",
@@ -831,11 +853,12 @@
831
853
  "src/bin/tools/crawl.ts",
832
854
  "src/bin/tools/crc32.ts",
833
855
  "src/bin/tools/deflate.ts",
834
- "src/bin/tools/downloadAndUnzip.ts",
856
+ "src/bin/tools/fetchProxyOptions.ts",
857
+ "src/bin/tools/fs.existsAsync.ts",
835
858
  "src/bin/tools/fs.rm.ts",
836
859
  "src/bin/tools/fs.rmSync.ts",
837
860
  "src/bin/tools/getAbsoluteAndInOsFormatPath.ts",
838
- "src/bin/tools/getProjectRoot.ts",
861
+ "src/bin/tools/getThisCodebaseRootDirPath.ts",
839
862
  "src/bin/tools/grant-exec-perms.ts",
840
863
  "src/bin/tools/isInside.ts",
841
864
  "src/bin/tools/kebabCaseToSnakeCase.ts",
@@ -843,6 +866,7 @@
843
866
  "src/bin/tools/octokit-addons/getLatestsSemVersionedTag.ts",
844
867
  "src/bin/tools/octokit-addons/listTags.ts",
845
868
  "src/bin/tools/partitionPromiseSettledResults.ts",
869
+ "src/bin/tools/readThisNpmProjectVersion.ts",
846
870
  "src/bin/tools/tee.ts",
847
871
  "src/bin/tools/transformCodebase.ts",
848
872
  "src/bin/tools/trimIndent.ts",
@@ -941,7 +965,6 @@
941
965
  "src/tools/useConst.ts",
942
966
  "src/tools/useConstCallback.ts",
943
967
  "src/tsconfig.json",
944
- "src/vite-plugin/config.json",
945
968
  "src/vite-plugin/index.ts",
946
969
  "src/vite-plugin/tsconfig.json",
947
970
  "src/vite-plugin/vite-plugin.ts",
@@ -1067,7 +1090,6 @@
1067
1090
  "make-fetch-happen": "^11.0.3",
1068
1091
  "minimal-polyfills": "^2.2.2",
1069
1092
  "minimist": "^1.2.6",
1070
- "path-browserify": "^1.0.1",
1071
1093
  "react-markdown": "^5.0.3",
1072
1094
  "recast": "^0.23.3",
1073
1095
  "rfc4648": "^1.5.2",