@frontfriend/tailwind 4.0.6 → 4.0.8

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../lib/core/constants.js", "../../../lib/core/credentials.js"],
4
- "sourcesContent": ["/**\n * Configuration constants for FrontFriend Tailwind v2\n */\n\n// API Configuration\nconst DEFAULT_API_URL = 'https://app.frontfriend.dev';\nconst LEGACY_API_URL = 'https://registry-legacy.frontfriend.dev';\n\n// Cache Configuration\nconst CACHE_DIR_NAME = '.cache/frontfriend';\nconst CACHE_TTL_DAYS = 7;\nconst CACHE_TTL_MS = CACHE_TTL_DAYS * 24 * 60 * 60 * 1000;\n\n// File names\nconst CACHE_FILES = {\n JS: [\n 'tokens.js',\n 'variables.js',\n 'semanticVariables.js',\n 'semanticDarkVariables.js',\n 'safelist.js',\n 'custom.js'\n ],\n JSON: [\n 'fonts.json',\n 'icons.json',\n 'components-config.json',\n 'version.json',\n 'metadata.json'\n ]\n};\n\n// Environment variables\nconst ENV_VARS = {\n FF_ID: 'FF_ID',\n FF_API_URL: 'FF_API_URL',\n FF_USE_LOCAL: 'FF_USE_LOCAL',\n FF_AUTH_TOKEN: 'FF_AUTH_TOKEN'\n};\n\nmodule.exports = {\n DEFAULT_API_URL,\n LEGACY_API_URL,\n CACHE_DIR_NAME,\n CACHE_TTL_DAYS,\n CACHE_TTL_MS,\n CACHE_FILES,\n ENV_VARS\n};", "const fs = require('fs');\nconst path = require('path');\nconst os = require('os');\nconst https = require('https');\nconst http = require('http');\nconst { URL } = require('url');\nconst { DEFAULT_API_URL } = require('./constants');\n\nconst CREDENTIALS_DIR = path.join(os.homedir(), '.frontfriend');\nconst CREDENTIALS_PATH = path.join(CREDENTIALS_DIR, 'credentials');\n\nfunction getCredentialsPath() {\n return CREDENTIALS_PATH;\n}\n\nfunction readCredentials() {\n try {\n if (!fs.existsSync(CREDENTIALS_PATH)) return null;\n return JSON.parse(fs.readFileSync(CREDENTIALS_PATH, 'utf8'));\n } catch {\n return null;\n }\n}\n\nfunction writeCredentials(credentials) {\n fs.mkdirSync(CREDENTIALS_DIR, { recursive: true, mode: 0o700 });\n fs.writeFileSync(CREDENTIALS_PATH, `${JSON.stringify(credentials, null, 2)}\\n`, { mode: 0o600 });\n try {\n fs.chmodSync(CREDENTIALS_PATH, 0o600);\n } catch {\n // Best effort on platforms that do not support chmod.\n }\n}\n\nfunction deleteCredentials() {\n if (fs.existsSync(CREDENTIALS_PATH)) {\n fs.unlinkSync(CREDENTIALS_PATH);\n return true;\n }\n return false;\n}\n\nfunction isExpired(credentials, skewMs = 60 * 1000) {\n return !credentials?.accessToken || !credentials.expiresAt || Date.now() + skewMs >= credentials.expiresAt;\n}\n\nfunction postJson(url, body, authToken) {\n return new Promise((resolve, reject) => {\n const parsedUrl = new URL(url);\n const protocol = parsedUrl.protocol === 'https:' ? https : http;\n const payload = JSON.stringify(body || {});\n const request = protocol.request({\n hostname: parsedUrl.hostname,\n port: parsedUrl.port,\n path: `${parsedUrl.pathname}${parsedUrl.search}`,\n method: 'POST',\n headers: {\n 'content-type': 'application/json',\n 'content-length': Buffer.byteLength(payload),\n ...(authToken ? { authorization: `Bearer ${authToken}` } : {}),\n },\n }, response => {\n let data = '';\n response.on('data', chunk => { data += chunk; });\n response.on('end', () => {\n let parsed = null;\n try {\n parsed = data ? JSON.parse(data) : null;\n } catch (error) {\n reject(error);\n return;\n }\n if (response.statusCode >= 400) {\n const error = new Error(parsed?.error_description || parsed?.error || `HTTP ${response.statusCode}`);\n error.statusCode = response.statusCode;\n error.body = parsed;\n reject(error);\n return;\n }\n resolve(parsed);\n });\n });\n request.on('error', reject);\n request.write(payload);\n request.end();\n });\n}\n\nasync function refreshCredentials(credentials, baseURL = DEFAULT_API_URL) {\n if (!credentials?.refreshToken || !credentials?.deviceId) return credentials;\n const response = await postJson(`${baseURL}/api/plugin/token`, {\n grant_type: 'refresh_token',\n refresh_token: credentials.refreshToken,\n device_id: credentials.deviceId,\n });\n\n const refreshed = {\n accessToken: response.access_token,\n refreshToken: response.refresh_token,\n deviceId: response.device_id || credentials.deviceId,\n expiresAt: Date.now() + (response.expires_in || 900) * 1000,\n refreshExpiresAt: Date.now() + (response.refresh_expires_in || 604800) * 1000,\n ffApiUrl: baseURL,\n };\n writeCredentials(refreshed);\n return refreshed;\n}\n\nasync function resolveAuthToken(options = {}) {\n if (!options.skipCredentials) {\n const credentials = readCredentials();\n if (credentials?.accessToken) {\n const baseURL = options.baseURL || credentials.ffApiUrl || DEFAULT_API_URL;\n if (isExpired(credentials)) {\n try {\n const refreshed = await refreshCredentials(credentials, baseURL);\n return refreshed?.accessToken || null;\n } catch (error) {\n return null;\n }\n }\n return credentials.accessToken;\n }\n }\n\n if (options.envToken) return options.envToken;\n if (options.legacyToken) {\n if (!options.silent) {\n console.warn('\u26A0\uFE0F auth-token in frontfriend.config.js is deprecated. Run `frontfriend login` to store credentials outside the repo.');\n }\n return options.legacyToken;\n }\n return null;\n}\n\nmodule.exports = {\n getCredentialsPath,\n readCredentials,\n writeCredentials,\n deleteCredentials,\n isExpired,\n postJson,\n refreshCredentials,\n resolveAuthToken,\n};\n"],
5
- "mappings": "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",
6
- "names": ["require_constants", "__commonJSMin", "exports", "module", "DEFAULT_API_URL", "LEGACY_API_URL", "CACHE_DIR_NAME", "CACHE_FILES", "ENV_VARS", "fs", "path", "os", "https", "http", "URL", "DEFAULT_API_URL", "CREDENTIALS_DIR", "CREDENTIALS_PATH", "getCredentialsPath", "readCredentials", "writeCredentials", "credentials", "deleteCredentials", "isExpired", "skewMs", "postJson", "url", "body", "authToken", "resolve", "reject", "parsedUrl", "protocol", "payload", "request", "response", "data", "chunk", "parsed", "error", "refreshCredentials", "baseURL", "refreshed", "resolveAuthToken", "options"]
4
+ "sourcesContent": ["/**\n * Configuration constants for FrontFriend Tailwind v2\n */\n\n// API Configuration\nconst DEFAULT_API_URL = 'https://app.frontfriend.dev';\nconst LEGACY_API_URL = 'https://registry-legacy.frontfriend.dev';\n\n// Cache Configuration\nconst CACHE_DIR_NAME = '.cache/frontfriend';\nconst CACHE_TTL_DAYS = 7;\nconst CACHE_TTL_MS = CACHE_TTL_DAYS * 24 * 60 * 60 * 1000;\n\n// File names\nconst CACHE_FILES = {\n JS: [\n 'tokens.js',\n 'variables.js',\n 'semanticVariables.js',\n 'semanticDarkVariables.js',\n 'safelist.js',\n 'custom.js'\n ],\n JSON: [\n 'fonts.json',\n 'icons.json',\n 'components-config.json',\n 'version.json',\n 'metadata.json'\n ]\n};\n\n// Environment variables\nconst ENV_VARS = {\n FF_ID: 'FF_ID',\n FF_API_URL: 'FF_API_URL',\n FF_USE_LOCAL: 'FF_USE_LOCAL',\n FF_AUTH_TOKEN: 'FF_AUTH_TOKEN'\n};\n\nmodule.exports = {\n DEFAULT_API_URL,\n LEGACY_API_URL,\n CACHE_DIR_NAME,\n CACHE_TTL_DAYS,\n CACHE_TTL_MS,\n CACHE_FILES,\n ENV_VARS\n};", "const fs = require('fs');\nconst path = require('path');\nconst os = require('os');\nconst https = require('https');\nconst http = require('http');\nconst { URL } = require('url');\nconst { DEFAULT_API_URL } = require('./constants');\n\nconst CREDENTIALS_DIR = path.join(os.homedir(), '.frontfriend');\nconst CREDENTIALS_PATH = path.join(CREDENTIALS_DIR, 'credentials');\n\nfunction getCredentialsPath() {\n return CREDENTIALS_PATH;\n}\n\nfunction readCredentials() {\n try {\n if (!fs.existsSync(CREDENTIALS_PATH)) return null;\n return JSON.parse(fs.readFileSync(CREDENTIALS_PATH, 'utf8'));\n } catch {\n return null;\n }\n}\n\nfunction writeCredentials(credentials) {\n fs.mkdirSync(CREDENTIALS_DIR, { recursive: true, mode: 0o700 });\n fs.writeFileSync(CREDENTIALS_PATH, `${JSON.stringify(credentials, null, 2)}\\n`, { mode: 0o600 });\n try {\n fs.chmodSync(CREDENTIALS_PATH, 0o600);\n } catch {\n // Best effort on platforms that do not support chmod.\n }\n}\n\nfunction deleteCredentials() {\n if (fs.existsSync(CREDENTIALS_PATH)) {\n fs.unlinkSync(CREDENTIALS_PATH);\n return true;\n }\n return false;\n}\n\nfunction isExpired(credentials, skewMs = 60 * 1000) {\n return !credentials?.accessToken || !credentials.expiresAt || Date.now() + skewMs >= credentials.expiresAt;\n}\n\nfunction createAuthRefreshError(message) {\n const error = new Error(`${message}. Run \\`frontfriend login\\` to re-authenticate.`);\n error.code = 'FF_AUTH_REFRESH_FAILED';\n return error;\n}\n\nfunction postJson(url, body, authToken) {\n return new Promise((resolve, reject) => {\n const parsedUrl = new URL(url);\n const protocol = parsedUrl.protocol === 'https:' ? https : http;\n const payload = JSON.stringify(body || {});\n const request = protocol.request({\n hostname: parsedUrl.hostname,\n port: parsedUrl.port,\n path: `${parsedUrl.pathname}${parsedUrl.search}`,\n method: 'POST',\n headers: {\n 'content-type': 'application/json',\n 'content-length': Buffer.byteLength(payload),\n ...(authToken ? { authorization: `Bearer ${authToken}` } : {}),\n },\n }, response => {\n let data = '';\n response.on('data', chunk => { data += chunk; });\n response.on('end', () => {\n if (response.statusCode >= 300 && response.statusCode < 400) {\n const redirectUrl = response.headers.location ? ` to ${response.headers.location}` : '';\n const error = new Error(`HTTP ${response.statusCode}: redirected${redirectUrl}`);\n error.statusCode = response.statusCode;\n error.body = data;\n reject(error);\n return;\n }\n\n let parsed = null;\n try {\n parsed = data ? JSON.parse(data) : null;\n } catch (error) {\n if (response.statusCode >= 400) {\n const httpError = new Error(`HTTP ${response.statusCode}: ${response.statusMessage || 'Non-JSON response'}`);\n httpError.statusCode = response.statusCode;\n httpError.body = data;\n reject(httpError);\n return;\n }\n reject(error);\n return;\n }\n if (response.statusCode >= 400) {\n const error = new Error(parsed?.error_description || parsed?.error || `HTTP ${response.statusCode}`);\n error.statusCode = response.statusCode;\n error.body = parsed;\n reject(error);\n return;\n }\n resolve(parsed);\n });\n });\n request.on('error', reject);\n request.write(payload);\n request.end();\n });\n}\n\nasync function refreshCredentials(credentials, baseURL = DEFAULT_API_URL) {\n if (!credentials?.refreshToken || !credentials?.deviceId) {\n throw createAuthRefreshError('FrontFriend session expired');\n }\n\n let response;\n try {\n response = await postJson(`${baseURL}/api/plugin/token`, {\n grant_type: 'refresh_token',\n refresh_token: credentials.refreshToken,\n device_id: credentials.deviceId,\n });\n } catch (error) {\n throw createAuthRefreshError(error?.message || 'Could not refresh FrontFriend session');\n }\n\n if (!response?.access_token || !response?.refresh_token) {\n throw createAuthRefreshError('Could not refresh FrontFriend session');\n }\n\n const refreshed = {\n accessToken: response.access_token,\n refreshToken: response.refresh_token,\n deviceId: response.device_id || credentials.deviceId,\n expiresAt: Date.now() + (response.expires_in || 900) * 1000,\n refreshExpiresAt: Date.now() + (response.refresh_expires_in || 604800) * 1000,\n ffApiUrl: baseURL,\n };\n writeCredentials(refreshed);\n return refreshed;\n}\n\nasync function resolveAuthToken(options = {}) {\n if (!options.skipCredentials) {\n const credentials = readCredentials();\n if (credentials?.accessToken || credentials?.refreshToken) {\n const baseURL = options.baseURL || credentials.ffApiUrl || DEFAULT_API_URL;\n if (credentials.accessToken && !isExpired(credentials)) {\n return credentials.accessToken;\n }\n const refreshed = await refreshCredentials(credentials, baseURL);\n return refreshed.accessToken;\n }\n }\n\n if (options.envToken) return options.envToken;\n if (options.legacyToken) {\n if (!options.silent) {\n console.warn('\u26A0\uFE0F auth-token in frontfriend.config.js is deprecated. Run `frontfriend login` to store credentials outside the repo.');\n }\n return options.legacyToken;\n }\n return null;\n}\n\nmodule.exports = {\n getCredentialsPath,\n readCredentials,\n writeCredentials,\n deleteCredentials,\n isExpired,\n postJson,\n refreshCredentials,\n resolveAuthToken,\n createAuthRefreshError,\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["require_constants", "__commonJSMin", "exports", "module", "DEFAULT_API_URL", "LEGACY_API_URL", "CACHE_DIR_NAME", "CACHE_FILES", "ENV_VARS", "fs", "path", "os", "https", "http", "URL", "DEFAULT_API_URL", "CREDENTIALS_DIR", "CREDENTIALS_PATH", "getCredentialsPath", "readCredentials", "writeCredentials", "credentials", "deleteCredentials", "isExpired", "skewMs", "createAuthRefreshError", "message", "error", "postJson", "url", "body", "authToken", "resolve", "reject", "parsedUrl", "protocol", "payload", "request", "response", "data", "chunk", "redirectUrl", "parsed", "httpError", "refreshCredentials", "baseURL", "refreshed", "resolveAuthToken", "options"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frontfriend/tailwind",
3
- "version": "4.0.6",
3
+ "version": "4.0.8",
4
4
  "description": "Design token management for Tailwind CSS",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/types/index.d.ts",