@reliverse/dler 1.7.114 → 1.7.115

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 (155) hide show
  1. package/bin/app/add/add-local/core/templates.d.ts +3 -3
  2. package/bin/app/add/add-local/core/templates.js +8 -8
  3. package/bin/app/add/cmd.js +2 -2
  4. package/bin/app/ai/ai-impl/ai-chat.d.ts +2 -2
  5. package/bin/app/ai/ai-impl/ai-types.d.ts +2 -2
  6. package/bin/app/ai/ai-impl/relinter/relinter.d.ts +2 -2
  7. package/bin/app/ai/ai-menu.d.ts +2 -2
  8. package/bin/app/ai/cmd.js +4 -4
  9. package/bin/app/better/auth/cmd.js +1 -6
  10. package/bin/app/build/build-library.d.ts +5 -4
  11. package/bin/app/build/build-regular.d.ts +4 -3
  12. package/bin/app/build/cmd.d.ts +10 -0
  13. package/bin/app/build/cmd.js +29 -12
  14. package/bin/app/build/impl.d.ts +3 -2
  15. package/bin/app/build/library-flow.d.ts +5 -4
  16. package/bin/app/build/postbuild.d.ts +2 -2
  17. package/bin/app/build/postbuild.js +0 -6
  18. package/bin/app/build/prebuild.d.ts +2 -2
  19. package/bin/app/build/prebuild.js +0 -6
  20. package/bin/app/build/regular-flow.d.ts +4 -3
  21. package/bin/app/check/cmd.js +2 -2
  22. package/bin/app/config/constants.d.ts +1 -1
  23. package/bin/app/config/constants.js +1 -1
  24. package/bin/app/config/content.d.ts +1 -1
  25. package/bin/app/config/content.js +2 -2
  26. package/bin/app/config/core-cfg.d.ts +5 -5
  27. package/bin/app/config/core-cfg.js +27 -16
  28. package/bin/app/config/create.d.ts +6 -5
  29. package/bin/app/config/create.js +13 -22
  30. package/bin/app/config/def-utils.d.ts +3 -3
  31. package/bin/app/config/def-utils.js +10 -8
  32. package/bin/app/config/detect.d.ts +4 -2
  33. package/bin/app/config/detect.js +36 -6
  34. package/bin/app/config/gen-cfg.js +4 -4
  35. package/bin/app/config/load.d.ts +2 -2
  36. package/bin/app/config/load.js +1 -1
  37. package/bin/app/config/migrate.d.ts +1 -1
  38. package/bin/app/config/migrate.js +7 -3
  39. package/bin/app/config/path.d.ts +1 -1
  40. package/bin/app/config/path.js +3 -3
  41. package/bin/app/config/prepare.d.ts +1 -1
  42. package/bin/app/config/prepare.js +83 -81
  43. package/bin/app/config/prompts.d.ts +1 -1
  44. package/bin/app/config/prompts.js +1 -1
  45. package/bin/app/config/read.d.ts +3 -3
  46. package/bin/app/config/read.js +13 -35
  47. package/bin/app/config/repair.d.ts +2 -2
  48. package/bin/app/config/repair.js +12 -12
  49. package/bin/app/config/unstable.d.ts +3 -3
  50. package/bin/app/config/unstable.js +2 -14
  51. package/bin/app/config/update.d.ts +3 -3
  52. package/bin/app/config/update.js +41 -48
  53. package/bin/app/env/env-impl.js +2 -2
  54. package/bin/app/init/cmd-2.js +2 -2
  55. package/bin/app/init/init-utils/init-utils.js +7 -7
  56. package/bin/app/init/init-utils/mm-deprecated/editor-menu.d.ts +3 -2
  57. package/bin/app/init/init-utils/mm-deprecated/editor-menu.js +1 -6
  58. package/bin/app/init/use-template/cp-impl.d.ts +5 -4
  59. package/bin/app/init/use-template/cp-mod.d.ts +3 -3
  60. package/bin/app/init/use-template/cp-mod.js +5 -5
  61. package/bin/app/init/use-template/cp-modules/cli-main-modules/cli-menu-items/showCloneProjectMenu.d.ts +2 -2
  62. package/bin/app/init/use-template/cp-modules/compose-env-file/cef-impl.d.ts +2 -2
  63. package/bin/app/init/use-template/cp-modules/compose-env-file/cef-mod.d.ts +2 -2
  64. package/bin/app/init/use-template/cp-modules/git-deploy-prompts/deploy.d.ts +4 -3
  65. package/bin/app/init/use-template/cp-modules/git-deploy-prompts/gdp-mod.d.ts +5 -4
  66. package/bin/app/init/use-template/cp-modules/git-deploy-prompts/git.d.ts +6 -5
  67. package/bin/app/init/use-template/cp-modules/git-deploy-prompts/github.d.ts +2 -2
  68. package/bin/app/init/use-template/cp-modules/git-deploy-prompts/utils-private-repo.d.ts +2 -2
  69. package/bin/app/init/use-template/cp-modules/git-deploy-prompts/utils-private-repo.js +6 -3
  70. package/bin/app/init/use-template/cp-modules/git-deploy-prompts/utils-repo-exists.d.ts +3 -2
  71. package/bin/app/init/use-template/cp-modules/git-deploy-prompts/utils-repo-exists.js +4 -4
  72. package/bin/app/invoke/cmd.js +2 -2
  73. package/bin/app/mrse/cmd.js +2 -2
  74. package/bin/app/mrse/mrse-impl.js +2 -2
  75. package/bin/app/providers/better-t-stack/types.d.ts +5 -5
  76. package/bin/app/providers/package.json +3 -0
  77. package/bin/app/providers/reliverse-stack/reliverse-stack-mod.js +2 -2
  78. package/bin/app/providers/reliverse-stack/rs-impl.d.ts +4 -4
  79. package/bin/app/pub/cmd.d.ts +10 -0
  80. package/bin/app/pub/cmd.js +27 -12
  81. package/bin/app/pub/impl.d.ts +3 -2
  82. package/bin/app/rempts/cmd.js +2 -2
  83. package/bin/app/rules/reliverse/dler-config-health/dler-config-health.d.ts +1 -1
  84. package/bin/app/rules/reliverse/dler-config-health/dler-config-health.js +1 -1
  85. package/bin/app/schema/cmd.js +3 -3
  86. package/bin/app/{config/reltypes-content.js → schema/gen.js} +475 -229
  87. package/bin/app/schema/mod.d.ts +1224 -0
  88. package/bin/app/schema/mod.js +329 -0
  89. package/bin/app/{config/reltypes-utils.js → schema/utils.js} +6 -3
  90. package/bin/app/toolbox/cmd.js +2 -2
  91. package/bin/app/toolbox/toolbox-impl.d.ts +3 -2
  92. package/bin/app/types/mod.d.ts +10 -1518
  93. package/bin/app/types/mod.js +0 -161
  94. package/bin/app/update/impl.d.ts +1 -0
  95. package/bin/app/update/impl.js +102 -1
  96. package/bin/app/utils/common.d.ts +3 -0
  97. package/bin/app/utils/common.js +28 -0
  98. package/bin/app/utils/decideHelper.d.ts +2 -2
  99. package/bin/app/utils/downloading/downloadRepo.d.ts +2 -2
  100. package/bin/app/utils/downloading/downloadRepo.js +3 -3
  101. package/bin/app/utils/downloading/handleDownload.d.ts +2 -2
  102. package/bin/app/utils/finalize.d.ts +2 -1
  103. package/bin/app/utils/handlers/handleCleanup.js +2 -2
  104. package/bin/app/utils/handlers/handleCodemods.d.ts +2 -2
  105. package/bin/app/utils/projectRepository.d.ts +3 -4
  106. package/bin/app/utils/prompts/askUsernameFrontend.d.ts +2 -2
  107. package/bin/app/utils/prompts/askUsernameFrontend.js +3 -3
  108. package/bin/app/utils/resolve-cross-libs.js +2 -2
  109. package/bin/app/utils/schemaMemory.d.ts +1 -1
  110. package/bin/app/utils/startEndPrompts.d.ts +8 -2
  111. package/bin/app/utils/startEndPrompts.js +43 -12
  112. package/bin/app/utils/utils-build.d.ts +2 -2
  113. package/bin/app/utils/utils-clean.d.ts +1 -1
  114. package/bin/app/utils/utils-deps.d.ts +2 -2
  115. package/bin/app/utils/utils-determine.d.ts +1 -1
  116. package/bin/app/utils/utils-jsr-json.d.ts +2 -2
  117. package/bin/app/utils/utils-package-json-libraries.d.ts +3 -3
  118. package/bin/app/utils/utils-package-json-regular.d.ts +2 -2
  119. package/bin/dler.js +2 -92
  120. package/bin/mod.d.ts +431 -438
  121. package/bin/mod.js +36 -27
  122. package/package.json +10 -10
  123. package/bin/app/agg/cmd.d.ts +0 -72
  124. package/bin/app/agg/cmd.js +0 -128
  125. package/bin/app/cli/cmd.d.ts +0 -12
  126. package/bin/app/cli/cmd.js +0 -56
  127. package/bin/app/cli/impl.d.ts +0 -3
  128. package/bin/app/cli/impl.js +0 -88
  129. package/bin/app/config/default-cfg.d.ts +0 -3
  130. package/bin/app/config/default-cfg.js +0 -155
  131. package/bin/app/config/default.d.ts +0 -6
  132. package/bin/app/config/default.js +0 -159
  133. package/bin/app/config/schema.d.ts +0 -130
  134. package/bin/app/config/schema.js +0 -443
  135. package/bin/app/init/use-template/cp-modules/cli-main-modules/cli-menu-items/getMainMenuOptions.d.ts +0 -12
  136. package/bin/app/init/use-template/cp-modules/cli-main-modules/cli-menu-items/getMainMenuOptions.js +0 -69
  137. package/bin/app/init/use-template/cp-modules/cli-main-modules/modules/showStartEndPrompt.d.ts +0 -2
  138. package/bin/app/init/use-template/cp-modules/cli-main-modules/modules/showStartEndPrompt.js +0 -26
  139. package/bin/app/schema/schema-impl.d.ts +0 -2
  140. package/bin/app/schema/schema-impl.js +0 -24
  141. package/bin/app/update/cmd.d.ts +0 -103
  142. package/bin/app/update/cmd.js +0 -299
  143. package/bin/app/utils/native-cli/nc-impl.d.ts +0 -15
  144. package/bin/app/utils/native-cli/nc-impl.js +0 -154
  145. package/bin/app/utils/native-cli/nc-mod.d.ts +0 -3
  146. package/bin/app/utils/native-cli/nc-mod.js +0 -44
  147. package/bin/app/web/README.md +0 -149
  148. package/bin/app/web/cmd.d.ts +0 -2
  149. package/bin/app/web/cmd.js +0 -11
  150. package/bin/dler-go +0 -4
  151. package/bin/dler-rust +0 -4
  152. /package/bin/app/{config/reltypes-content.d.ts → schema/gen.d.ts} +0 -0
  153. /package/bin/app/{config/reltypes-utils.d.ts → schema/utils.d.ts} +0 -0
  154. /package/bin/app/utils/{hasOnlyRseConfig.d.ts → hasOnlyReliverseConfig.d.ts} +0 -0
  155. /package/bin/app/utils/{hasOnlyRseConfig.js → hasOnlyReliverseConfig.js} +0 -0
