@cbnventures/nova 0.11.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 (134) hide show
  1. package/build/eslint.config.d.ts +3 -0
  2. package/build/eslint.config.d.ts.map +1 -0
  3. package/build/eslint.config.js +8 -0
  4. package/build/eslint.config.js.map +1 -0
  5. package/build/package.json +131 -0
  6. package/build/src/cli/index.d.ts +3 -0
  7. package/build/src/cli/index.d.ts.map +1 -0
  8. package/build/src/cli/index.js +258 -0
  9. package/build/src/cli/index.js.map +1 -0
  10. package/build/src/cli/recipe/sync-metadata.d.ts +5 -0
  11. package/build/src/cli/recipe/sync-metadata.d.ts.map +1 -0
  12. package/build/src/cli/recipe/sync-metadata.js +6 -0
  13. package/build/src/cli/recipe/sync-metadata.js.map +1 -0
  14. package/build/src/cli/recipe/sync-versions.d.ts +5 -0
  15. package/build/src/cli/recipe/sync-versions.d.ts.map +1 -0
  16. package/build/src/cli/recipe/sync-versions.js +6 -0
  17. package/build/src/cli/recipe/sync-versions.js.map +1 -0
  18. package/build/src/cli/utility/initialize.d.ts +19 -0
  19. package/build/src/cli/utility/initialize.d.ts.map +1 -0
  20. package/build/src/cli/utility/initialize.js +962 -0
  21. package/build/src/cli/utility/initialize.js.map +1 -0
  22. package/build/src/cli/utility/version.d.ts +11 -0
  23. package/build/src/cli/utility/version.d.ts.map +1 -0
  24. package/build/src/cli/utility/version.js +324 -0
  25. package/build/src/cli/utility/version.js.map +1 -0
  26. package/build/src/lib/item.d.ts +7 -0
  27. package/build/src/lib/item.d.ts.map +1 -0
  28. package/build/src/lib/item.js +55 -0
  29. package/build/src/lib/item.js.map +1 -0
  30. package/build/src/lib/nova-config.d.ts +21 -0
  31. package/build/src/lib/nova-config.d.ts.map +1 -0
  32. package/build/src/lib/nova-config.js +327 -0
  33. package/build/src/lib/nova-config.js.map +1 -0
  34. package/build/src/lib/regex.d.ts +19 -0
  35. package/build/src/lib/regex.d.ts.map +1 -0
  36. package/build/src/lib/regex.js +19 -0
  37. package/build/src/lib/regex.js.map +1 -0
  38. package/build/src/lib/utility.d.ts +11 -0
  39. package/build/src/lib/utility.d.ts.map +1 -0
  40. package/build/src/lib/utility.js +278 -0
  41. package/build/src/lib/utility.js.map +1 -0
  42. package/build/src/presets/eslint/dx-code-style.d.mts +4 -0
  43. package/build/src/presets/eslint/dx-code-style.d.mts.map +1 -0
  44. package/build/src/presets/eslint/dx-code-style.mjs +231 -0
  45. package/build/src/presets/eslint/dx-code-style.mjs.map +1 -0
  46. package/build/src/presets/eslint/dx-ignore.d.mts +4 -0
  47. package/build/src/presets/eslint/dx-ignore.d.mts.map +1 -0
  48. package/build/src/presets/eslint/dx-ignore.mjs +21 -0
  49. package/build/src/presets/eslint/dx-ignore.mjs.map +1 -0
  50. package/build/src/presets/eslint/env-browser.d.mts +4 -0
  51. package/build/src/presets/eslint/env-browser.d.mts.map +1 -0
  52. package/build/src/presets/eslint/env-browser.mjs +3 -0
  53. package/build/src/presets/eslint/env-browser.mjs.map +1 -0
  54. package/build/src/presets/eslint/env-edge.d.mts +4 -0
  55. package/build/src/presets/eslint/env-edge.d.mts.map +1 -0
  56. package/build/src/presets/eslint/env-edge.mjs +3 -0
  57. package/build/src/presets/eslint/env-edge.mjs.map +1 -0
  58. package/build/src/presets/eslint/env-node.d.mts +4 -0
  59. package/build/src/presets/eslint/env-node.d.mts.map +1 -0
  60. package/build/src/presets/eslint/env-node.mjs +68 -0
  61. package/build/src/presets/eslint/env-node.mjs.map +1 -0
  62. package/build/src/presets/eslint/env-service-worker.d.mts +4 -0
  63. package/build/src/presets/eslint/env-service-worker.d.mts.map +1 -0
  64. package/build/src/presets/eslint/env-service-worker.mjs +3 -0
  65. package/build/src/presets/eslint/env-service-worker.mjs.map +1 -0
  66. package/build/src/presets/eslint/env-web-worker.d.mts +4 -0
  67. package/build/src/presets/eslint/env-web-worker.d.mts.map +1 -0
  68. package/build/src/presets/eslint/env-web-worker.mjs +3 -0
  69. package/build/src/presets/eslint/env-web-worker.mjs.map +1 -0
  70. package/build/src/presets/eslint/fw-docusaurus.d.mts +4 -0
  71. package/build/src/presets/eslint/fw-docusaurus.d.mts.map +1 -0
  72. package/build/src/presets/eslint/fw-docusaurus.mjs +10 -0
  73. package/build/src/presets/eslint/fw-docusaurus.mjs.map +1 -0
  74. package/build/src/presets/eslint/fw-expressjs.d.mts +4 -0
  75. package/build/src/presets/eslint/fw-expressjs.d.mts.map +1 -0
  76. package/build/src/presets/eslint/fw-expressjs.mjs +8 -0
  77. package/build/src/presets/eslint/fw-expressjs.mjs.map +1 -0
  78. package/build/src/presets/eslint/fw-nextjs.d.mts +4 -0
  79. package/build/src/presets/eslint/fw-nextjs.d.mts.map +1 -0
  80. package/build/src/presets/eslint/fw-nextjs.mjs +8 -0
  81. package/build/src/presets/eslint/fw-nextjs.mjs.map +1 -0
  82. package/build/src/presets/eslint/index.d.mts +16 -0
  83. package/build/src/presets/eslint/index.d.mts.map +1 -0
  84. package/build/src/presets/eslint/index.mjs +16 -0
  85. package/build/src/presets/eslint/index.mjs.map +1 -0
  86. package/build/src/presets/eslint/lang-javascript.d.mts +4 -0
  87. package/build/src/presets/eslint/lang-javascript.d.mts.map +1 -0
  88. package/build/src/presets/eslint/lang-javascript.mjs +3 -0
  89. package/build/src/presets/eslint/lang-javascript.mjs.map +1 -0
  90. package/build/src/presets/eslint/lang-mdx.d.mts +4 -0
  91. package/build/src/presets/eslint/lang-mdx.d.mts.map +1 -0
  92. package/build/src/presets/eslint/lang-mdx.mjs +45 -0
  93. package/build/src/presets/eslint/lang-mdx.mjs.map +1 -0
  94. package/build/src/presets/eslint/lang-typescript.d.mts +4 -0
  95. package/build/src/presets/eslint/lang-typescript.d.mts.map +1 -0
  96. package/build/src/presets/eslint/lang-typescript.mjs +88 -0
  97. package/build/src/presets/eslint/lang-typescript.mjs.map +1 -0
  98. package/build/src/presets/eslint/platform-cloudflare-workers.d.mts +4 -0
  99. package/build/src/presets/eslint/platform-cloudflare-workers.d.mts.map +1 -0
  100. package/build/src/presets/eslint/platform-cloudflare-workers.mjs +8 -0
  101. package/build/src/presets/eslint/platform-cloudflare-workers.mjs.map +1 -0
  102. package/build/src/presets/eslint/tool-vite.d.mts +4 -0
  103. package/build/src/presets/eslint/tool-vite.d.mts.map +1 -0
  104. package/build/src/presets/eslint/tool-vite.mjs +8 -0
  105. package/build/src/presets/eslint/tool-vite.mjs.map +1 -0
  106. package/build/src/presets/tsconfig/dx-essentials.json +24 -0
  107. package/build/src/presets/tsconfig/dx-strict.json +33 -0
  108. package/build/src/presets/tsconfig/env-browser.json +12 -0
  109. package/build/src/presets/tsconfig/env-edge.json +12 -0
  110. package/build/src/presets/tsconfig/env-node.json +10 -0
  111. package/build/src/presets/tsconfig/env-service-worker.json +12 -0
  112. package/build/src/presets/tsconfig/env-web-worker.json +12 -0
  113. package/build/src/presets/tsconfig/fw-docusaurus.json +15 -0
  114. package/build/src/presets/tsconfig/fw-expressjs.json +10 -0
  115. package/build/src/presets/tsconfig/fw-nextjs.json +14 -0
  116. package/build/src/presets/tsconfig/platform-cloudflare-workers.json +14 -0
  117. package/build/src/presets/tsconfig/tool-vite.json +14 -0
  118. package/build/src/toolkit/cli-header.d.ts +10 -0
  119. package/build/src/toolkit/cli-header.d.ts.map +1 -0
  120. package/build/src/toolkit/cli-header.js +164 -0
  121. package/build/src/toolkit/cli-header.js.map +1 -0
  122. package/build/src/toolkit/index.d.ts +4 -0
  123. package/build/src/toolkit/index.d.ts.map +1 -0
  124. package/build/src/toolkit/index.js +4 -0
  125. package/build/src/toolkit/index.js.map +1 -0
  126. package/build/src/toolkit/logger.d.ts +13 -0
  127. package/build/src/toolkit/logger.d.ts.map +1 -0
  128. package/build/src/toolkit/logger.js +99 -0
  129. package/build/src/toolkit/logger.js.map +1 -0
  130. package/build/src/toolkit/markdown-table.d.ts +14 -0
  131. package/build/src/toolkit/markdown-table.d.ts.map +1 -0
  132. package/build/src/toolkit/markdown-table.js +69 -0
  133. package/build/src/toolkit/markdown-table.js.map +1 -0
  134. package/package.json +131 -0
