codevault 1.4.1 → 1.6.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.
- package/.env.example +79 -44
- package/README.md +115 -343
- package/package.json +4 -4
- package/dist/chunking/file-grouper.d.ts +0 -39
- package/dist/chunking/file-grouper.d.ts.map +0 -1
- package/dist/chunking/file-grouper.js +0 -181
- package/dist/chunking/file-grouper.js.map +0 -1
- package/dist/chunking/semantic-chunker.d.ts +0 -37
- package/dist/chunking/semantic-chunker.d.ts.map +0 -1
- package/dist/chunking/semantic-chunker.js +0 -172
- package/dist/chunking/semantic-chunker.js.map +0 -1
- package/dist/chunking/token-counter.d.ts +0 -28
- package/dist/chunking/token-counter.d.ts.map +0 -1
- package/dist/chunking/token-counter.js +0 -207
- package/dist/chunking/token-counter.js.map +0 -1
- package/dist/cli/commands/ask-cmd.d.ts +0 -3
- package/dist/cli/commands/ask-cmd.d.ts.map +0 -1
- package/dist/cli/commands/ask-cmd.js +0 -130
- package/dist/cli/commands/ask-cmd.js.map +0 -1
- package/dist/cli/commands/config-cmd.d.ts +0 -3
- package/dist/cli/commands/config-cmd.d.ts.map +0 -1
- package/dist/cli/commands/config-cmd.js +0 -245
- package/dist/cli/commands/config-cmd.js.map +0 -1
- package/dist/cli/commands/context.d.ts +0 -3
- package/dist/cli/commands/context.d.ts.map +0 -1
- package/dist/cli/commands/context.js +0 -98
- package/dist/cli/commands/context.js.map +0 -1
- package/dist/cli/commands/interactive-config.d.ts +0 -2
- package/dist/cli/commands/interactive-config.d.ts.map +0 -1
- package/dist/cli/commands/interactive-config.js +0 -304
- package/dist/cli/commands/interactive-config.js.map +0 -1
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -398
- package/dist/cli.js.map +0 -1
- package/dist/codemap/io.d.ts +0 -5
- package/dist/codemap/io.d.ts.map +0 -1
- package/dist/codemap/io.js +0 -30
- package/dist/codemap/io.js.map +0 -1
- package/dist/config/apply-env.d.ts +0 -15
- package/dist/config/apply-env.d.ts.map +0 -1
- package/dist/config/apply-env.js +0 -107
- package/dist/config/apply-env.js.map +0 -1
- package/dist/config/loader.d.ts +0 -57
- package/dist/config/loader.d.ts.map +0 -1
- package/dist/config/loader.js +0 -304
- package/dist/config/loader.js.map +0 -1
- package/dist/config/types.d.ts +0 -48
- package/dist/config/types.d.ts.map +0 -1
- package/dist/config/types.js +0 -2
- package/dist/config/types.js.map +0 -1
- package/dist/context/packs.d.ts +0 -33
- package/dist/context/packs.d.ts.map +0 -1
- package/dist/context/packs.js +0 -180
- package/dist/context/packs.js.map +0 -1
- package/dist/core/batch-indexer.d.ts +0 -44
- package/dist/core/batch-indexer.d.ts.map +0 -1
- package/dist/core/batch-indexer.js +0 -161
- package/dist/core/batch-indexer.js.map +0 -1
- package/dist/core/indexer.d.ts +0 -3
- package/dist/core/indexer.d.ts.map +0 -1
- package/dist/core/indexer.js +0 -624
- package/dist/core/indexer.js.map +0 -1
- package/dist/core/metadata.d.ts +0 -19
- package/dist/core/metadata.d.ts.map +0 -1
- package/dist/core/metadata.js +0 -161
- package/dist/core/metadata.js.map +0 -1
- package/dist/core/search.d.ts +0 -7
- package/dist/core/search.d.ts.map +0 -1
- package/dist/core/search.js +0 -542
- package/dist/core/search.js.map +0 -1
- package/dist/core/symbol-extractor.d.ts +0 -3
- package/dist/core/symbol-extractor.d.ts.map +0 -1
- package/dist/core/symbol-extractor.js +0 -78
- package/dist/core/symbol-extractor.js.map +0 -1
- package/dist/core/types.d.ts +0 -104
- package/dist/core/types.d.ts.map +0 -1
- package/dist/core/types.js +0 -2
- package/dist/core/types.js.map +0 -1
- package/dist/database/db.d.ts +0 -63
- package/dist/database/db.d.ts.map +0 -1
- package/dist/database/db.js +0 -205
- package/dist/database/db.js.map +0 -1
- package/dist/indexer/merkle.d.ts +0 -13
- package/dist/indexer/merkle.d.ts.map +0 -1
- package/dist/indexer/merkle.js +0 -86
- package/dist/indexer/merkle.js.map +0 -1
- package/dist/indexer/update.d.ts +0 -19
- package/dist/indexer/update.d.ts.map +0 -1
- package/dist/indexer/update.js +0 -40
- package/dist/indexer/update.js.map +0 -1
- package/dist/indexer/watch.d.ts +0 -21
- package/dist/indexer/watch.d.ts.map +0 -1
- package/dist/indexer/watch.js +0 -222
- package/dist/indexer/watch.js.map +0 -1
- package/dist/languages/rules.d.ts +0 -11
- package/dist/languages/rules.d.ts.map +0 -1
- package/dist/languages/rules.js +0 -371
- package/dist/languages/rules.js.map +0 -1
- package/dist/languages/tree-sitter-loader.d.ts +0 -27
- package/dist/languages/tree-sitter-loader.d.ts.map +0 -1
- package/dist/languages/tree-sitter-loader.js +0 -76
- package/dist/languages/tree-sitter-loader.js.map +0 -1
- package/dist/mcp/tools/ask-codebase.d.ts +0 -85
- package/dist/mcp/tools/ask-codebase.d.ts.map +0 -1
- package/dist/mcp/tools/ask-codebase.js +0 -125
- package/dist/mcp/tools/ask-codebase.js.map +0 -1
- package/dist/mcp/tools/use-context-pack.d.ts +0 -57
- package/dist/mcp/tools/use-context-pack.d.ts.map +0 -1
- package/dist/mcp/tools/use-context-pack.js +0 -91
- package/dist/mcp/tools/use-context-pack.js.map +0 -1
- package/dist/mcp-server.d.ts +0 -3
- package/dist/mcp-server.d.ts.map +0 -1
- package/dist/mcp-server.js +0 -518
- package/dist/mcp-server.js.map +0 -1
- package/dist/providers/base.d.ts +0 -39
- package/dist/providers/base.d.ts.map +0 -1
- package/dist/providers/base.js +0 -199
- package/dist/providers/base.js.map +0 -1
- package/dist/providers/chat-llm.d.ts +0 -41
- package/dist/providers/chat-llm.d.ts.map +0 -1
- package/dist/providers/chat-llm.js +0 -155
- package/dist/providers/chat-llm.js.map +0 -1
- package/dist/providers/index.d.ts +0 -6
- package/dist/providers/index.d.ts.map +0 -1
- package/dist/providers/index.js +0 -23
- package/dist/providers/index.js.map +0 -1
- package/dist/providers/ollama.d.ts +0 -13
- package/dist/providers/ollama.d.ts.map +0 -1
- package/dist/providers/ollama.js +0 -50
- package/dist/providers/ollama.js.map +0 -1
- package/dist/providers/openai.d.ts +0 -14
- package/dist/providers/openai.d.ts.map +0 -1
- package/dist/providers/openai.js +0 -122
- package/dist/providers/openai.js.map +0 -1
- package/dist/providers/token-counter.d.ts +0 -2
- package/dist/providers/token-counter.d.ts.map +0 -1
- package/dist/providers/token-counter.js +0 -18
- package/dist/providers/token-counter.js.map +0 -1
- package/dist/ranking/api-reranker.d.ts +0 -18
- package/dist/ranking/api-reranker.d.ts.map +0 -1
- package/dist/ranking/api-reranker.js +0 -134
- package/dist/ranking/api-reranker.js.map +0 -1
- package/dist/ranking/symbol-boost.d.ts +0 -15
- package/dist/ranking/symbol-boost.d.ts.map +0 -1
- package/dist/ranking/symbol-boost.js +0 -154
- package/dist/ranking/symbol-boost.js.map +0 -1
- package/dist/search/bm25.d.ts +0 -17
- package/dist/search/bm25.d.ts.map +0 -1
- package/dist/search/bm25.js +0 -56
- package/dist/search/bm25.js.map +0 -1
- package/dist/search/hybrid.d.ts +0 -21
- package/dist/search/hybrid.d.ts.map +0 -1
- package/dist/search/hybrid.js +0 -50
- package/dist/search/hybrid.js.map +0 -1
- package/dist/search/scope.d.ts +0 -5
- package/dist/search/scope.d.ts.map +0 -1
- package/dist/search/scope.js +0 -107
- package/dist/search/scope.js.map +0 -1
- package/dist/storage/encrypted-chunks.d.ts +0 -40
- package/dist/storage/encrypted-chunks.d.ts.map +0 -1
- package/dist/storage/encrypted-chunks.js +0 -237
- package/dist/storage/encrypted-chunks.js.map +0 -1
- package/dist/symbols/extract.d.ts +0 -15
- package/dist/symbols/extract.d.ts.map +0 -1
- package/dist/symbols/extract.js +0 -187
- package/dist/symbols/extract.js.map +0 -1
- package/dist/symbols/graph.d.ts +0 -3
- package/dist/symbols/graph.d.ts.map +0 -1
- package/dist/symbols/graph.js +0 -89
- package/dist/symbols/graph.js.map +0 -1
- package/dist/synthesis/markdown-formatter.d.ts +0 -13
- package/dist/synthesis/markdown-formatter.d.ts.map +0 -1
- package/dist/synthesis/markdown-formatter.js +0 -104
- package/dist/synthesis/markdown-formatter.js.map +0 -1
- package/dist/synthesis/prompt-builder.d.ts +0 -21
- package/dist/synthesis/prompt-builder.d.ts.map +0 -1
- package/dist/synthesis/prompt-builder.js +0 -129
- package/dist/synthesis/prompt-builder.js.map +0 -1
- package/dist/synthesis/synthesizer.d.ts +0 -30
- package/dist/synthesis/synthesizer.d.ts.map +0 -1
- package/dist/synthesis/synthesizer.js +0 -210
- package/dist/synthesis/synthesizer.js.map +0 -1
- package/dist/types/ast.d.ts +0 -3
- package/dist/types/ast.d.ts.map +0 -1
- package/dist/types/ast.js +0 -2
- package/dist/types/ast.js.map +0 -1
- package/dist/types/codemap.d.ts +0 -58
- package/dist/types/codemap.d.ts.map +0 -1
- package/dist/types/codemap.js +0 -224
- package/dist/types/codemap.js.map +0 -1
- package/dist/types/context-pack.d.ts +0 -47
- package/dist/types/context-pack.d.ts.map +0 -1
- package/dist/types/context-pack.js +0 -44
- package/dist/types/context-pack.js.map +0 -1
- package/dist/types/search.d.ts +0 -15
- package/dist/types/search.d.ts.map +0 -1
- package/dist/types/search.js +0 -11
- package/dist/types/search.js.map +0 -1
- package/dist/utils/cli-ui.d.ts +0 -44
- package/dist/utils/cli-ui.d.ts.map +0 -1
- package/dist/utils/cli-ui.js +0 -139
- package/dist/utils/cli-ui.js.map +0 -1
- package/dist/utils/indexer-with-progress.d.ts +0 -10
- package/dist/utils/indexer-with-progress.d.ts.map +0 -1
- package/dist/utils/indexer-with-progress.js +0 -58
- package/dist/utils/indexer-with-progress.js.map +0 -1
- package/dist/utils/rate-limiter.d.ts +0 -34
- package/dist/utils/rate-limiter.d.ts.map +0 -1
- package/dist/utils/rate-limiter.js +0 -179
- package/dist/utils/rate-limiter.js.map +0 -1
package/dist/indexer/watch.js
DELETED
|
@@ -1,222 +0,0 @@
|
|
|
1
|
-
import chokidar from 'chokidar';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
import { updateIndex } from './update.js';
|
|
4
|
-
import { toPosixPath } from './merkle.js';
|
|
5
|
-
import { getSupportedLanguageExtensions } from '../languages/rules.js';
|
|
6
|
-
import { createEmbeddingProvider } from '../providers/index.js';
|
|
7
|
-
const DEFAULT_DEBOUNCE_MS = 500;
|
|
8
|
-
const IGNORED_GLOBS = [
|
|
9
|
-
'**/node_modules/**',
|
|
10
|
-
'**/.git/**',
|
|
11
|
-
'**/.codevault/**',
|
|
12
|
-
'**/dist/**',
|
|
13
|
-
'**/build/**',
|
|
14
|
-
'**/tmp/**',
|
|
15
|
-
'**/.tmp/**',
|
|
16
|
-
'**/vendor/**'
|
|
17
|
-
];
|
|
18
|
-
export function startWatch({ repoPath = '.', provider = 'auto', debounceMs = DEFAULT_DEBOUNCE_MS, onBatch = null, logger = console, encrypt = undefined } = {}) {
|
|
19
|
-
const root = path.resolve(repoPath);
|
|
20
|
-
const supportedExtensions = new Set((getSupportedLanguageExtensions() || []).map(ext => ext.toLowerCase()));
|
|
21
|
-
const watchPatterns = supportedExtensions.size > 0
|
|
22
|
-
? Array.from(supportedExtensions).map(ext => `**/*${ext}`)
|
|
23
|
-
: ['**/*'];
|
|
24
|
-
const effectiveDebounce = Number.isFinite(Number.parseInt(String(debounceMs), 10))
|
|
25
|
-
? Math.max(Number.parseInt(String(debounceMs), 10), 50)
|
|
26
|
-
: DEFAULT_DEBOUNCE_MS;
|
|
27
|
-
const watcher = chokidar.watch(watchPatterns, {
|
|
28
|
-
cwd: root,
|
|
29
|
-
ignoreInitial: true,
|
|
30
|
-
ignored: IGNORED_GLOBS,
|
|
31
|
-
awaitWriteFinish: {
|
|
32
|
-
stabilityThreshold: Math.max(effectiveDebounce, 100),
|
|
33
|
-
pollInterval: 50
|
|
34
|
-
},
|
|
35
|
-
persistent: true
|
|
36
|
-
});
|
|
37
|
-
const ready = new Promise(resolve => {
|
|
38
|
-
watcher.once('ready', resolve);
|
|
39
|
-
});
|
|
40
|
-
const pendingChanges = new Set();
|
|
41
|
-
const pendingDeletes = new Set();
|
|
42
|
-
let timer = null;
|
|
43
|
-
let processing = false;
|
|
44
|
-
let flushPromise = null;
|
|
45
|
-
let embeddingProviderInstance = null;
|
|
46
|
-
let embeddingProviderInitPromise = null;
|
|
47
|
-
let providerInitErrorLogged = false;
|
|
48
|
-
async function getEmbeddingProviderInstance() {
|
|
49
|
-
if (embeddingProviderInstance) {
|
|
50
|
-
return embeddingProviderInstance;
|
|
51
|
-
}
|
|
52
|
-
if (!embeddingProviderInitPromise) {
|
|
53
|
-
embeddingProviderInitPromise = (async () => {
|
|
54
|
-
const instance = createEmbeddingProvider(provider);
|
|
55
|
-
if (instance.init) {
|
|
56
|
-
await instance.init();
|
|
57
|
-
}
|
|
58
|
-
embeddingProviderInstance = instance;
|
|
59
|
-
return instance;
|
|
60
|
-
})();
|
|
61
|
-
}
|
|
62
|
-
try {
|
|
63
|
-
return await embeddingProviderInitPromise;
|
|
64
|
-
}
|
|
65
|
-
catch (error) {
|
|
66
|
-
embeddingProviderInitPromise = null;
|
|
67
|
-
embeddingProviderInstance = null;
|
|
68
|
-
throw error;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
function scheduleFlush() {
|
|
72
|
-
if (timer) {
|
|
73
|
-
clearTimeout(timer);
|
|
74
|
-
}
|
|
75
|
-
timer = setTimeout(() => {
|
|
76
|
-
timer = null;
|
|
77
|
-
void flush();
|
|
78
|
-
}, effectiveDebounce);
|
|
79
|
-
}
|
|
80
|
-
function recordChange(type, filePath) {
|
|
81
|
-
const normalized = toPosixPath(filePath);
|
|
82
|
-
if (!normalized) {
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
const ext = path.extname(normalized).toLowerCase();
|
|
86
|
-
if (supportedExtensions.size > 0 && !supportedExtensions.has(ext)) {
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
if (type === 'unlink') {
|
|
90
|
-
pendingDeletes.add(normalized);
|
|
91
|
-
pendingChanges.delete(normalized);
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
pendingChanges.add(normalized);
|
|
95
|
-
pendingDeletes.delete(normalized);
|
|
96
|
-
}
|
|
97
|
-
scheduleFlush();
|
|
98
|
-
}
|
|
99
|
-
async function flush() {
|
|
100
|
-
// FIX: Prevent race condition by waiting for any in-progress flush
|
|
101
|
-
if (flushPromise) {
|
|
102
|
-
await flushPromise;
|
|
103
|
-
// After waiting, check if new changes came in and reschedule
|
|
104
|
-
if (pendingChanges.size > 0 || pendingDeletes.size > 0) {
|
|
105
|
-
scheduleFlush();
|
|
106
|
-
}
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
109
|
-
if (pendingChanges.size === 0 && pendingDeletes.size === 0) {
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
// Atomically capture and clear pending changes
|
|
113
|
-
const changed = Array.from(pendingChanges);
|
|
114
|
-
const deleted = Array.from(pendingDeletes);
|
|
115
|
-
pendingChanges.clear();
|
|
116
|
-
pendingDeletes.clear();
|
|
117
|
-
processing = true;
|
|
118
|
-
// Create promise that tracks this flush operation
|
|
119
|
-
flushPromise = (async () => {
|
|
120
|
-
try {
|
|
121
|
-
let embeddingProviderOverride = null;
|
|
122
|
-
try {
|
|
123
|
-
embeddingProviderOverride = await getEmbeddingProviderInstance();
|
|
124
|
-
}
|
|
125
|
-
catch (providerError) {
|
|
126
|
-
if (!providerInitErrorLogged && logger && typeof logger.error === 'function') {
|
|
127
|
-
logger.error('CodeVault watch provider initialization failed:', providerError);
|
|
128
|
-
providerInitErrorLogged = true;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
await updateIndex({
|
|
132
|
-
repoPath: root,
|
|
133
|
-
provider,
|
|
134
|
-
changedFiles: changed,
|
|
135
|
-
deletedFiles: deleted,
|
|
136
|
-
embeddingProvider: embeddingProviderOverride,
|
|
137
|
-
encrypt
|
|
138
|
-
});
|
|
139
|
-
if (typeof onBatch === 'function') {
|
|
140
|
-
await onBatch({ changed, deleted });
|
|
141
|
-
}
|
|
142
|
-
else if (logger && typeof logger.log === 'function') {
|
|
143
|
-
logger.log(`CodeVault watch: indexed ${changed.length} changed / ${deleted.length} deleted files`);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
catch (error) {
|
|
147
|
-
if (logger && typeof logger.error === 'function') {
|
|
148
|
-
logger.error('CodeVault watch update failed:', error);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
finally {
|
|
152
|
-
processing = false;
|
|
153
|
-
flushPromise = null;
|
|
154
|
-
// Check if new changes came in during processing
|
|
155
|
-
if (pendingChanges.size > 0 || pendingDeletes.size > 0) {
|
|
156
|
-
scheduleFlush();
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
})();
|
|
160
|
-
await flushPromise;
|
|
161
|
-
}
|
|
162
|
-
async function waitForProcessing() {
|
|
163
|
-
while (processing) {
|
|
164
|
-
await new Promise(resolve => setTimeout(resolve, 10));
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
const settleDelay = Math.min(effectiveDebounce, 200);
|
|
168
|
-
async function drainPending() {
|
|
169
|
-
if (timer) {
|
|
170
|
-
clearTimeout(timer);
|
|
171
|
-
timer = null;
|
|
172
|
-
}
|
|
173
|
-
await flush();
|
|
174
|
-
await waitForProcessing();
|
|
175
|
-
if (pendingChanges.size > 0 || pendingDeletes.size > 0 || timer) {
|
|
176
|
-
if (timer) {
|
|
177
|
-
clearTimeout(timer);
|
|
178
|
-
timer = null;
|
|
179
|
-
}
|
|
180
|
-
await flush();
|
|
181
|
-
await waitForProcessing();
|
|
182
|
-
return;
|
|
183
|
-
}
|
|
184
|
-
if (settleDelay > 0) {
|
|
185
|
-
await new Promise(resolve => setTimeout(resolve, settleDelay));
|
|
186
|
-
}
|
|
187
|
-
if (timer) {
|
|
188
|
-
clearTimeout(timer);
|
|
189
|
-
timer = null;
|
|
190
|
-
}
|
|
191
|
-
if (pendingChanges.size > 0 || pendingDeletes.size > 0) {
|
|
192
|
-
await flush();
|
|
193
|
-
await waitForProcessing();
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
watcher.on('add', file => recordChange('add', file));
|
|
197
|
-
watcher.on('change', file => recordChange('change', file));
|
|
198
|
-
watcher.on('unlink', file => recordChange('unlink', file));
|
|
199
|
-
watcher.on('error', error => {
|
|
200
|
-
if (logger && typeof logger.error === 'function') {
|
|
201
|
-
logger.error('CodeVault watch error:', error);
|
|
202
|
-
}
|
|
203
|
-
});
|
|
204
|
-
return {
|
|
205
|
-
watcher,
|
|
206
|
-
ready,
|
|
207
|
-
async close() {
|
|
208
|
-
if (timer) {
|
|
209
|
-
clearTimeout(timer);
|
|
210
|
-
timer = null;
|
|
211
|
-
}
|
|
212
|
-
// FIX: Clean up embedding provider on close
|
|
213
|
-
if (embeddingProviderInstance) {
|
|
214
|
-
embeddingProviderInstance = null;
|
|
215
|
-
embeddingProviderInitPromise = null;
|
|
216
|
-
}
|
|
217
|
-
await watcher.close();
|
|
218
|
-
},
|
|
219
|
-
flush: drainPending
|
|
220
|
-
};
|
|
221
|
-
}
|
|
222
|
-
//# sourceMappingURL=watch.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/indexer/watch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export interface LanguageRule {
|
|
2
|
-
lang: string;
|
|
3
|
-
ts: any;
|
|
4
|
-
nodeTypes: string[];
|
|
5
|
-
subdivisionTypes?: Record<string, string[]>;
|
|
6
|
-
variableTypes?: string[];
|
|
7
|
-
commentPattern: RegExp | null;
|
|
8
|
-
}
|
|
9
|
-
export declare const LANG_RULES: Record<string, LanguageRule>;
|
|
10
|
-
export declare function getSupportedLanguageExtensions(): string[];
|
|
11
|
-
//# sourceMappingURL=rules.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/languages/rules.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,GAAG,CAAC;IACR,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5C,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CA6WnD,CAAC;AAEF,wBAAgB,8BAA8B,IAAI,MAAM,EAAE,CAEzD"}
|
package/dist/languages/rules.js
DELETED
|
@@ -1,371 +0,0 @@
|
|
|
1
|
-
import { RESOLVED_LANGUAGES } from './tree-sitter-loader.js';
|
|
2
|
-
export const LANG_RULES = {
|
|
3
|
-
'.php': {
|
|
4
|
-
lang: 'php',
|
|
5
|
-
ts: RESOLVED_LANGUAGES.php,
|
|
6
|
-
nodeTypes: ['function_definition', 'method_declaration'],
|
|
7
|
-
subdivisionTypes: {
|
|
8
|
-
'class_declaration': ['method_declaration', 'function_definition'],
|
|
9
|
-
'function_definition': ['function_definition', 'if_statement', 'try_statement'],
|
|
10
|
-
'method_declaration': ['function_definition', 'if_statement', 'try_statement']
|
|
11
|
-
},
|
|
12
|
-
variableTypes: ['const_declaration', 'assignment_expression'],
|
|
13
|
-
commentPattern: /\/\*\*[\s\S]*?\*\//g
|
|
14
|
-
},
|
|
15
|
-
'.py': {
|
|
16
|
-
lang: 'python',
|
|
17
|
-
ts: RESOLVED_LANGUAGES.python,
|
|
18
|
-
nodeTypes: ['function_definition', 'class_definition'],
|
|
19
|
-
subdivisionTypes: {
|
|
20
|
-
'class_definition': ['function_definition'],
|
|
21
|
-
'function_definition': ['function_definition', 'if_statement', 'try_statement', 'with_statement']
|
|
22
|
-
},
|
|
23
|
-
variableTypes: ['assignment', 'expression_statement'],
|
|
24
|
-
commentPattern: /"""[\s\S]*?"""|'''[\s\S]*?'''/g
|
|
25
|
-
},
|
|
26
|
-
'.js': {
|
|
27
|
-
lang: 'javascript',
|
|
28
|
-
ts: RESOLVED_LANGUAGES.javascript,
|
|
29
|
-
nodeTypes: ['function_declaration', 'method_definition', 'class_declaration', 'export_statement', 'lexical_declaration', 'expression_statement'],
|
|
30
|
-
subdivisionTypes: {
|
|
31
|
-
'class_declaration': ['method_definition', 'field_definition'],
|
|
32
|
-
'function_declaration': ['function_declaration', 'if_statement', 'try_statement'],
|
|
33
|
-
'method_definition': ['function_declaration', 'if_statement', 'try_statement'],
|
|
34
|
-
'export_statement': ['object', 'function_declaration'],
|
|
35
|
-
'expression_statement': ['call_expression', 'function']
|
|
36
|
-
},
|
|
37
|
-
variableTypes: ['const_declaration', 'let_declaration', 'variable_declaration'],
|
|
38
|
-
commentPattern: /\/\*\*[\s\S]*?\*\//g
|
|
39
|
-
},
|
|
40
|
-
'.jsx': {
|
|
41
|
-
lang: 'tsx',
|
|
42
|
-
ts: RESOLVED_LANGUAGES.tsx,
|
|
43
|
-
nodeTypes: ['function_declaration', 'class_declaration', 'export_statement', 'lexical_declaration', 'expression_statement'],
|
|
44
|
-
subdivisionTypes: {
|
|
45
|
-
'class_declaration': ['method_definition', 'field_definition'],
|
|
46
|
-
'export_statement': ['object', 'function_declaration'],
|
|
47
|
-
'expression_statement': ['call_expression', 'function']
|
|
48
|
-
},
|
|
49
|
-
variableTypes: ['const_declaration', 'let_declaration', 'variable_declaration'],
|
|
50
|
-
commentPattern: /\/\*\*[\s\S]*?\*\//g
|
|
51
|
-
},
|
|
52
|
-
'.ts': {
|
|
53
|
-
lang: 'typescript',
|
|
54
|
-
ts: RESOLVED_LANGUAGES.typescript,
|
|
55
|
-
nodeTypes: ['function_declaration', 'method_definition', 'class_declaration', 'export_statement', 'lexical_declaration', 'expression_statement'],
|
|
56
|
-
subdivisionTypes: {
|
|
57
|
-
'class_declaration': ['method_definition', 'field_definition'],
|
|
58
|
-
'function_declaration': ['function_declaration', 'if_statement', 'try_statement'],
|
|
59
|
-
'method_definition': ['function_declaration', 'if_statement', 'try_statement'],
|
|
60
|
-
'export_statement': ['object', 'function_declaration'],
|
|
61
|
-
'expression_statement': ['call_expression', 'function']
|
|
62
|
-
},
|
|
63
|
-
variableTypes: ['const_declaration', 'let_declaration', 'variable_declaration'],
|
|
64
|
-
commentPattern: /\/\*\*[\s\S]*?\*\//g
|
|
65
|
-
},
|
|
66
|
-
'.tsx': {
|
|
67
|
-
lang: 'tsx',
|
|
68
|
-
ts: RESOLVED_LANGUAGES.tsx,
|
|
69
|
-
nodeTypes: ['function_declaration', 'class_declaration', 'export_statement', 'lexical_declaration', 'expression_statement'],
|
|
70
|
-
subdivisionTypes: {
|
|
71
|
-
'class_declaration': ['method_definition', 'field_definition'],
|
|
72
|
-
'export_statement': ['object', 'function_declaration'],
|
|
73
|
-
'expression_statement': ['call_expression', 'function']
|
|
74
|
-
},
|
|
75
|
-
variableTypes: ['const_declaration', 'let_declaration', 'variable_declaration'],
|
|
76
|
-
commentPattern: /\/\*\*[\s\S]*?\*\//g
|
|
77
|
-
},
|
|
78
|
-
'.go': {
|
|
79
|
-
lang: 'go',
|
|
80
|
-
ts: RESOLVED_LANGUAGES.go,
|
|
81
|
-
nodeTypes: ['function_declaration', 'method_declaration'],
|
|
82
|
-
variableTypes: ['const_declaration', 'var_declaration'],
|
|
83
|
-
commentPattern: /\/\*[\s\S]*?\*\//g
|
|
84
|
-
},
|
|
85
|
-
'.java': {
|
|
86
|
-
lang: 'java',
|
|
87
|
-
ts: RESOLVED_LANGUAGES.java,
|
|
88
|
-
nodeTypes: ['method_declaration', 'class_declaration'],
|
|
89
|
-
variableTypes: ['variable_declaration', 'field_declaration'],
|
|
90
|
-
commentPattern: /\/\*\*[\s\S]*?\*\//g
|
|
91
|
-
},
|
|
92
|
-
'.cs': {
|
|
93
|
-
lang: 'csharp',
|
|
94
|
-
ts: RESOLVED_LANGUAGES.csharp,
|
|
95
|
-
nodeTypes: ['method_declaration', 'class_declaration', 'struct_declaration', 'interface_declaration'],
|
|
96
|
-
subdivisionTypes: {
|
|
97
|
-
'class_declaration': ['method_declaration', 'property_declaration', 'field_declaration'],
|
|
98
|
-
'struct_declaration': ['method_declaration', 'property_declaration', 'field_declaration'],
|
|
99
|
-
'interface_declaration': ['method_declaration', 'property_declaration'],
|
|
100
|
-
'method_declaration': ['if_statement', 'try_statement', 'foreach_statement']
|
|
101
|
-
},
|
|
102
|
-
variableTypes: ['variable_declaration', 'field_declaration', 'property_declaration'],
|
|
103
|
-
commentPattern: /\/\*\*[\s\S]*?\*\//g
|
|
104
|
-
},
|
|
105
|
-
'.rs': {
|
|
106
|
-
lang: 'rust',
|
|
107
|
-
ts: RESOLVED_LANGUAGES.rust,
|
|
108
|
-
nodeTypes: ['function_item', 'impl_item', 'struct_item', 'enum_item', 'trait_item', 'mod_item'],
|
|
109
|
-
subdivisionTypes: {
|
|
110
|
-
'impl_item': ['function_item'],
|
|
111
|
-
'mod_item': ['function_item', 'struct_item', 'enum_item', 'trait_item'],
|
|
112
|
-
'trait_item': ['function_signature']
|
|
113
|
-
},
|
|
114
|
-
variableTypes: ['let_declaration', 'const_item', 'static_item'],
|
|
115
|
-
commentPattern: /\/\/\/.*|\/\*\*[\s\S]*?\*\//g
|
|
116
|
-
},
|
|
117
|
-
'.rb': {
|
|
118
|
-
lang: 'ruby',
|
|
119
|
-
ts: RESOLVED_LANGUAGES.ruby,
|
|
120
|
-
nodeTypes: ['method', 'class', 'module', 'singleton_method'],
|
|
121
|
-
subdivisionTypes: {
|
|
122
|
-
'class': ['method', 'singleton_method'],
|
|
123
|
-
'module': ['method', 'singleton_method']
|
|
124
|
-
},
|
|
125
|
-
variableTypes: ['assignment', 'instance_variable', 'class_variable'],
|
|
126
|
-
commentPattern: /#.*$/gm
|
|
127
|
-
},
|
|
128
|
-
'.cpp': {
|
|
129
|
-
lang: 'cpp',
|
|
130
|
-
ts: RESOLVED_LANGUAGES.cpp,
|
|
131
|
-
nodeTypes: ['function_definition', 'class_specifier', 'struct_specifier', 'namespace_definition'],
|
|
132
|
-
subdivisionTypes: {
|
|
133
|
-
'class_specifier': ['function_definition', 'field_declaration'],
|
|
134
|
-
'struct_specifier': ['function_definition', 'field_declaration'],
|
|
135
|
-
'namespace_definition': ['function_definition', 'class_specifier', 'struct_specifier']
|
|
136
|
-
},
|
|
137
|
-
variableTypes: ['declaration', 'field_declaration'],
|
|
138
|
-
commentPattern: /\/\*[\s\S]*?\*\//g
|
|
139
|
-
},
|
|
140
|
-
'.hpp': {
|
|
141
|
-
lang: 'cpp',
|
|
142
|
-
ts: RESOLVED_LANGUAGES.cpp,
|
|
143
|
-
nodeTypes: ['function_definition', 'class_specifier', 'struct_specifier', 'namespace_definition'],
|
|
144
|
-
subdivisionTypes: {
|
|
145
|
-
'class_specifier': ['function_definition', 'field_declaration'],
|
|
146
|
-
'struct_specifier': ['function_definition', 'field_declaration'],
|
|
147
|
-
'namespace_definition': ['function_definition', 'class_specifier', 'struct_specifier']
|
|
148
|
-
},
|
|
149
|
-
variableTypes: ['declaration', 'field_declaration'],
|
|
150
|
-
commentPattern: /\/\*[\s\S]*?\*\//g
|
|
151
|
-
},
|
|
152
|
-
'.cc': {
|
|
153
|
-
lang: 'cpp',
|
|
154
|
-
ts: RESOLVED_LANGUAGES.cpp,
|
|
155
|
-
nodeTypes: ['function_definition', 'class_specifier', 'struct_specifier', 'namespace_definition'],
|
|
156
|
-
subdivisionTypes: {
|
|
157
|
-
'class_specifier': ['function_definition', 'field_declaration'],
|
|
158
|
-
'struct_specifier': ['function_definition', 'field_declaration'],
|
|
159
|
-
'namespace_definition': ['function_definition', 'class_specifier', 'struct_specifier']
|
|
160
|
-
},
|
|
161
|
-
variableTypes: ['declaration', 'field_declaration'],
|
|
162
|
-
commentPattern: /\/\*[\s\S]*?\*\//g
|
|
163
|
-
},
|
|
164
|
-
'.c': {
|
|
165
|
-
lang: 'c',
|
|
166
|
-
ts: RESOLVED_LANGUAGES.c,
|
|
167
|
-
nodeTypes: ['function_definition', 'struct_specifier', 'declaration'],
|
|
168
|
-
subdivisionTypes: {
|
|
169
|
-
'struct_specifier': ['field_declaration']
|
|
170
|
-
},
|
|
171
|
-
variableTypes: ['declaration'],
|
|
172
|
-
commentPattern: /\/\*[\s\S]*?\*\//g
|
|
173
|
-
},
|
|
174
|
-
'.h': {
|
|
175
|
-
lang: 'c',
|
|
176
|
-
ts: RESOLVED_LANGUAGES.c,
|
|
177
|
-
nodeTypes: ['function_definition', 'struct_specifier', 'declaration'],
|
|
178
|
-
subdivisionTypes: {
|
|
179
|
-
'struct_specifier': ['field_declaration']
|
|
180
|
-
},
|
|
181
|
-
variableTypes: ['declaration'],
|
|
182
|
-
commentPattern: /\/\*[\s\S]*?\*\//g
|
|
183
|
-
},
|
|
184
|
-
'.scala': {
|
|
185
|
-
lang: 'scala',
|
|
186
|
-
ts: RESOLVED_LANGUAGES.scala,
|
|
187
|
-
nodeTypes: ['function_definition', 'class_definition', 'object_definition', 'trait_definition'],
|
|
188
|
-
subdivisionTypes: {
|
|
189
|
-
'class_definition': ['function_definition', 'val_definition', 'var_declaration'],
|
|
190
|
-
'object_definition': ['function_definition', 'val_definition'],
|
|
191
|
-
'trait_definition': ['function_definition', 'function_declaration']
|
|
192
|
-
},
|
|
193
|
-
variableTypes: ['val_definition', 'var_declaration'],
|
|
194
|
-
commentPattern: /\/\*\*[\s\S]*?\*\//g
|
|
195
|
-
},
|
|
196
|
-
'.swift': {
|
|
197
|
-
lang: 'swift',
|
|
198
|
-
ts: RESOLVED_LANGUAGES.swift,
|
|
199
|
-
nodeTypes: ['function_declaration', 'class_declaration', 'struct_declaration', 'protocol_declaration'],
|
|
200
|
-
subdivisionTypes: {
|
|
201
|
-
'class_declaration': ['function_declaration', 'property_declaration'],
|
|
202
|
-
'struct_declaration': ['function_declaration', 'property_declaration'],
|
|
203
|
-
'protocol_declaration': ['function_declaration']
|
|
204
|
-
},
|
|
205
|
-
variableTypes: ['property_declaration', 'variable_declaration'],
|
|
206
|
-
commentPattern: /\/\*\*[\s\S]*?\*\//g
|
|
207
|
-
},
|
|
208
|
-
'.sh': {
|
|
209
|
-
lang: 'bash',
|
|
210
|
-
ts: RESOLVED_LANGUAGES.bash,
|
|
211
|
-
nodeTypes: ['function_definition', 'command'],
|
|
212
|
-
subdivisionTypes: {
|
|
213
|
-
'function_definition': ['command', 'if_statement', 'for_statement', 'while_statement']
|
|
214
|
-
},
|
|
215
|
-
variableTypes: ['variable_assignment'],
|
|
216
|
-
commentPattern: /#.*$/gm
|
|
217
|
-
},
|
|
218
|
-
'.bash': {
|
|
219
|
-
lang: 'bash',
|
|
220
|
-
ts: RESOLVED_LANGUAGES.bash,
|
|
221
|
-
nodeTypes: ['function_definition', 'command'],
|
|
222
|
-
subdivisionTypes: {
|
|
223
|
-
'function_definition': ['command', 'if_statement', 'for_statement', 'while_statement']
|
|
224
|
-
},
|
|
225
|
-
variableTypes: ['variable_assignment'],
|
|
226
|
-
commentPattern: /#.*$/gm
|
|
227
|
-
},
|
|
228
|
-
'.kt': {
|
|
229
|
-
lang: 'kotlin',
|
|
230
|
-
ts: RESOLVED_LANGUAGES.kotlin,
|
|
231
|
-
nodeTypes: ['function_declaration', 'property_declaration', 'class_declaration', 'object_declaration'],
|
|
232
|
-
subdivisionTypes: {
|
|
233
|
-
'class_declaration': ['function_declaration', 'property_declaration'],
|
|
234
|
-
'object_declaration': ['function_declaration', 'property_declaration'],
|
|
235
|
-
'function_declaration': ['if_expression', 'when_expression', 'try_expression']
|
|
236
|
-
},
|
|
237
|
-
variableTypes: ['property_declaration', 'variable_declaration'],
|
|
238
|
-
commentPattern: /\/\*\*[\s\S]*?\*\//g
|
|
239
|
-
},
|
|
240
|
-
'.lua': {
|
|
241
|
-
lang: 'lua',
|
|
242
|
-
ts: RESOLVED_LANGUAGES.lua,
|
|
243
|
-
nodeTypes: ['function_declaration', 'function_definition', 'function_call', 'table_constructor'],
|
|
244
|
-
subdivisionTypes: {
|
|
245
|
-
'function_definition': ['function_definition', 'if_statement', 'for_statement']
|
|
246
|
-
},
|
|
247
|
-
variableTypes: ['variable_declaration', 'assignment_statement'],
|
|
248
|
-
commentPattern: /--.*$/gm
|
|
249
|
-
},
|
|
250
|
-
'.html': {
|
|
251
|
-
lang: 'html',
|
|
252
|
-
ts: RESOLVED_LANGUAGES.html,
|
|
253
|
-
nodeTypes: ['element', 'start_tag', 'script_element', 'style_element'],
|
|
254
|
-
subdivisionTypes: {
|
|
255
|
-
'element': ['element']
|
|
256
|
-
},
|
|
257
|
-
variableTypes: [],
|
|
258
|
-
commentPattern: /<!--[\s\S]*?-->/g
|
|
259
|
-
},
|
|
260
|
-
'.htm': {
|
|
261
|
-
lang: 'html',
|
|
262
|
-
ts: RESOLVED_LANGUAGES.html,
|
|
263
|
-
nodeTypes: ['element', 'start_tag', 'script_element', 'style_element'],
|
|
264
|
-
subdivisionTypes: {
|
|
265
|
-
'element': ['element']
|
|
266
|
-
},
|
|
267
|
-
variableTypes: [],
|
|
268
|
-
commentPattern: /<!--[\s\S]*?-->/g
|
|
269
|
-
},
|
|
270
|
-
'.css': {
|
|
271
|
-
lang: 'css',
|
|
272
|
-
ts: RESOLVED_LANGUAGES.css,
|
|
273
|
-
nodeTypes: ['rule_set', 'declaration', 'selector'],
|
|
274
|
-
subdivisionTypes: {
|
|
275
|
-
'rule_set': ['declaration']
|
|
276
|
-
},
|
|
277
|
-
variableTypes: [],
|
|
278
|
-
commentPattern: /\/\*[\s\S]*?\*\//g
|
|
279
|
-
},
|
|
280
|
-
'.json': {
|
|
281
|
-
lang: 'json',
|
|
282
|
-
ts: RESOLVED_LANGUAGES.json,
|
|
283
|
-
nodeTypes: ['object', 'array', 'pair'],
|
|
284
|
-
subdivisionTypes: {
|
|
285
|
-
'object': ['pair'],
|
|
286
|
-
'array': ['object', 'array']
|
|
287
|
-
},
|
|
288
|
-
variableTypes: [],
|
|
289
|
-
commentPattern: null
|
|
290
|
-
},
|
|
291
|
-
'.ml': {
|
|
292
|
-
lang: 'ocaml',
|
|
293
|
-
ts: RESOLVED_LANGUAGES.ocaml,
|
|
294
|
-
nodeTypes: ['value_definition', 'type_definition', 'module_definition', 'let_binding'],
|
|
295
|
-
subdivisionTypes: {
|
|
296
|
-
'module_definition': ['value_definition', 'type_definition'],
|
|
297
|
-
'value_definition': ['let_binding']
|
|
298
|
-
},
|
|
299
|
-
variableTypes: ['let_binding', 'value_definition'],
|
|
300
|
-
commentPattern: /\(\*[\s\S]*?\*\)/g
|
|
301
|
-
},
|
|
302
|
-
'.mli': {
|
|
303
|
-
lang: 'ocaml',
|
|
304
|
-
ts: RESOLVED_LANGUAGES.ocaml,
|
|
305
|
-
nodeTypes: ['value_specification', 'type_definition', 'module_definition'],
|
|
306
|
-
subdivisionTypes: {
|
|
307
|
-
'module_definition': ['value_specification', 'type_definition']
|
|
308
|
-
},
|
|
309
|
-
variableTypes: ['value_specification'],
|
|
310
|
-
commentPattern: /\(\*[\s\S]*?\*\)/g
|
|
311
|
-
},
|
|
312
|
-
'.hs': {
|
|
313
|
-
lang: 'haskell',
|
|
314
|
-
ts: RESOLVED_LANGUAGES.haskell,
|
|
315
|
-
nodeTypes: ['function', 'type_signature', 'data_declaration', 'class_declaration'],
|
|
316
|
-
subdivisionTypes: {
|
|
317
|
-
'class_declaration': ['function', 'type_signature'],
|
|
318
|
-
'data_declaration': ['constructor']
|
|
319
|
-
},
|
|
320
|
-
variableTypes: ['signature', 'bind'],
|
|
321
|
-
commentPattern: /--.*$/gm
|
|
322
|
-
},
|
|
323
|
-
'.ex': {
|
|
324
|
-
lang: 'elixir',
|
|
325
|
-
ts: RESOLVED_LANGUAGES.elixir,
|
|
326
|
-
nodeTypes: ['call', 'anonymous_function'],
|
|
327
|
-
subdivisionTypes: {
|
|
328
|
-
'call': ['call', 'anonymous_function']
|
|
329
|
-
},
|
|
330
|
-
variableTypes: ['identifier'],
|
|
331
|
-
commentPattern: /#.*$/gm
|
|
332
|
-
},
|
|
333
|
-
'.exs': {
|
|
334
|
-
lang: 'elixir',
|
|
335
|
-
ts: RESOLVED_LANGUAGES.elixir,
|
|
336
|
-
nodeTypes: ['call', 'anonymous_function'],
|
|
337
|
-
subdivisionTypes: {
|
|
338
|
-
'call': ['call', 'anonymous_function']
|
|
339
|
-
},
|
|
340
|
-
variableTypes: ['identifier'],
|
|
341
|
-
commentPattern: /#.*$/gm
|
|
342
|
-
},
|
|
343
|
-
'.md': {
|
|
344
|
-
lang: 'markdown',
|
|
345
|
-
ts: RESOLVED_LANGUAGES.markdown,
|
|
346
|
-
nodeTypes: ['atx_heading', 'setext_heading', 'section', 'fenced_code_block', 'list_item'],
|
|
347
|
-
subdivisionTypes: {
|
|
348
|
-
'section': ['atx_heading', 'setext_heading', 'paragraph', 'fenced_code_block', 'list', 'block_quote'],
|
|
349
|
-
'list': ['list_item'],
|
|
350
|
-
'fenced_code_block': []
|
|
351
|
-
},
|
|
352
|
-
variableTypes: [],
|
|
353
|
-
commentPattern: /<!--[\s\S]*?-->/g
|
|
354
|
-
},
|
|
355
|
-
'.markdown': {
|
|
356
|
-
lang: 'markdown',
|
|
357
|
-
ts: RESOLVED_LANGUAGES.markdown,
|
|
358
|
-
nodeTypes: ['atx_heading', 'setext_heading', 'section', 'fenced_code_block', 'list_item'],
|
|
359
|
-
subdivisionTypes: {
|
|
360
|
-
'section': ['atx_heading', 'setext_heading', 'paragraph', 'fenced_code_block', 'list', 'block_quote'],
|
|
361
|
-
'list': ['list_item'],
|
|
362
|
-
'fenced_code_block': []
|
|
363
|
-
},
|
|
364
|
-
variableTypes: [],
|
|
365
|
-
commentPattern: /<!--[\s\S]*?-->/g
|
|
366
|
-
}
|
|
367
|
-
};
|
|
368
|
-
export function getSupportedLanguageExtensions() {
|
|
369
|
-
return Object.keys(LANG_RULES);
|
|
370
|
-
}
|
|
371
|
-
//# sourceMappingURL=rules.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/languages/rules.ts"],"names":[],"mappings":"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"}
|