pug-tail 0.1.0-alpha.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.

Potentially problematic release.


This version of pug-tail might be problematic. Click here for more details.

Files changed (126) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/LICENSE +21 -0
  3. package/README.md +318 -0
  4. package/dist/cli/config/loader.d.ts +9 -0
  5. package/dist/cli/config/loader.d.ts.map +1 -0
  6. package/dist/cli/config/loader.js +82 -0
  7. package/dist/cli/config/loader.js.map +1 -0
  8. package/dist/cli/config/matcher.d.ts +3 -0
  9. package/dist/cli/config/matcher.d.ts.map +1 -0
  10. package/dist/cli/config/matcher.js +29 -0
  11. package/dist/cli/config/matcher.js.map +1 -0
  12. package/dist/cli/config/types.d.ts +26 -0
  13. package/dist/cli/config/types.d.ts.map +1 -0
  14. package/dist/cli/config/types.js +2 -0
  15. package/dist/cli/config/types.js.map +1 -0
  16. package/dist/cli/dataLoader.d.ts +8 -0
  17. package/dist/cli/dataLoader.d.ts.map +1 -0
  18. package/dist/cli/dataLoader.js +70 -0
  19. package/dist/cli/dataLoader.js.map +1 -0
  20. package/dist/cli/dependencyTracker.d.ts +19 -0
  21. package/dist/cli/dependencyTracker.d.ts.map +1 -0
  22. package/dist/cli/dependencyTracker.js +149 -0
  23. package/dist/cli/dependencyTracker.js.map +1 -0
  24. package/dist/cli/fileProcessor.d.ts +32 -0
  25. package/dist/cli/fileProcessor.d.ts.map +1 -0
  26. package/dist/cli/fileProcessor.js +218 -0
  27. package/dist/cli/fileProcessor.js.map +1 -0
  28. package/dist/cli/pathResolver.d.ts +12 -0
  29. package/dist/cli/pathResolver.d.ts.map +1 -0
  30. package/dist/cli/pathResolver.js +35 -0
  31. package/dist/cli/pathResolver.js.map +1 -0
  32. package/dist/cli/watcher.d.ts +22 -0
  33. package/dist/cli/watcher.d.ts.map +1 -0
  34. package/dist/cli/watcher.js +186 -0
  35. package/dist/cli/watcher.js.map +1 -0
  36. package/dist/cli.d.ts +3 -0
  37. package/dist/cli.d.ts.map +1 -0
  38. package/dist/cli.js +624 -0
  39. package/dist/cli.js.map +1 -0
  40. package/dist/core/astTransformer.d.ts +32 -0
  41. package/dist/core/astTransformer.d.ts.map +1 -0
  42. package/dist/core/astTransformer.js +532 -0
  43. package/dist/core/astTransformer.js.map +1 -0
  44. package/dist/core/componentRegistry.d.ts +14 -0
  45. package/dist/core/componentRegistry.d.ts.map +1 -0
  46. package/dist/core/componentRegistry.js +32 -0
  47. package/dist/core/componentRegistry.js.map +1 -0
  48. package/dist/core/errorHandler.d.ts +24 -0
  49. package/dist/core/errorHandler.d.ts.map +1 -0
  50. package/dist/core/errorHandler.js +102 -0
  51. package/dist/core/errorHandler.js.map +1 -0
  52. package/dist/core/slotResolver.d.ts +9 -0
  53. package/dist/core/slotResolver.d.ts.map +1 -0
  54. package/dist/core/slotResolver.js +88 -0
  55. package/dist/core/slotResolver.js.map +1 -0
  56. package/dist/index.d.ts +10 -0
  57. package/dist/index.d.ts.map +1 -0
  58. package/dist/index.js +8 -0
  59. package/dist/index.js.map +1 -0
  60. package/dist/transform.d.ts +26 -0
  61. package/dist/transform.d.ts.map +1 -0
  62. package/dist/transform.js +247 -0
  63. package/dist/transform.js.map +1 -0
  64. package/dist/types/index.d.ts +41 -0
  65. package/dist/types/index.d.ts.map +1 -0
  66. package/dist/types/index.js +2 -0
  67. package/dist/types/index.js.map +1 -0
  68. package/dist/utils/astHelpers.d.ts +16 -0
  69. package/dist/utils/astHelpers.d.ts.map +1 -0
  70. package/dist/utils/astHelpers.js +66 -0
  71. package/dist/utils/astHelpers.js.map +1 -0
  72. package/dist/utils/attributeCategorizer.d.ts +6 -0
  73. package/dist/utils/attributeCategorizer.d.ts.map +1 -0
  74. package/dist/utils/attributeCategorizer.js +17 -0
  75. package/dist/utils/attributeCategorizer.js.map +1 -0
  76. package/dist/utils/attributes/addAttributeFallthrough.d.ts +4 -0
  77. package/dist/utils/attributes/addAttributeFallthrough.d.ts.map +1 -0
  78. package/dist/utils/attributes/addAttributeFallthrough.js +22 -0
  79. package/dist/utils/attributes/addAttributeFallthrough.js.map +1 -0
  80. package/dist/utils/attributes/createAttributesCode.d.ts +3 -0
  81. package/dist/utils/attributes/createAttributesCode.d.ts.map +1 -0
  82. package/dist/utils/attributes/createAttributesCode.js +21 -0
  83. package/dist/utils/attributes/createAttributesCode.js.map +1 -0
  84. package/dist/utils/attributes/extractAttributes.d.ts +4 -0
  85. package/dist/utils/attributes/extractAttributes.d.ts.map +1 -0
  86. package/dist/utils/attributes/extractAttributes.js +15 -0
  87. package/dist/utils/attributes/extractAttributes.js.map +1 -0
  88. package/dist/utils/attributes/findRootElements.d.ts +7 -0
  89. package/dist/utils/attributes/findRootElements.d.ts.map +1 -0
  90. package/dist/utils/attributes/findRootElements.js +36 -0
  91. package/dist/utils/attributes/findRootElements.js.map +1 -0
  92. package/dist/utils/attributes/index.d.ts +5 -0
  93. package/dist/utils/attributes/index.d.ts.map +1 -0
  94. package/dist/utils/attributes/index.js +5 -0
  95. package/dist/utils/attributes/index.js.map +1 -0
  96. package/dist/utils/babelHelpers.d.ts +3 -0
  97. package/dist/utils/babelHelpers.d.ts.map +1 -0
  98. package/dist/utils/babelHelpers.js +73 -0
  99. package/dist/utils/babelHelpers.js.map +1 -0
  100. package/dist/utils/componentDetector.d.ts +12 -0
  101. package/dist/utils/componentDetector.d.ts.map +1 -0
  102. package/dist/utils/componentDetector.js +206 -0
  103. package/dist/utils/componentDetector.js.map +1 -0
  104. package/dist/utils/dataFilesDetector.d.ts +4 -0
  105. package/dist/utils/dataFilesDetector.d.ts.map +1 -0
  106. package/dist/utils/dataFilesDetector.js +88 -0
  107. package/dist/utils/dataFilesDetector.js.map +1 -0
  108. package/dist/utils/deepClone.d.ts +5 -0
  109. package/dist/utils/deepClone.d.ts.map +1 -0
  110. package/dist/utils/deepClone.js +10 -0
  111. package/dist/utils/deepClone.js.map +1 -0
  112. package/dist/utils/index.d.ts +7 -0
  113. package/dist/utils/index.d.ts.map +1 -0
  114. package/dist/utils/index.js +7 -0
  115. package/dist/utils/index.js.map +1 -0
  116. package/dist/utils/scopeAnalyzer.d.ts +5 -0
  117. package/dist/utils/scopeAnalyzer.d.ts.map +1 -0
  118. package/dist/utils/scopeAnalyzer.js +267 -0
  119. package/dist/utils/scopeAnalyzer.js.map +1 -0
  120. package/dist/utils/usageDetector.d.ts +8 -0
  121. package/dist/utils/usageDetector.d.ts.map +1 -0
  122. package/dist/utils/usageDetector.js +148 -0
  123. package/dist/utils/usageDetector.js.map +1 -0
  124. package/docs/COMPONENTS.md +708 -0
  125. package/docs/CONFIGURATION.md +708 -0
  126. package/package.json +103 -0