@@ -0,0 +1,278 @@
1
+ import { exec, spawn } from 'child_process';
2
+ import { promises as fs } from 'fs';
3
+ import * as os from 'os';
4
+ import * as path from 'path';
5
+ import { promisify } from 'util';
6
+ import { CHARACTER_DOUBLE_QUOTE, CHARACTER_SINGLE_QUOTE, LINEBREAK_CRLF_OR_LF, PATTERN_DOUBLE_QUOTED_STRING_CAPTURE, PATTERN_REGISTRY_QUERY_LINE, } from '../lib/regex.js';
7
+ import { Logger } from '../toolkit/index.js';
8
+ export function currentTimestamp() {
9
+ const now = new Date();
10
+ const padLeft = (number, width = 2) => {
11
+ const currentWidth = (width < 2) ? 2 : width;
12
+ return number.toString().padStart(currentWidth, '0');
13
+ };
14
+ const year = now.getFullYear();
15
+ const month = padLeft(now.getMonth() + 1);
16
+ const day = padLeft(now.getDate());
17
+ const hour = padLeft(now.getHours());
18
+ const minute = padLeft(now.getMinutes());
19
+ const second = padLeft(now.getSeconds());
20
+ const millisecond = now.getMilliseconds().toString().padStart(3, '0');
21
+ const timezoneOffsetMinutes = -now.getTimezoneOffset();
22
+ const timezoneSign = (timezoneOffsetMinutes >= 0) ? '+' : '-';
23
+ const timezoneAbs = Math.abs(timezoneOffsetMinutes);
24
+ const timezoneHours = padLeft(Math.trunc(timezoneAbs / 60));
25
+ const timezoneMinutes = padLeft(timezoneAbs % 60);
26
+ return `[${year}-${month}-${day} ${hour}:${minute}:${second}.${millisecond} ${timezoneSign}${timezoneHours}${timezoneMinutes}]`;
27
+ }
28
+ export function detectShell() {
29
+ const platform = os.platform();
30
+ if (platform === 'win32') {
31
+ return 'cmd.exe';
32
+ }
33
+ if (platform === 'darwin') {
34
+ return '/bin/zsh';
35
+ }
36
+ if (platform === 'linux') {
37
+ return '/bin/bash';
38
+ }
39
+ if (['aix', 'sunos'].includes(platform)) {
40
+ return '/bin/ksh';
41
+ }
42
+ return '/bin/sh';
43
+ }
44
+ export async function discoverPathsWithFile(fileName, direction) {
45
+ const startDirectory = process.cwd();
46
+ const results = [];
47
+ if (direction === 'backward') {
48
+ const rootDirectory = path.parse(startDirectory).root;
49
+ let currentDirectory = startDirectory;
50
+ while (true) {
51
+ const targetPath = path.join(currentDirectory, fileName);
52
+ try {
53
+ Logger.customize({ name: 'discoverPathsWithFile::backward' }).debug(`Current directory: "${currentDirectory}"`);
54
+ await fs.access(targetPath);
55
+ results.push(currentDirectory);
56
+ }
57
+ catch {
58
+ }
59
+ if (currentDirectory === rootDirectory) {
60
+ break;
61
+ }
62
+ currentDirectory = path.dirname(currentDirectory);
63
+ }
64
+ }
65
+ if (direction === 'forward') {
66
+ const queue = [startDirectory];
67
+ const visited = new Set();
68
+ const skipDirectories = new Set([
69
+ 'node_modules',
70
+ 'dist',
71
+ 'build',
72
+ 'out',
73
+ 'coverage',
74
+ ]);
75
+ while (queue.length > 0) {
76
+ const currentDirectory = queue.shift();
77
+ if (currentDirectory === undefined) {
78
+ continue;
79
+ }
80
+ Logger.customize({ name: 'discoverPathsWithFile::forward' }).debug(`Current directory: "${currentDirectory}"`);
81
+ let realDirectory;
82
+ try {
83
+ realDirectory = await fs.realpath(currentDirectory);
84
+ }
85
+ catch {
86
+ continue;
87
+ }
88
+ if (visited.has(realDirectory)) {
89
+ continue;
90
+ }
91
+ visited.add(realDirectory);
92
+ let entries;
93
+ try {
94
+ entries = await fs.readdir(realDirectory, { withFileTypes: true });
95
+ }
96
+ catch {
97
+ continue;
98
+ }
99
+ let hasTargetFile = false;
100
+ for (const entry of entries) {
101
+ if (entry.isFile() && entry.name === fileName) {
102
+ hasTargetFile = true;
103
+ continue;
104
+ }
105
+ if (!entry.isDirectory()) {
106
+ continue;
107
+ }
108
+ if (entry.name.startsWith('.') || skipDirectories.has(entry.name)) {
109
+ continue;
110
+ }
111
+ const nextDirectory = path.join(realDirectory, entry.name);
112
+ queue.push(nextDirectory);
113
+ }
114
+ if (hasTargetFile) {
115
+ results.push(realDirectory);
116
+ }
117
+ }
118
+ }
119
+ return results;
120
+ }
121
+ export async function executeShell(command) {
122
+ const execAsync = promisify(exec);
123
+ const shell = detectShell();
124
+ let fullCommand = command;
125
+ const quotePosix = (string) => string.replace(new RegExp(CHARACTER_SINGLE_QUOTE, 'g'), '\'\\\'\'');
126
+ const quoteWindows = (string) => string.replace(new RegExp(CHARACTER_DOUBLE_QUOTE, 'g'), '"');
127
+ if (shell === 'cmd.exe') {
128
+ fullCommand = `cmd.exe /d /s /c "${quoteWindows(fullCommand)}"`;
129
+ }
130
+ if (shell === '/bin/zsh') {
131
+ fullCommand = `/bin/zsh -l -i -c '${quotePosix(fullCommand)}'`;
132
+ }
133
+ if (shell === '/bin/bash') {
134
+ fullCommand = `setsid -w /bin/bash -l -i -c '${quotePosix(fullCommand)}' </dev/null`;
135
+ }
136
+ if (shell === '/bin/sh') {
137
+ fullCommand = `/bin/sh -c '${quotePosix(fullCommand)}'`;
138
+ }
139
+ try {
140
+ const { stdout, stderr } = await execAsync(fullCommand, {
141
+ encoding: 'utf-8',
142
+ windowsHide: true,
143
+ timeout: 15000,
144
+ env: {
145
+ ...process.env,
146
+ ...(await isCommandExists('corepack')) ? {
147
+ COREPACK_ENABLE_STRICT: '0',
148
+ } : {},
149
+ ...(process.env['_VOLTA_TOOL_RECURSION'] !== undefined) ? {
150
+ PATH: [
151
+ ...(process.env['ProgramW6432']) ? [`${process.env['ProgramW6432']}\\Volta\\`] : [],
152
+ ...(process.env['LOCALAPPDATA']) ? [`${process.env['LOCALAPPDATA']}\\Volta\\bin`] : [],
153
+ ...(process.env['PATH']) ? [process.env['PATH']] : [],
154
+ ].join(';'),
155
+ } : {},
156
+ ...(shell === '/bin/bash') ? {
157
+ PAGER: 'cat',
158
+ } : {},
159
+ },
160
+ cwd: process.cwd(),
161
+ maxBuffer: 8 * 1024 * 1024,
162
+ });
163
+ const output = {
164
+ textOut: stdout.trim(),
165
+ textError: stderr.trim(),
166
+ code: 0,
167
+ };
168
+ Logger.customize({ name: 'executeShell::command' }).debug(fullCommand);
169
+ Logger.customize({ name: 'executeShell::output' }).debug(output);
170
+ return output;
171
+ }
172
+ catch (error) {
173
+ const output = {
174
+ textOut: '',
175
+ textError: '',
176
+ code: 1,
177
+ };
178
+ if (isExecuteShellError(error)) {
179
+ if (error.stdout !== undefined) {
180
+ output.textOut = `${error.stdout}`;
181
+ }
182
+ if (error.stderr !== undefined) {
183
+ output.textError = `${error.stderr}`;
184
+ }
185
+ if (error.code !== undefined) {
186
+ output.code = error.code;
187
+ }
188
+ }
189
+ Logger.customize({ name: 'executeShell::command' }).debug(fullCommand);
190
+ Logger.customize({ name: 'executeShell::output' }).debug(output);
191
+ return output;
192
+ }
193
+ }
194
+ export async function isCommandExists(command) {
195
+ const isWin = os.platform() === 'win32';
196
+ const bin = (isWin) ? 'where' : 'sh';
197
+ const args = (isWin) ? ['/Q', command] : ['-c', `command -v "${command}" >/dev/null 2>&1`];
198
+ return new Promise((resolve) => {
199
+ const childProcess = spawn(bin, args, {
200
+ stdio: 'ignore',
201
+ });
202
+ childProcess.once('error', () => {
203
+ return resolve(false);
204
+ });
205
+ childProcess.once('exit', (code) => {
206
+ return resolve(code === 0);
207
+ });
208
+ });
209
+ }
210
+ export function isExecuteShellError(error) {
211
+ if (error === null || typeof error !== 'object') {
212
+ return false;
213
+ }
214
+ const object = error;
215
+ const hasCmd = 'cmd' in object && typeof object['cmd'] === 'string';
216
+ const hasKilled = 'killed' in object && typeof object['killed'] === 'boolean';
217
+ const hasCode = 'code' in object && typeof object['code'] === 'number';
218
+ const hasSignal = 'signal' in object && typeof object['signal'] === 'string';
219
+ const hasStdout = 'stdout' in object && typeof object['stdout'] === 'string';
220
+ const hasStderr = 'stderr' in object && typeof object['stderr'] === 'string';
221
+ return hasCmd || hasKilled || hasCode || hasSignal || hasStdout || hasStderr;
222
+ }
223
+ export async function parseLinuxOsReleaseFile() {
224
+ const query = await executeShell('cat /etc/os-release');
225
+ const lines = query.textOut.split(LINEBREAK_CRLF_OR_LF);
226
+ const osReleaseEntries = {};
227
+ for (const line of lines) {
228
+ if (line === '' || line.startsWith('#')) {
229
+ continue;
230
+ }
231
+ const [key, ...rest] = line.split('=');
232
+ if (key === undefined) {
233
+ continue;
234
+ }
235
+ let value = rest.join('=');
236
+ value = value.replace(PATTERN_DOUBLE_QUOTED_STRING_CAPTURE, '$1');
237
+ osReleaseEntries[key] = value;
238
+ }
239
+ return osReleaseEntries;
240
+ }
241
+ export async function parseWindowsRegistryQuery(registryPaths) {
242
+ const paths = Array.isArray(registryPaths) ? registryPaths : [registryPaths];
243
+ for (const path of paths) {
244
+ const query = await executeShell(`reg query "${path}"`);
245
+ const lines = query.textOut.split(LINEBREAK_CRLF_OR_LF);
246
+ const registryKeys = {};
247
+ for (const line of lines) {
248
+ const matches = line.match(PATTERN_REGISTRY_QUERY_LINE);
249
+ if (matches !== null) {
250
+ const registryKey = matches[1];
251
+ const registryKeyType = matches[2];
252
+ const registryKeyData = matches[3];
253
+ if (registryKey !== undefined
254
+ && registryKeyType !== undefined
255
+ && registryKeyData !== undefined) {
256
+ registryKeys[registryKey] = {
257
+ type: registryKeyType,
258
+ data: registryKeyData.trim(),
259
+ };
260
+ }
261
+ }
262
+ }
263
+ if (Object.keys(registryKeys).length > 0) {
264
+ return registryKeys;
265
+ }
266
+ }
267
+ return {};
268
+ }
269
+ export async function pathExists(path) {
270
+ try {
271
+ await fs.access(path);
272
+ return true;
273
+ }
274
+ catch {
275
+ return false;
276
+ }
277
+ }
278
+ //# sourceMappingURL=utility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utility.js","sourceRoot":"","sources":["../../../src/lib/utility.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { FlatConfig } from '@/types/presets/eslint.d.ts';
2
+ declare const config: FlatConfig;
3
+ export default config;
4
+ //# sourceMappingURL=dx-code-style.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dx-code-style.d.mts","sourceRoot":"","sources":["../../../../src/presets/eslint/dx-code-style.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAO9D,QAAA,MAAM,MAAM,EAAE,UA2Qb,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,231 @@
1
+ import stylisticPlugin from '@stylistic/eslint-plugin';
2
+ const config = [
3
+ {
4
+ name: 'nova/dx-code-style',
5
+ files: [
6
+ '**/*.js',
7
+ '**/*.ts',
8
+ '**/*.jsx',
9
+ '**/*.tsx',
10
+ '**/*.cjs',
11
+ '**/*.cts',
12
+ '**/*.mjs',
13
+ '**/*.mts',
14
+ ],
15
+ plugins: {
16
+ '@stylistic': stylisticPlugin,
17
+ },
18
+ rules: {
19
+ ...stylisticPlugin.configs.recommended.rules,
20
+ },
21
+ },
22
+ {
23
+ name: 'nova/dx-code-style/arrows',
24
+ files: [
25
+ '**/*.js',
26
+ '**/*.ts',
27
+ '**/*.jsx',
28
+ '**/*.tsx',
29
+ '**/*.cjs',
30
+ '**/*.cts',
31
+ '**/*.mjs',
32
+ '**/*.mts',
33
+ ],
34
+ plugins: {
35
+ '@stylistic': stylisticPlugin,
36
+ },
37
+ rules: {
38
+ '@stylistic/arrow-parens': ['error', 'always'],
39
+ },
40
+ },
41
+ {
42
+ name: 'nova/dx-code-style/braces-commas-semicolons',
43
+ files: [
44
+ '**/*.js',
45
+ '**/*.ts',
46
+ '**/*.jsx',
47
+ '**/*.tsx',
48
+ '**/*.cjs',
49
+ '**/*.cts',
50
+ '**/*.mjs',
51
+ '**/*.mts',
52
+ ],
53
+ plugins: {
54
+ '@stylistic': stylisticPlugin,
55
+ },
56
+ rules: {
57
+ 'curly': ['error', 'all'],
58
+ '@stylistic/brace-style': ['error', '1tbs', {
59
+ 'allowSingleLine': false,
60
+ }],
61
+ '@stylistic/comma-dangle': ['error', 'always-multiline'],
62
+ '@stylistic/semi': ['error', 'always'],
63
+ },
64
+ },
65
+ {
66
+ name: 'nova/dx-code-style/objects',
67
+ files: [
68
+ '**/*.js',
69
+ '**/*.ts',
70
+ '**/*.jsx',
71
+ '**/*.tsx',
72
+ '**/*.cjs',
73
+ '**/*.cts',
74
+ '**/*.mjs',
75
+ '**/*.mts',
76
+ ],
77
+ plugins: {
78
+ '@stylistic': stylisticPlugin,
79
+ },
80
+ rules: {
81
+ '@stylistic/object-curly-newline': ['error', {
82
+ ObjectExpression: {
83
+ minProperties: 2,
84
+ multiline: true,
85
+ consistent: true,
86
+ },
87
+ ObjectPattern: {
88
+ minProperties: 4,
89
+ multiline: true,
90
+ consistent: true,
91
+ },
92
+ ImportDeclaration: {
93
+ minProperties: 4,
94
+ multiline: true,
95
+ consistent: true,
96
+ },
97
+ TSTypeLiteral: {
98
+ minProperties: 1,
99
+ multiline: true,
100
+ consistent: true,
101
+ },
102
+ TSInterfaceBody: {
103
+ minProperties: 1,
104
+ multiline: true,
105
+ consistent: true,
106
+ },
107
+ TSEnumBody: {
108
+ minProperties: 1,
109
+ multiline: true,
110
+ consistent: true,
111
+ },
112
+ }],
113
+ 'object-shorthand': ['error', 'always'],
114
+ },
115
+ },
116
+ {
117
+ name: 'nova/dx-code-style/operators',
118
+ files: [
119
+ '**/*.js',
120
+ '**/*.ts',
121
+ '**/*.jsx',
122
+ '**/*.tsx',
123
+ '**/*.cjs',
124
+ '**/*.cts',
125
+ '**/*.mjs',
126
+ '**/*.mts',
127
+ ],
128
+ plugins: {
129
+ '@stylistic': stylisticPlugin,
130
+ },
131
+ rules: {
132
+ 'no-plusplus': ['error'],
133
+ 'no-bitwise': ['error'],
134
+ 'no-cond-assign': ['error', 'always'],
135
+ 'no-void': ['error'],
136
+ 'no-delete-var': ['error'],
137
+ 'no-param-reassign': ['error', {
138
+ props: true,
139
+ }],
140
+ 'no-unsafe-negation': ['error'],
141
+ '@stylistic/no-mixed-operators': ['error', {
142
+ allowSamePrecedence: true,
143
+ }],
144
+ },
145
+ },
146
+ {
147
+ name: 'nova/dx-code-style/quotes',
148
+ files: [
149
+ '**/*.js',
150
+ '**/*.ts',
151
+ '**/*.jsx',
152
+ '**/*.tsx',
153
+ '**/*.cjs',
154
+ '**/*.cts',
155
+ '**/*.mjs',
156
+ '**/*.mts',
157
+ ],
158
+ plugins: {
159
+ '@stylistic': stylisticPlugin,
160
+ },
161
+ rules: {
162
+ '@stylistic/quotes': ['error', 'single'],
163
+ '@stylistic/quote-props': ['error', 'consistent'],
164
+ 'prefer-template': ['error'],
165
+ },
166
+ },
167
+ {
168
+ name: 'nova/dx-code-style/regex',
169
+ files: [
170
+ '**/*.js',
171
+ '**/*.ts',
172
+ '**/*.jsx',
173
+ '**/*.tsx',
174
+ '**/*.cjs',
175
+ '**/*.cts',
176
+ '**/*.mjs',
177
+ '**/*.mts',
178
+ ],
179
+ rules: {
180
+ 'no-restricted-syntax': ['error', {
181
+ selector: 'Literal[regex][regex.flags=/./]',
182
+ message: 'Do not use flags on regex literals. Add flags with RegExp("pattern", "flags") at the call site instead.',
183
+ }],
184
+ },
185
+ },
186
+ {
187
+ name: 'nova/dx-code-style/ternary',
188
+ files: [
189
+ '**/*.js',
190
+ '**/*.ts',
191
+ '**/*.jsx',
192
+ '**/*.tsx',
193
+ '**/*.cjs',
194
+ '**/*.cts',
195
+ '**/*.mjs',
196
+ '**/*.mts',
197
+ ],
198
+ plugins: {
199
+ '@stylistic': stylisticPlugin,
200
+ },
201
+ rules: {
202
+ '@stylistic/multiline-ternary': ['error', 'never', {
203
+ 'ignoreJSX': true,
204
+ }],
205
+ },
206
+ },
207
+ {
208
+ name: 'nova/dx-code-style/text-characters',
209
+ files: [
210
+ '**/*.js',
211
+ '**/*.ts',
212
+ '**/*.jsx',
213
+ '**/*.tsx',
214
+ '**/*.cjs',
215
+ '**/*.cts',
216
+ '**/*.mjs',
217
+ '**/*.mts',
218
+ ],
219
+ rules: {
220
+ 'no-irregular-whitespace': ['error', {
221
+ skipStrings: false,
222
+ skipComments: true,
223
+ skipRegExps: true,
224
+ skipTemplates: false,
225
+ skipJSXText: false,
226
+ }],
227
+ },
228
+ },
229
+ ];
230
+ export default config;
231
+ //# sourceMappingURL=dx-code-style.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dx-code-style.mjs","sourceRoot":"","sources":["../../../../src/presets/eslint/dx-code-style.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { FlatConfig } from '@/types/presets/eslint.d.ts';
2
+ declare const config: FlatConfig;
3
+ export default config;
4
+ //# sourceMappingURL=dx-ignore.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dx-ignore.d.mts","sourceRoot":"","sources":["../../../../src/presets/eslint/dx-ignore.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAO9D,QAAA,MAAM,MAAM,EAAE,UAkBb,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,21 @@
1
+ const config = [
2
+ {
3
+ name: 'nova/dx-ignore/build-output',
4
+ ignores: [
5
+ '**/dist/**',
6
+ '**/build/**',
7
+ '**/out/**',
8
+ '**/.output/**',
9
+ ],
10
+ },
11
+ {
12
+ name: 'nova/dx-ignore/generated',
13
+ ignores: [
14
+ '**/*.map',
15
+ '**/generated/**',
16
+ '**/__generated__/**',
17
+ ],
18
+ },
19
+ ];
20
+ export default config;
21
+ //# sourceMappingURL=dx-ignore.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dx-ignore.mjs","sourceRoot":"","sources":["../../../../src/presets/eslint/dx-ignore.mts"],"names":[],"mappings":"AAOA,MAAM,MAAM,GAAe;IACzB;QACE,IAAI,EAAE,6BAA6B;QACnC,OAAO,EAAE;YACP,YAAY;YACZ,aAAa;YACb,WAAW;YACX,eAAe;SAChB;KACF;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE;YACP,UAAU;YACV,iBAAiB;YACjB,qBAAqB;SACtB;KACF;CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { FlatConfig } from '@/types/presets/eslint.d.ts';
2
+ declare const config: FlatConfig;
3
+ export default config;
4
+ //# sourceMappingURL=env-browser.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-browser.d.mts","sourceRoot":"","sources":["../../../../src/presets/eslint/env-browser.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAO9D,QAAA,MAAM,MAAM,EAAE,UAAiB,CAAC;AAEhC,eAAe,MAAM,CAAC"}
@@ -0,0 +1,3 @@
1
+ const config = [{}];
2
+ export default config;
3
+ //# sourceMappingURL=env-browser.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-browser.mjs","sourceRoot":"","sources":["../../../../src/presets/eslint/env-browser.mts"],"names":[],"mappings":"AAOA,MAAM,MAAM,GAAe,CAAC,EAAE,CAAC,CAAC;AAEhC,eAAe,MAAM,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { FlatConfig } from '@/types/presets/eslint.d.ts';
2
+ declare const config: FlatConfig;
3
+ export default config;
4
+ //# sourceMappingURL=env-edge.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-edge.d.mts","sourceRoot":"","sources":["../../../../src/presets/eslint/env-edge.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAO9D,QAAA,MAAM,MAAM,EAAE,UAAiB,CAAC;AAEhC,eAAe,MAAM,CAAC"}
@@ -0,0 +1,3 @@
1
+ const config = [{}];
2
+ export default config;
3
+ //# sourceMappingURL=env-edge.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-edge.mjs","sourceRoot":"","sources":["../../../../src/presets/eslint/env-edge.mts"],"names":[],"mappings":"AAOA,MAAM,MAAM,GAAe,CAAC,EAAE,CAAC,CAAC;AAEhC,eAAe,MAAM,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { FlatConfig } from '@/types/presets/eslint.d.ts';
2
+ declare const config: FlatConfig;
3
+ export default config;
4
+ //# sourceMappingURL=env-node.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-node.d.mts","sourceRoot":"","sources":["../../../../src/presets/eslint/env-node.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAO9D,QAAA,MAAM,MAAM,EAAE,UAsEb,CAAC;AAEF,eAAe,MAAM,CAAC"}