mcp-tailwindcss 1.0.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.
@@ -0,0 +1,48 @@
1
+ export declare function getTailwindSrcPath(): string;
2
+ export interface UpdateResult {
3
+ updated: boolean;
4
+ previousSha?: string;
5
+ currentSha?: string;
6
+ commitMessage?: string;
7
+ commitDate?: string;
8
+ error?: string;
9
+ }
10
+ export interface CommitInfo {
11
+ sha: string;
12
+ message: string;
13
+ date: string;
14
+ author: string;
15
+ }
16
+ export declare function getLastSavedSha(): string | null;
17
+ export declare function saveSha(sha: string): void;
18
+ export declare function fetchLatestCommit(): Promise<CommitInfo | null>;
19
+ export declare function isGitRepository(): boolean;
20
+ export declare function hasTailwindSrc(): boolean;
21
+ export declare function cloneRepository(): boolean;
22
+ export declare function pullRepository(): {
23
+ success: boolean;
24
+ output: string;
25
+ };
26
+ export declare function getLocalCommitSha(): string | null;
27
+ export declare function ensureRepository(): Promise<{
28
+ success: boolean;
29
+ path: string;
30
+ error?: string;
31
+ }>;
32
+ export declare function checkAndUpdate(): Promise<UpdateResult>;
33
+ export declare function checkForUpdates(): Promise<{
34
+ hasUpdate: boolean;
35
+ currentSha?: string;
36
+ latestSha?: string;
37
+ latestCommit?: CommitInfo;
38
+ }>;
39
+ export declare function scheduleUpdateCheck(intervalMs?: number, onUpdate?: (result: UpdateResult) => void): NodeJS.Timeout;
40
+ export declare function getRepositoryStatus(): Promise<{
41
+ isValid: boolean;
42
+ localSha?: string;
43
+ remoteSha?: string;
44
+ hasUpdates: boolean;
45
+ lastCheck: string;
46
+ repoPath: string;
47
+ }>;
48
+ //# sourceMappingURL=auto-updater.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-updater.d.ts","sourceRoot":"","sources":["../src/auto-updater.ts"],"names":[],"mappings":"AA8BA,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;CACf;AAQD,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAS/C;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAOzC;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAuCpE;AAED,wBAAgB,eAAe,IAAI,OAAO,CAGzC;AAED,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED,wBAAgB,eAAe,IAAI,OAAO,CAoBzC;AAED,wBAAgB,cAAc,IAAI;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAWrE;AAED,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAWjD;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAqBpG;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC,CA4C5D;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC;IAC/C,SAAS,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,UAAU,CAAA;CAC1B,CAAC,CAkBD;AAED,wBAAgB,mBAAmB,CACjC,UAAU,GAAE,MAAuB,EACnC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GACxC,MAAM,CAAC,OAAO,CAWhB;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC;IACnD,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,OAAO,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAC,CAYD"}
@@ -0,0 +1,237 @@
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+ import * as os from 'os';
4
+ import { execSync } from 'child_process';
5
+ import { fileURLToPath } from 'url';
6
+ const __filename = fileURLToPath(import.meta.url);
7
+ const __dirname = path.dirname(__filename);
8
+ const GITHUB_REPO = 'tailwindlabs/tailwindcss';
9
+ const GITHUB_API_URL = `https://api.github.com/repos/${GITHUB_REPO}/commits?per_page=1`;
10
+ function getDefaultTailwindDir() {
11
+ if (process.env.TAILWIND_PATH) {
12
+ return process.env.TAILWIND_PATH.replace(/\/packages\/tailwindcss\/src\/?$/, '');
13
+ }
14
+ const localPath = path.resolve(__dirname, '../tailwindcss');
15
+ if (fs.existsSync(path.join(localPath, 'packages', 'tailwindcss', 'src'))) {
16
+ return localPath;
17
+ }
18
+ return path.join(os.homedir(), '.mcp-tailwindcss', 'tailwindcss');
19
+ }
20
+ const TAILWIND_DIR = getDefaultTailwindDir();
21
+ const TAILWIND_SRC_PATH = path.join(TAILWIND_DIR, 'packages', 'tailwindcss', 'src');
22
+ const CACHE_DIR = path.join(os.homedir(), '.mcp-tailwindcss');
23
+ const CACHE_FILE = path.join(CACHE_DIR, '.last-commit-sha');
24
+ export function getTailwindSrcPath() {
25
+ return TAILWIND_SRC_PATH;
26
+ }
27
+ function ensureCacheDir() {
28
+ if (!fs.existsSync(CACHE_DIR)) {
29
+ fs.mkdirSync(CACHE_DIR, { recursive: true });
30
+ }
31
+ }
32
+ export function getLastSavedSha() {
33
+ try {
34
+ if (fs.existsSync(CACHE_FILE)) {
35
+ return fs.readFileSync(CACHE_FILE, 'utf-8').trim();
36
+ }
37
+ }
38
+ catch {
39
+ return null;
40
+ }
41
+ return null;
42
+ }
43
+ export function saveSha(sha) {
44
+ try {
45
+ ensureCacheDir();
46
+ fs.writeFileSync(CACHE_FILE, sha, 'utf-8');
47
+ }
48
+ catch (error) {
49
+ console.error('Erro ao salvar SHA:', error);
50
+ }
51
+ }
52
+ export async function fetchLatestCommit() {
53
+ try {
54
+ const headers = {
55
+ 'Accept': 'application/vnd.github.v3+json',
56
+ 'User-Agent': 'mcp-tailwindcss-updater',
57
+ };
58
+ if (process.env.GITHUB_TOKEN) {
59
+ headers['Authorization'] = `token ${process.env.GITHUB_TOKEN}`;
60
+ }
61
+ const response = await fetch(GITHUB_API_URL, { headers });
62
+ if (!response.ok) {
63
+ throw new Error(`GitHub API error: ${response.status}`);
64
+ }
65
+ const commits = await response.json();
66
+ if (commits.length === 0)
67
+ return null;
68
+ const commit = commits[0];
69
+ return {
70
+ sha: commit.sha,
71
+ message: commit.commit.message.split('\n')[0],
72
+ date: commit.commit.committer.date,
73
+ author: commit.commit.author.name,
74
+ };
75
+ }
76
+ catch (error) {
77
+ console.error('Erro ao buscar commit:', error);
78
+ return null;
79
+ }
80
+ }
81
+ export function isGitRepository() {
82
+ const gitDir = path.join(TAILWIND_DIR, '.git');
83
+ return fs.existsSync(gitDir);
84
+ }
85
+ export function hasTailwindSrc() {
86
+ return fs.existsSync(TAILWIND_SRC_PATH);
87
+ }
88
+ export function cloneRepository() {
89
+ try {
90
+ const parentDir = path.dirname(TAILWIND_DIR);
91
+ if (!fs.existsSync(parentDir)) {
92
+ fs.mkdirSync(parentDir, { recursive: true });
93
+ }
94
+ if (!fs.existsSync(TAILWIND_DIR)) {
95
+ console.error('📥 Baixando repositório tailwindcss...');
96
+ execSync(`git clone --depth 1 https://github.com/${GITHUB_REPO}.git "${TAILWIND_DIR}"`, {
97
+ stdio: 'pipe',
98
+ });
99
+ console.error('✅ Repositório baixado com sucesso!');
100
+ return true;
101
+ }
102
+ return false;
103
+ }
104
+ catch (error) {
105
+ console.error('Erro ao clonar repositório:', error);
106
+ return false;
107
+ }
108
+ }
109
+ export function pullRepository() {
110
+ try {
111
+ const output = execSync('git pull origin main', {
112
+ cwd: TAILWIND_DIR,
113
+ encoding: 'utf-8',
114
+ stdio: 'pipe',
115
+ });
116
+ return { success: true, output };
117
+ }
118
+ catch (error) {
119
+ return { success: false, output: error instanceof Error ? error.message : String(error) };
120
+ }
121
+ }
122
+ export function getLocalCommitSha() {
123
+ try {
124
+ const sha = execSync('git rev-parse HEAD', {
125
+ cwd: TAILWIND_DIR,
126
+ encoding: 'utf-8',
127
+ stdio: 'pipe',
128
+ });
129
+ return sha.trim();
130
+ }
131
+ catch {
132
+ return null;
133
+ }
134
+ }
135
+ export async function ensureRepository() {
136
+ const srcPath = getTailwindSrcPath();
137
+ if (hasTailwindSrc()) {
138
+ return { success: true, path: srcPath };
139
+ }
140
+ console.error('🔍 Repositório tailwindcss não encontrado. Iniciando download...');
141
+ const cloned = cloneRepository();
142
+ if (cloned && hasTailwindSrc()) {
143
+ const sha = getLocalCommitSha();
144
+ if (sha)
145
+ saveSha(sha);
146
+ return { success: true, path: srcPath };
147
+ }
148
+ return {
149
+ success: false,
150
+ path: srcPath,
151
+ error: 'Falha ao baixar repositório. Verifique sua conexão e se o git está instalado.'
152
+ };
153
+ }
154
+ export async function checkAndUpdate() {
155
+ try {
156
+ const repoStatus = await ensureRepository();
157
+ if (!repoStatus.success) {
158
+ return { updated: false, error: repoStatus.error };
159
+ }
160
+ if (!isGitRepository()) {
161
+ return { updated: false, error: 'Diretório não é um repositório git válido' };
162
+ }
163
+ const latestCommit = await fetchLatestCommit();
164
+ if (!latestCommit) {
165
+ return { updated: false, error: 'Não foi possível obter informações do GitHub' };
166
+ }
167
+ const savedSha = getLastSavedSha();
168
+ const localSha = getLocalCommitSha();
169
+ if (latestCommit.sha !== localSha) {
170
+ const pullResult = pullRepository();
171
+ if (pullResult.success) {
172
+ saveSha(latestCommit.sha);
173
+ return {
174
+ updated: true,
175
+ previousSha: localSha || savedSha || undefined,
176
+ currentSha: latestCommit.sha,
177
+ commitMessage: latestCommit.message,
178
+ commitDate: latestCommit.date,
179
+ };
180
+ }
181
+ else {
182
+ return { updated: false, error: pullResult.output };
183
+ }
184
+ }
185
+ return {
186
+ updated: false,
187
+ currentSha: latestCommit.sha,
188
+ commitMessage: 'Repositório já está atualizado',
189
+ };
190
+ }
191
+ catch (error) {
192
+ return { updated: false, error: error instanceof Error ? error.message : String(error) };
193
+ }
194
+ }
195
+ export async function checkForUpdates() {
196
+ try {
197
+ const latestCommit = await fetchLatestCommit();
198
+ const localSha = getLocalCommitSha();
199
+ if (!latestCommit) {
200
+ return { hasUpdate: false };
201
+ }
202
+ return {
203
+ hasUpdate: latestCommit.sha !== localSha,
204
+ currentSha: localSha || undefined,
205
+ latestSha: latestCommit.sha,
206
+ latestCommit,
207
+ };
208
+ }
209
+ catch {
210
+ return { hasUpdate: false };
211
+ }
212
+ }
213
+ export function scheduleUpdateCheck(intervalMs = 60 * 60 * 1000, onUpdate) {
214
+ return setInterval(async () => {
215
+ const result = await checkAndUpdate();
216
+ if (result.updated) {
217
+ console.error(`✅ Tailwind CSS atualizado: ${result.currentSha?.substring(0, 7)}`);
218
+ onUpdate?.(result);
219
+ }
220
+ else if (result.error) {
221
+ console.error(`❌ Erro na atualização: ${result.error}`);
222
+ }
223
+ }, intervalMs);
224
+ }
225
+ export async function getRepositoryStatus() {
226
+ const localSha = getLocalCommitSha();
227
+ const latestCommit = await fetchLatestCommit();
228
+ return {
229
+ isValid: isGitRepository(),
230
+ localSha: localSha || undefined,
231
+ remoteSha: latestCommit?.sha,
232
+ hasUpdates: latestCommit ? latestCommit.sha !== localSha : false,
233
+ lastCheck: new Date().toISOString(),
234
+ repoPath: TAILWIND_DIR,
235
+ };
236
+ }
237
+ //# sourceMappingURL=auto-updater.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-updater.js","sourceRoot":"","sources":["../src/auto-updater.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}