@@ -1,87 +1,27 @@
1
1
  export function generateReltypesContent({ lastUpdated }) {
2
- return `// reliverse.ts types version is ${lastUpdated}
3
- /**
4
- * Defines the configuration for building and publishing packages. This includes: versioning,
5
- * build settings, publishing options, libraries-dler-plugin built-in plugin, and more.
6
- * It customizes the build and publish pipeline for both NPM and JSR registries.
7
- */
2
+ return `// reliverse.ts types version ${lastUpdated} (this file is generated, don't edit it)
8
3
  export interface ReliverseConfig {
9
- $schema: string;
10
- projectName: string;
11
- projectAuthor: string;
12
- projectDescription: string;
13
- version: string;
14
- projectLicense: string;
15
- // ==========================================================================
16
- // Project configuration
17
- // ==========================================================================
18
- projectState?: string;
4
+ $schema?: string;
5
+ projectName?: UnknownLiteral | (string & {});
6
+ projectAuthor?: UnknownLiteral | (string & {});
7
+ projectDescription?: string;
8
+ version?: string;
9
+ projectLicense?: string;
19
10
  projectRepository?: string;
20
11
  projectDomain?: string;
21
- projectCategory?: string;
22
- projectSubcategory?: string;
23
- projectTemplate?: string;
12
+ projectGitService?: ProjectGitService;
13
+ projectDeployService?: ProjectDeployService;
14
+ projectPackageManager?: ProjectPackageManager;
15
+ projectState?: ProjectState;
16
+ projectCategory?: ProjectCategory;
17
+ projectSubcategory?: ProjectSubcategory;
18
+ projectFramework?: ProjectFramework;
19
+ projectTemplate?: ProjectTemplate;
24
20
  projectTemplateDate?: string;
25
- projectArchitecture?: string;
26
- repoPrivacy?: string;
27
- projectGitService?: string;
28
- projectDeployService?: string;
29
- repoBranch?: string;
30
- // Primary tech stack/framework
31
- projectFramework?: string;
32
- projectPackageManager?: string;
33
- projectRuntime?: string;
34
- preferredLibraries?: {
35
- stateManagement?: string;
36
- formManagement?: string;
37
- styling?: string;
38
- uiComponents?: string;
39
- testing?: string;
40
- authentication?: string;
41
- databaseLibrary?: string;
42
- databaseProvider?: string;
43
- api?: string;
44
- linting?: string;
45
- formatting?: string;
46
- payment?: string;
47
- analytics?: string;
48
- monitoring?: string;
49
- logging?: string;
50
- forms?: string;
51
- notifications?: string;
52
- search?: string;
53
- uploads?: string;
54
- validation?: string;
55
- documentation?: string;
56
- icons?: string;
57
- mail?: string;
58
- cache?: string;
59
- storage?: string;
60
- cdn?: string;
61
- cms?: string;
62
- i18n?: string;
63
- seo?: string;
64
- motion?: string;
65
- charts?: string;
66
- dates?: string;
67
- markdown?: string;
68
- security?: string;
69
- routing?: string;
70
- };
71
- monorepo?: {
72
- type?: string;
73
- packages?: string[];
74
- sharedPackages?: string[];
75
- };
76
- // List dependencies to exclude from checks
77
- ignoreDependencies?: string[];
78
- // Provide custom rules for Reliverse AI
79
- customRules?: Record<string, any>;
80
- // Project features
81
21
  features?: {
82
22
  i18n?: boolean;
83
23
  analytics?: boolean;
84
- themeMode?: string;
24
+ themeMode?: ThemeMode;
85
25
  authentication?: boolean;
86
26
  api?: boolean;
87
27
  database?: boolean;
@@ -93,23 +33,58 @@ export interface ReliverseConfig {
93
33
  language?: string[];
94
34
  themes?: string[];
95
35
  };
96
- // Code style preferences
36
+ preferredLibraries?: {
37
+ stateManagement?: PreferredStateManagement;
38
+ formManagement?: PreferredForm;
39
+ styling?: PreferredStyling;
40
+ uiComponents?: PreferredUI;
41
+ testing?: PreferredTesting;
42
+ authentication?: PreferredAuth;
43
+ databaseLibrary?: PreferredDBLib;
44
+ databaseProvider?: PreferredDBProvider;
45
+ api?: PreferredAPI;
46
+ linting?: PreferredLint;
47
+ formatting?: PreferredFormat;
48
+ payment?: PreferredPayment;
49
+ analytics?: PreferredAnalytics;
50
+ monitoring?: PreferredMonitoring;
51
+ logging?: PreferredLogging;
52
+ forms?: PreferredForms;
53
+ notifications?: PreferredNotifications;
54
+ search?: PreferredSearch;
55
+ uploads?: PreferredUploads;
56
+ validation?: PreferredValidation;
57
+ documentation?: PreferredDocs;
58
+ icons?: PreferredIcons;
59
+ mail?: PreferredMail;
60
+ cache?: PreferredCache;
61
+ storage?: PreferredStorage;
62
+ cdn?: PreferredCDN;
63
+ cms?: PreferredCMS;
64
+ i18n?: PreferredI18n;
65
+ seo?: PreferredSEO;
66
+ motion?: PreferredMotion;
67
+ charts?: PreferredCharts;
68
+ dates?: PreferredDates;
69
+ markdown?: PreferredMarkdown;
70
+ security?: PreferredSecurity;
71
+ routing?: PreferredRouting;
72
+ };
97
73
  codeStyle?: {
98
- dontRemoveComments?: boolean;
99
- shouldAddComments?: boolean;
100
- typeOrInterface?: string;
101
- importOrRequire?: string;
102
- quoteMark?: string;
103
- semicolons?: boolean;
104
74
  lineWidth?: number;
105
- indentStyle?: string;
106
75
  indentSize?: number;
107
- importSymbol?: string;
108
- trailingComma?: string;
76
+ indentStyle?: "space" | "tab";
77
+ quoteMark?: "single" | "double";
78
+ semicolons?: boolean;
79
+ trailingComma?: "none" | "es5" | "all";
109
80
  bracketSpacing?: boolean;
110
- arrowParens?: string;
81
+ arrowParens?: "always" | "avoid";
111
82
  tabWidth?: number;
112
83
  jsToTs?: boolean;
84
+ dontRemoveComments?: boolean;
85
+ shouldAddComments?: boolean;
86
+ typeOrInterface?: "type" | "interface" | "mixed";
87
+ importOrRequire?: "import" | "require" | "mixed";
113
88
  cjsToEsm?: boolean;
114
89
  modernize?: {
115
90
  replaceFs?: boolean;
@@ -119,27 +94,33 @@ export interface ReliverseConfig {
119
94
  replaceConsole?: boolean;
120
95
  replaceEvents?: boolean;
121
96
  };
97
+ importSymbol?: string;
122
98
  };
123
- // Settings for cloning an existing repo
99
+ monorepo?: {
100
+ type?: "none" | "turborepo" | "nx" | "pnpm" | "bun";
101
+ packages?: string[];
102
+ sharedPackages?: string[];
103
+ };
104
+ ignoreDependencies?: string[];
105
+ customRules?: Record<string, unknown>;
124
106
  multipleRepoCloneMode?: boolean;
125
107
  customUserFocusedRepos?: string[];
126
108
  customDevsFocusedRepos?: string[];
127
109
  hideRepoSuggestions?: boolean;
128
110
  customReposOnNewProject?: boolean;
129
- // Set to false to disable opening the browser during env composing
130
111
  envComposerOpenBrowser?: boolean;
131
- // Enable auto-answering for prompts to skip manual confirmations.
112
+ repoBranch?: string;
113
+ repoPrivacy?: RepoPrivacy;
114
+ projectArchitecture?: ProjectArchitecture;
115
+ projectRuntime?: ProjectRuntime;
132
116
  skipPromptsUseAutoBehavior?: boolean;
133
- // Prompt behavior for deployment
134
- deployBehavior?: string;
135
- depsBehavior?: string;
136
- gitBehavior?: string;
137
- i18nBehavior?: string;
138
- scriptsBehavior?: string;
139
- // Behavior for existing GitHub repos during project creation
140
- existingRepoBehavior?: string;
141
- // Behavior for Reliverse AI chat and agent mode
142
- relinterConfirm?: string;
117
+ deployBehavior?: "prompt" | "autoYes" | "autoNo";
118
+ depsBehavior?: "prompt" | "autoYes" | "autoNo";
119
+ gitBehavior?: "prompt" | "autoYes" | "autoNo";
120
+ i18nBehavior?: "prompt" | "autoYes" | "autoNo";
121
+ scriptsBehavior?: "prompt" | "autoYes" | "autoNo";
122
+ existingRepoBehavior?: "prompt" | "autoYes" | "autoYesSkipCommit" | "autoNo";
123
+ relinterConfirm?: RelinterConfirm;
143
124
  // ==========================================================================
144
125
  // Bump configuration
145
126
  // ==========================================================================
@@ -618,7 +599,7 @@ export interface ReliverseConfig {
618
599
  *
619
600
  * @default "node"
620
601
  */
621
- transpileTarget: transpileTarget;
602
+ transpileTarget: TranspileTarget;
622
603
  /**
623
604
  * Watch the src dir and rebuild on change (experimental).
624
605
  *
@@ -692,7 +673,86 @@ export interface ReliverseConfig {
692
673
  *
693
674
  * @default See DEFAULT_RELINKA_CONFIG in defaults
694
675
  */
695
- relinka: RelinkaConfig;
676
+ relinka: {
677
+ /**
678
+ * Configuration options for the Relinka logger.
679
+ * All properties are optional to allow for partial configuration.
680
+ * Defaults will be applied during initialization.
681
+ */
682
+ /**
683
+ * Enables verbose (aka debug) mode for detailed logging.
684
+ *
685
+ * \`true\` here works only for end-users of CLIs/libs when theirs developers
686
+ * has been awaited for user's config via \`@reliverse/relinka\`'s \`await relinkaConfig;\`
687
+ */
688
+ verbose?: boolean;
689
+ /**
690
+ * Configuration for directory-related settings.
691
+ * - \`maxLogFiles\`: The maximum number of log files to keep before cleanup.
692
+ */
693
+ dirs?: RelinkaDirsConfig;
694
+ /**
695
+ * Disables color output in the console.
696
+ */
697
+ disableColors?: boolean;
698
+ /**
699
+ * Configuration for log file output.
700
+ */
701
+ logFile?: {
702
+ /**
703
+ * Path to the log file.
704
+ */
705
+ outputPath?: string;
706
+ /**
707
+ * How to handle date in the filename.
708
+ * - \`disable\`: No date prefix/suffix
709
+ * - \`append-before\`: Add date before the filename (e.g., "2024-01-15-log.txt")
710
+ * - \`append-after\`: Add date after the filename (e.g., "log-2024-01-15.txt")
711
+ */
712
+ nameWithDate?: "disable" | "append-before" | "append-after";
713
+ /**
714
+ * If true, clears the log file when relinkaConfig is executed with supportFreshLogFile: true.
715
+ * This is useful for starting with a clean log file on each run.
716
+ */
717
+ freshLogFile?: boolean;
718
+ };
719
+ /**
720
+ * If true, logs will be saved to a file.
721
+ */
722
+ saveLogsToFile?: boolean;
723
+ /**
724
+ * Configuration for timestamp in log messages.
725
+ */
726
+ timestamp?: {
727
+ /**
728
+ * If true, timestamps will be added to log messages.
729
+ */
730
+ enabled: boolean;
731
+ /**
732
+ * The format for timestamps. Default is YYYY-MM-DD HH:mm:ss.SSS
733
+ */
734
+ format?: string;
735
+ };
736
+ /**
737
+ * Allows to customize the log levels.
738
+ */
739
+ levels?: LogLevelsConfig;
740
+ /**
741
+ * Controls how often the log cleanup runs (in milliseconds)
742
+ * Default: 10000 (10 seconds)
743
+ */
744
+ cleanupInterval?: number;
745
+ /**
746
+ * Maximum size of the log write buffer before flushing to disk (in bytes)
747
+ * Default: 4096 (4KB)
748
+ */
749
+ bufferSize?: number;
750
+ /**
751
+ * Maximum time to hold logs in buffer before flushing to disk (in milliseconds)
752
+ * Default: 5000 (5 seconds)
753
+ */
754
+ maxBufferAge?: number;
755
+ };
696
756
  // ==========================================================================
697
757
  // Remdn Configuration
698
758
  // ==========================================================================
@@ -724,6 +784,46 @@ export interface ReliverseConfig {
724
784
  "ext-map"?: Record<string, string[]>;
725
785
  };
726
786
  }
787
+ /** Configuration for directory-related settings. */
788
+ export interface RelinkaDirsConfig {
789
+ maxLogFiles?: number;
790
+ }
791
+ /** Log level types used by the logger. */
792
+ export type LogLevel =
793
+ | "error"
794
+ | "fatal"
795
+ | "info"
796
+ | "success"
797
+ | "verbose"
798
+ | "warn"
799
+ | "log"
800
+ | "internal"
801
+ | "null"
802
+ | "step"
803
+ | "box"
804
+ | "message";
805
+ /** Configuration for a single log level. */
806
+ export interface LogLevelConfig {
807
+ /**
808
+ * Symbol to display for this log level.
809
+ * @see https://symbl.cc
810
+ */
811
+ symbol: string;
812
+ /**
813
+ * Fallback symbol to use if Unicode is not supported.
814
+ */
815
+ fallbackSymbol: string;
816
+ /**
817
+ * Color to use for this log level.
818
+ */
819
+ color: string;
820
+ /**
821
+ * Number of spaces after the symbol/fallback
822
+ */
823
+ spacing?: number;
824
+ }
825
+ /** Configuration for all log levels. */
826
+ export type LogLevelsConfig = Partial<Record<LogLevel, LogLevelConfig>>;
727
827
  export type BumpMode = "patch" | "minor" | "major" | "auto" | "manual";
728
828
  /**
729
829
  * Supported bundler names for building packages:
@@ -835,141 +935,145 @@ export type Sourcemap = "external" | "inline" | "linked" | "none" | boolean;
835
935
  * - bun: Optimized for Bun.
836
936
  * - browser: Optimized for web browsers.
837
937
  */
838
- export type transpileTarget = "browser" | "bun" | "node";
839
- /** Configuration for directory-related settings. */
840
- export type RelinkaDirsConfig = {
841
- maxLogFiles?: number;
842
- };
843
- /** Log level types used by the logger. */
844
- export type LogLevel =
845
- | "error"
846
- | "fatal"
847
- | "info"
848
- | "success"
849
- | "verbose"
850
- | "warn"
851
- | "log"
852
- | "internal"
853
- | "null"
854
- | "step"
855
- | "box"
856
- | "message";
857
- /** Configuration for a single log level. */
858
- export type LogLevelConfig = {
859
- /**
860
- * Symbol to display for this log level.
861
- * @see https://symbl.cc
862
- */
863
- symbol: string;
864
- /**
865
- * Fallback symbol to use if Unicode is not supported.
866
- */
867
- fallbackSymbol: string;
868
- /**
869
- * Color to use for this log level.
870
- */
871
- color: string;
872
- /**
873
- * Number of spaces after the symbol/fallback
874
- */
875
- spacing?: number;
876
- };
877
- /** Configuration for all log levels. */
878
- export type LogLevelsConfig = Partial<Record<LogLevel, LogLevelConfig>>;
879
- /**
880
- * Configuration options for the Relinka logger.
881
- * All properties are optional to allow for partial configuration.
882
- * Defaults will be applied during initialization.
883
- */
884
- export type RelinkaConfig = {
885
- /**
886
- * Enables verbose (aka debug) mode for detailed logging.
887
- *
888
- * \`true\` here works only for end-users of CLIs/libs when theirs developers
889
- * has been awaited for user's config via \`@reliverse/relinka\`'s \`await relinkaConfig;\`
890
- */
891
- verbose?: boolean;
892
- /**
893
- * Configuration for directory-related settings.
894
- * - \`maxLogFiles\`: The maximum number of log files to keep before cleanup.
895
- */
896
- dirs?: RelinkaDirsConfig;
897
- /**
898
- * Disables color output in the console.
899
- */
900
- disableColors?: boolean;
901
- /**
902
- * Configuration for log file output.
903
- */
904
- logFile?: {
905
- /**
906
- * Path to the log file.
907
- */
908
- outputPath?: string;
909
- /**
910
- * How to handle date in the filename.
911
- * - \`disable\`: No date prefix/suffix
912
- * - \`append-before\`: Add date before the filename (e.g., "2024-01-15-log.txt")
913
- * - \`append-after\`: Add date after the filename (e.g., "log-2024-01-15.txt")
914
- */
915
- nameWithDate?: "disable" | "append-before" | "append-after";
916
- /**
917
- * If true, clears the log file when relinkaConfig is executed with supportFreshLogFile: true.
918
- * This is useful for starting with a clean log file on each run.
919
- */
920
- freshLogFile?: boolean;
921
- };
922
- /**
923
- * If true, logs will be saved to a file.
924
- */
925
- saveLogsToFile?: boolean;
926
- /**
927
- * Configuration for timestamp in log messages.
928
- */
929
- timestamp?: {
930
- /**
931
- * If true, timestamps will be added to log messages.
932
- */
933
- enabled: boolean;
934
- /**
935
- * The format for timestamps. Default is YYYY-MM-DD HH:mm:ss.SSS
936
- */
937
- format?: string;
938
- };
939
- /**
940
- * Allows to customize the log levels.
941
- */
942
- levels?: LogLevelsConfig;
943
- /**
944
- * Controls how often the log cleanup runs (in milliseconds)
945
- * Default: 10000 (10 seconds)
946
- */
947
- cleanupInterval?: number;
948
- /**
949
- * Maximum size of the log write buffer before flushing to disk (in bytes)
950
- * Default: 4096 (4KB)
951
- */
952
- bufferSize?: number;
953
- /**
954
- * Maximum time to hold logs in buffer before flushing to disk (in milliseconds)
955
- * Default: 5000 (5 seconds)
956
- */
957
- maxBufferAge?: number;
958
- };
938
+ export type TranspileTarget = "browser" | "bun" | "node";
939
+ export type UnknownLiteral = "unknown";
940
+ export type ProjectState = "creating" | "created";
941
+ export type ProjectCategory =
942
+ | UnknownLiteral
943
+ | "website"
944
+ | "vscode"
945
+ | "browser"
946
+ | "cli"
947
+ | "library"
948
+ | "mobile";
949
+ export type ProjectSubcategory = UnknownLiteral | "e-commerce" | "tool";
950
+ export type ProjectFramework =
951
+ | UnknownLiteral
952
+ | "nextjs"
953
+ | "vite"
954
+ | "svelte"
955
+ | "remix"
956
+ | "astro"
957
+ | "nuxt"
958
+ | "solid"
959
+ | "qwik"
960
+ | "vue"
961
+ | "wxt"
962
+ | "lynx"
963
+ | "react-native"
964
+ | "expo"
965
+ | "capacitor"
966
+ | "ionic"
967
+ | "electron"
968
+ | "tauri"
969
+ | "neutralino"
970
+ | "rempts"
971
+ | "citty"
972
+ | "commander"
973
+ | "cac"
974
+ | "meow"
975
+ | "yargs"
976
+ | "vscode"
977
+ | "webextension"
978
+ | "browser-extension"
979
+ | "npm-jsr";
980
+ export type ProjectTemplate =
981
+ | UnknownLiteral
982
+ | "blefnk/relivator-nextjs-template"
983
+ | "blefnk/relivator-docker-template"
984
+ | "blefnk/next-react-ts-src-minimal"
985
+ | "blefnk/all-in-one-nextjs-template"
986
+ | "blefnk/create-t3-app"
987
+ | "blefnk/create-next-app"
988
+ | "blefnk/astro-starlight-template"
989
+ | "blefnk/versator-nextjs-template"
990
+ | "blefnk/relivator-lynxjs-template"
991
+ | "blefnk/relivator-react-native-template"
992
+ | "reliverse/template-browser-extension"
993
+ | "microsoft/vscode-extension-samples"
994
+ | "microsoft/vscode-extension-template"
995
+ | "rsetarter-template"
996
+ | "blefnk/deno-cli-tutorial";
997
+ export type RepoPrivacy = UnknownLiteral | "public" | "private";
998
+ export type ProjectArchitecture = UnknownLiteral | "fullstack" | "separated";
999
+ export type ProjectRuntime = "node" | "deno" | "bun";
1000
+ export type ProjectPackageManager = "npm" | "pnpm" | "yarn" | "bun";
1001
+ export type ProjectGitService = "github" | "gitlab" | "bitbucket" | "none";
1002
+ export type ProjectDeployService = "vercel" | "netlify" | "railway" | "deno" | "none";
1003
+ export type ThemeMode = "light" | "dark" | "dark-light";
1004
+ export type PreferredStateManagement = "zustand" | "jotai" | "redux-toolkit" | UnknownLiteral;
1005
+ export type PreferredForm = "react-hook-form" | "formik" | UnknownLiteral;
1006
+ export type PreferredStyling =
1007
+ | "tailwind"
1008
+ | "styled-components"
1009
+ | "css-modules"
1010
+ | "sass"
1011
+ | UnknownLiteral;
1012
+ export type PreferredUI = "shadcn-ui" | "chakra-ui" | "material-ui" | UnknownLiteral;
1013
+ export type PreferredTesting =
1014
+ | "bun"
1015
+ | "vitest"
1016
+ | "jest"
1017
+ | "playwright"
1018
+ | "cypress"
1019
+ | UnknownLiteral;
1020
+ export type PreferredAuth =
1021
+ | "better-auth"
1022
+ | "clerk"
1023
+ | "next-auth"
1024
+ | "supabase-auth"
1025
+ | "auth0"
1026
+ | UnknownLiteral;
1027
+ export type PreferredDBLib = "drizzle" | "prisma" | "supabase" | UnknownLiteral;
1028
+ export type PreferredDBProvider = "pg" | "mysql" | "sqlite" | "mongodb" | UnknownLiteral;
1029
+ export type PreferredAPI = "hono" | "trpc" | "graphql" | "rest" | UnknownLiteral;
1030
+ export type PreferredLint = "eslint" | UnknownLiteral;
1031
+ export type PreferredFormat = "biome" | UnknownLiteral;
1032
+ export type PreferredPayment = "stripe" | UnknownLiteral;
1033
+ export type PreferredAnalytics = "vercel" | UnknownLiteral;
1034
+ export type PreferredMonitoring = "sentry" | UnknownLiteral;
1035
+ export type PreferredLogging = "axiom" | UnknownLiteral;
1036
+ export type PreferredForms = "react-hook-form" | UnknownLiteral;
1037
+ export type PreferredNotifications = "sonner" | UnknownLiteral;
1038
+ export type PreferredSearch = "algolia" | UnknownLiteral;
1039
+ export type PreferredUploads = "uploadthing" | UnknownLiteral;
1040
+ export type PreferredValidation = "zod" | "typebox" | "valibot" | UnknownLiteral;
1041
+ export type PreferredDocs = "starlight" | "nextra" | UnknownLiteral;
1042
+ export type PreferredIcons = "lucide" | UnknownLiteral;
1043
+ export type PreferredMail = "resend" | UnknownLiteral;
1044
+ export type PreferredCache = "redis" | UnknownLiteral;
1045
+ export type PreferredStorage = "cloudflare" | UnknownLiteral;
1046
+ export type PreferredCDN = "cloudflare" | UnknownLiteral;
1047
+ export type PreferredCMS = "contentlayer" | UnknownLiteral;
1048
+ export type PreferredI18n = "next-intl" | UnknownLiteral;
1049
+ export type PreferredSEO = "next-seo" | UnknownLiteral;
1050
+ export type PreferredMotion = "framer" | UnknownLiteral;
1051
+ export type PreferredCharts = "recharts" | UnknownLiteral;
1052
+ export type PreferredDates = "dayjs" | UnknownLiteral;
1053
+ export type PreferredMarkdown = "mdx" | UnknownLiteral;
1054
+ export type PreferredSecurity = "auth" | UnknownLiteral;
1055
+ export type PreferredRouting = "next" | "react-router" | "tanstack-router" | UnknownLiteral;
1056
+ export type RelinterConfirm = "promptOnce" | "promptEachFile" | "autoYes";
959
1057
  /**
960
1058
  * Default configuration for the build and publish logic.
961
1059
  */
962
1060
  export const DEFAULT_CONFIG_RELIVERSE: ReliverseConfig = {
1061
+ // RSE CONFIG (https://docs.reliverse.org/cli)
1062
+ // Restart the CLI to apply your config changes
963
1063
  $schema: "./schema.json",
964
- projectName: "",
965
- projectAuthor: "",
966
- projectDescription: "",
967
- version: "",
968
- projectLicense: "",
1064
+ // General project information
1065
+ projectName: "@reliverse/dler",
1066
+ projectAuthor: "reliverse",
1067
+ projectDescription:
1068
+ "dler (prev. relidler) is a flexible, unified, and fully automated bundler for TypeScript and JavaScript projects, as well as an NPM and JSR publishing tool.",
1069
+ version: "1.7.114",
1070
+ projectLicense: "MIT",
1071
+ // Bump version
969
1072
  bumpDisable: false,
970
1073
  bumpFilter: ["package.json", "reliverse.ts"],
971
1074
  bumpMode: "patch",
972
1075
  bumpSet: "",
1076
+ // Build & Publishing
973
1077
  commonPubPause: true,
974
1078
  commonPubRegistry: "npm",
975
1079
  commonVerbose: false,
@@ -999,7 +1103,7 @@ export const DEFAULT_CONFIG_RELIVERSE: ReliverseConfig = {
999
1103
  logsFreshFile: true,
1000
1104
  // Dependency filtering
1001
1105
  filterDepsPatterns: {
1002
- global: ["@types", "biome", "eslint", "knip", "prettier", "@reliverse/rse"],
1106
+ global: ["@types", "biome", "eslint", "knip", "prettier", "typescript", "@reliverse/dler"],
1003
1107
  "dist-npm": [],
1004
1108
  "dist-jsr": [],
1005
1109
  "dist-libs": {},
@@ -1117,6 +1221,148 @@ export const DEFAULT_CONFIG_RELIVERSE: ReliverseConfig = {
1117
1221
  },
1118
1222
  },
1119
1223
  },
1224
+ // Project configuration
1225
+ projectState: "creating",
1226
+ projectRepository: "https://github.com/reliverse/rse",
1227
+ projectDomain: "https://docs.reliverse.org/cli",
1228
+ projectCategory: "unknown",
1229
+ projectSubcategory: "unknown",
1230
+ projectTemplate: "unknown",
1231
+ projectTemplateDate: "unknown",
1232
+ projectArchitecture: "unknown",
1233
+ repoPrivacy: "unknown",
1234
+ projectGitService: "github",
1235
+ projectDeployService: "vercel",
1236
+ repoBranch: "main",
1237
+ // Primary tech stack/framework
1238
+ projectFramework: "rempts",
1239
+ projectPackageManager: "bun",
1240
+ projectRuntime: "bun",
1241
+ preferredLibraries: {
1242
+ stateManagement: "unknown",
1243
+ formManagement: "unknown",
1244
+ styling: "unknown",
1245
+ uiComponents: "unknown",
1246
+ testing: "unknown",
1247
+ authentication: "unknown",
1248
+ databaseLibrary: "drizzle",
1249
+ databaseProvider: "sqlite",
1250
+ api: "trpc",
1251
+ linting: "unknown",
1252
+ formatting: "unknown",
1253
+ payment: "unknown",
1254
+ analytics: "unknown",
1255
+ monitoring: "unknown",
1256
+ logging: "unknown",
1257
+ forms: "unknown",
1258
+ notifications: "unknown",
1259
+ search: "unknown",
1260
+ uploads: "unknown",
1261
+ validation: "zod",
1262
+ documentation: "unknown",
1263
+ icons: "unknown",
1264
+ mail: "unknown",
1265
+ cache: "unknown",
1266
+ storage: "unknown",
1267
+ cdn: "unknown",
1268
+ cms: "unknown",
1269
+ i18n: "unknown",
1270
+ seo: "unknown",
1271
+ motion: "unknown",
1272
+ charts: "unknown",
1273
+ dates: "unknown",
1274
+ markdown: "unknown",
1275
+ security: "unknown",
1276
+ routing: "unknown",
1277
+ },
1278
+ monorepo: {
1279
+ type: "none",
1280
+ packages: [],
1281
+ sharedPackages: [],
1282
+ },
1283
+ // List dependencies to exclude from checks
1284
+ ignoreDependencies: [],
1285
+ // Provide custom rules for Reliverse AI
1286
+ // You can use any json type here in {}
1287
+ customRules: {},
1288
+ // Project features
1289
+ features: {
1290
+ i18n: false,
1291
+ analytics: false,
1292
+ themeMode: "dark-light",
1293
+ authentication: true,
1294
+ api: true,
1295
+ database: true,
1296
+ testing: false,
1297
+ docker: false,
1298
+ ci: false,
1299
+ commands: [
1300
+ "pub",
1301
+ "example",
1302
+ "db",
1303
+ "latest",
1304
+ "check",
1305
+ "dev:cli",
1306
+ "dev:add",
1307
+ "dev:ai",
1308
+ "dev:clone",
1309
+ "dev:cmod",
1310
+ ],
1311
+ webview: ["react-native"],
1312
+ language: ["typescript"],
1313
+ themes: ["default", "eslint", "biome", "sonner", "uploadthing", "zod", "typebox", "lucide"],
1314
+ },
1315
+ // Code style preferences
1316
+ codeStyle: {
1317
+ dontRemoveComments: true,
1318
+ shouldAddComments: true,
1319
+ typeOrInterface: "type",
1320
+ importOrRequire: "import",
1321
+ quoteMark: "double",
1322
+ semicolons: true,
1323
+ lineWidth: 80,
1324
+ indentStyle: "space",
1325
+ indentSize: 2,
1326
+ importSymbol: "~",
1327
+ trailingComma: "all",
1328
+ bracketSpacing: true,
1329
+ arrowParens: "always",
1330
+ tabWidth: 2,
1331
+ jsToTs: false,
1332
+ cjsToEsm: false,
1333
+ modernize: {
1334
+ replaceFs: false,
1335
+ replacePath: false,
1336
+ replaceHttp: false,
1337
+ replaceProcess: false,
1338
+ replaceConsole: false,
1339
+ replaceEvents: false,
1340
+ },
1341
+ },
1342
+ // Settings for cloning an existing repo
1343
+ multipleRepoCloneMode: false,
1344
+ customUserFocusedRepos: [],
1345
+ customDevsFocusedRepos: [],
1346
+ hideRepoSuggestions: false,
1347
+ customReposOnNewProject: false,
1348
+ // Set to false to disable opening the browser during env composing
1349
+ envComposerOpenBrowser: true,
1350
+ // Enable auto-answering for prompts to skip manual confirmations.
1351
+ // Make sure you have unknown values configured above.
1352
+ skipPromptsUseAutoBehavior: false,
1353
+ // Prompt behavior for deployment
1354
+ // Options: prompt | autoYes | autoNo
1355
+ deployBehavior: "prompt",
1356
+ depsBehavior: "prompt",
1357
+ gitBehavior: "prompt",
1358
+ i18nBehavior: "prompt",
1359
+ scriptsBehavior: "prompt",
1360
+ // Behavior for existing GitHub repos during project creation
1361
+ // Options: prompt | autoYes | autoYesSkipCommit | autoNo
1362
+ existingRepoBehavior: "prompt",
1363
+ // Behavior for Reliverse AI chat and agent mode
1364
+ // Options: promptOnce | promptEachFile | autoYes
1365
+ relinterConfirm: "promptOnce",
1120
1366
  // Remdn Configuration
1121
1367
  remdn: {
1122
1368
  title: "Directory Comparison",