@@ -0,0 +1,186 @@
1
+ import chokidar from 'chokidar';
2
+ import { glob } from 'glob';
3
+ import { DependencyTracker } from './dependencyTracker.js';
4
+ import { FileProcessor } from './fileProcessor.js';
5
+ import { isPugFile, resolveAbsolutePath } from './pathResolver.js';
6
+ export class Watcher {
7
+ constructor(options) {
8
+ this.debounceTimers = new Map();
9
+ this.options = {
10
+ debounce: 100,
11
+ ...options,
12
+ };
13
+ this.processor = new FileProcessor({
14
+ outputDir: options.outputDir,
15
+ extension: options.extension,
16
+ transformOptions: options.transformOptions,
17
+ data: options.data,
18
+ dataKey: options.dataKey,
19
+ silent: options.silent,
20
+ debug: options.debug,
21
+ config: options.config,
22
+ });
23
+ this.dependencyTracker = new DependencyTracker(options.transformOptions?.basedir);
24
+ }
25
+ async start() {
26
+ const { paths, debug } = this.options;
27
+ if (!this.options.silent) {
28
+ console.log('šŸ” Watching for changes...');
29
+ if (debug) {
30
+ console.log('Watch paths:', paths);
31
+ }
32
+ }
33
+ if (!this.options.silent) {
34
+ console.log('\nšŸ“¦ Initial compilation...');
35
+ }
36
+ await this.processor.processInputs(paths);
37
+ if (debug) {
38
+ console.log('[watch] Building dependency graph...');
39
+ }
40
+ const globPatterns = paths.map((p) => {
41
+ if (p.includes('*'))
42
+ return p;
43
+ if (p.endsWith('.pug'))
44
+ return p;
45
+ return `${p.replace(/\/$/, '')}/**/*.pug`;
46
+ });
47
+ const allFiles = await glob(globPatterns, {
48
+ ignore: ['node_modules/**', '.git/**'],
49
+ nodir: true,
50
+ absolute: true,
51
+ });
52
+ if (debug) {
53
+ console.log(`[watch] Found ${allFiles.length} pug files`);
54
+ }
55
+ for (const file of allFiles) {
56
+ const deps = this.dependencyTracker.analyzeDependencies(file);
57
+ if (debug && deps.size > 0) {
58
+ console.log(`[watch] ${file} -> ${deps.size} dependencies`);
59
+ }
60
+ }
61
+ this.watcher = chokidar.watch(paths, {
62
+ ignored: [
63
+ /(^|[/\\])\../,
64
+ /node_modules/,
65
+ /\.git/,
66
+ ],
67
+ ignoreInitial: true,
68
+ persistent: true,
69
+ awaitWriteFinish: {
70
+ stabilityThreshold: 100,
71
+ pollInterval: 50,
72
+ },
73
+ });
74
+ this.watcher
75
+ .on('add', (path) => this.handleFileAdded(path))
76
+ .on('change', (path) => this.handleFileChanged(path))
77
+ .on('unlink', (path) => this.handleFileDeleted(path))
78
+ .on('error', (error) => this.handleError(error));
79
+ if (!this.options.silent) {
80
+ console.log('āœ… Ready. Watching for changes...');
81
+ console.log('šŸ’” Press Ctrl+C to stop\n');
82
+ }
83
+ }
84
+ async stop() {
85
+ if (this.watcher) {
86
+ await this.watcher.close();
87
+ this.watcher = undefined;
88
+ }
89
+ for (const timer of this.debounceTimers.values()) {
90
+ clearTimeout(timer);
91
+ }
92
+ this.debounceTimers.clear();
93
+ if (!this.options.silent) {
94
+ console.log('\nšŸ‘‹ Stopped watching');
95
+ }
96
+ }
97
+ handleFileAdded(path) {
98
+ if (!isPugFile(path))
99
+ return;
100
+ if (this.options.debug) {
101
+ console.log(`[watch] File added: ${path}`);
102
+ }
103
+ this.debounceProcess(path, 'added');
104
+ }
105
+ handleFileChanged(path) {
106
+ if (!isPugFile(path))
107
+ return;
108
+ if (this.options.debug) {
109
+ console.log(`[watch] File changed: ${path}`);
110
+ }
111
+ this.dependencyTracker.analyzeDependencies(path);
112
+ const dependents = this.dependencyTracker.getDependents(path);
113
+ if (dependents.size > 0) {
114
+ if (this.options.debug) {
115
+ console.log(`[watch] ${dependents.size} dependent(s) will be recompiled`);
116
+ }
117
+ for (const dependent of dependents) {
118
+ this.debounceProcess(dependent, 'changed');
119
+ }
120
+ }
121
+ else {
122
+ this.debounceProcess(path, 'changed');
123
+ }
124
+ }
125
+ handleFileDeleted(path) {
126
+ if (!isPugFile(path))
127
+ return;
128
+ if (!this.options.silent) {
129
+ console.log(`šŸ—‘ļø Deleted: ${path}`);
130
+ }
131
+ this.dependencyTracker.removeFile(path);
132
+ const dependents = this.dependencyTracker.getDependents(path);
133
+ for (const dependent of dependents) {
134
+ this.debounceProcess(dependent, 'changed');
135
+ }
136
+ }
137
+ handleError(error) {
138
+ console.error('āŒ Watch error:', error.message);
139
+ if (this.options.debug && error.stack) {
140
+ console.error(error.stack);
141
+ }
142
+ }
143
+ debounceProcess(path, action) {
144
+ const absolutePath = resolveAbsolutePath(path);
145
+ const existingTimer = this.debounceTimers.get(absolutePath);
146
+ if (existingTimer) {
147
+ clearTimeout(existingTimer);
148
+ }
149
+ const timer = setTimeout(async () => {
150
+ this.debounceTimers.delete(absolutePath);
151
+ await this.processFile(absolutePath, action);
152
+ }, this.options.debounce);
153
+ this.debounceTimers.set(absolutePath, timer);
154
+ }
155
+ async processFile(path, action) {
156
+ const startTime = Date.now();
157
+ try {
158
+ const dependencies = this.dependencyTracker.analyzeDependencies(path);
159
+ if (this.dependencyTracker.hasCircularDependency(path)) {
160
+ console.warn(`āš ļø Circular dependency detected in: ${path}`);
161
+ }
162
+ if (this.options.debug && dependencies.size > 0) {
163
+ console.log(`[watch] ${path} depends on ${dependencies.size} file(s)`);
164
+ }
165
+ const result = await this.processor.processFile(path);
166
+ if (result.success) {
167
+ const duration = Date.now() - startTime;
168
+ const emoji = action === 'added' ? '✨' : 'šŸ”„';
169
+ if (!this.options.silent) {
170
+ console.log(`${emoji} ${action === 'added' ? 'Added' : 'Updated'}: ${path} (${duration}ms)`);
171
+ }
172
+ }
173
+ else if (result.error) {
174
+ console.error(`āŒ Failed to process ${path}:`, result.error);
175
+ }
176
+ }
177
+ catch (error) {
178
+ const errorMessage = error instanceof Error ? error.message : String(error);
179
+ console.error(`āŒ Error processing ${path}:`, errorMessage);
180
+ if (this.options.debug && error instanceof Error && error.stack) {
181
+ console.error(error.stack);
182
+ }
183
+ }
184
+ }
185
+ }
186
+ //# sourceMappingURL=watcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../src/cli/watcher.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}