@moontra/moonui-pro 3.3.1 → 3.3.3
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/package.json +1 -1
- package/scripts/postinstall.cjs +35 -1
- package/scripts/validate-license.cjs +53 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@moontra/moonui-pro",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.3",
|
|
4
4
|
"description": "Premium React components for MoonUI - Advanced UI library with 50+ pro components including performance, interactive, and gesture components",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.mjs",
|
package/scripts/postinstall.cjs
CHANGED
|
@@ -17,9 +17,24 @@ const CACHE_DURATION = 30 * 24 * 60 * 60 * 1000; // 30 days in milliseconds
|
|
|
17
17
|
|
|
18
18
|
// Detect if we're in production environment
|
|
19
19
|
function isProduction() {
|
|
20
|
+
// Enhanced Vercel detection
|
|
21
|
+
const vercelIndicators = {
|
|
22
|
+
VERCEL: process.env.VERCEL === '1',
|
|
23
|
+
VERCEL_ENV: !!process.env.VERCEL_ENV,
|
|
24
|
+
VERCEL_URL: !!process.env.VERCEL_URL,
|
|
25
|
+
VERCEL_GIT_COMMIT_SHA: !!process.env.VERCEL_GIT_COMMIT_SHA,
|
|
26
|
+
VERCEL_GIT_COMMIT_REF: !!process.env.VERCEL_GIT_COMMIT_REF
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const isVercel = Object.values(vercelIndicators).some(Boolean);
|
|
30
|
+
|
|
31
|
+
if (isVercel) {
|
|
32
|
+
console.log('[MoonUI Pro] Vercel environment detected:', vercelIndicators);
|
|
33
|
+
}
|
|
34
|
+
|
|
20
35
|
return (
|
|
21
36
|
process.env.NODE_ENV === 'production' ||
|
|
22
|
-
|
|
37
|
+
isVercel ||
|
|
23
38
|
process.env.NETLIFY === 'true' ||
|
|
24
39
|
process.env.CI === 'true' ||
|
|
25
40
|
process.env.MOONUI_AUTH_TOKEN // Special token for CI/CD
|
|
@@ -213,6 +228,19 @@ function saveLicenseToken(token) {
|
|
|
213
228
|
|
|
214
229
|
// Main postinstall logic
|
|
215
230
|
async function main() {
|
|
231
|
+
console.log('[MoonUI Pro] === POSTINSTALL SCRIPT STARTED ===');
|
|
232
|
+
console.log('[MoonUI Pro] Environment:', {
|
|
233
|
+
NODE_ENV: process.env.NODE_ENV,
|
|
234
|
+
VERCEL: process.env.VERCEL,
|
|
235
|
+
VERCEL_ENV: process.env.VERCEL_ENV,
|
|
236
|
+
VERCEL_URL: process.env.VERCEL_URL,
|
|
237
|
+
NETLIFY: process.env.NETLIFY,
|
|
238
|
+
CI: process.env.CI,
|
|
239
|
+
MOONUI_AUTH_TOKEN: !!process.env.MOONUI_AUTH_TOKEN,
|
|
240
|
+
MOONUI_LICENSE_KEY: !!process.env.MOONUI_LICENSE_KEY,
|
|
241
|
+
PWD: process.cwd()
|
|
242
|
+
});
|
|
243
|
+
|
|
216
244
|
try {
|
|
217
245
|
// Only run in production environments
|
|
218
246
|
if (!isProduction()) {
|
|
@@ -288,10 +316,16 @@ async function main() {
|
|
|
288
316
|
|
|
289
317
|
// Run if called directly (not imported)
|
|
290
318
|
if (require.main === module) {
|
|
319
|
+
console.log('[MoonUI Pro] PostInstall script invoked');
|
|
291
320
|
main().catch(error => {
|
|
292
321
|
console.error('[MoonUI Pro] Unexpected error:', error);
|
|
322
|
+
console.error('[MoonUI Pro] Stack trace:', error.stack);
|
|
293
323
|
process.exit(0); // Don't fail npm install
|
|
324
|
+
}).finally(() => {
|
|
325
|
+
console.log('[MoonUI Pro] === POSTINSTALL SCRIPT FINISHED ===');
|
|
294
326
|
});
|
|
327
|
+
} else {
|
|
328
|
+
console.log('[MoonUI Pro] PostInstall script loaded as module');
|
|
295
329
|
}
|
|
296
330
|
|
|
297
331
|
module.exports = { validateLicense, saveLicenseToken, isProduction };
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* MoonUI Pro License Validation Script
|
|
5
|
+
* Can be called from build scripts or directly
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
const postinstall = require('./postinstall.cjs');
|
|
9
|
+
|
|
10
|
+
// Force production mode for validation
|
|
11
|
+
process.env.NODE_ENV = 'production';
|
|
12
|
+
|
|
13
|
+
console.log('[MoonUI Pro] Running license validation from build script...');
|
|
14
|
+
|
|
15
|
+
async function validate() {
|
|
16
|
+
try {
|
|
17
|
+
const licenseKey = process.env.MOONUI_LICENSE_KEY ||
|
|
18
|
+
process.env.NEXT_PUBLIC_MOONUI_LICENSE_KEY ||
|
|
19
|
+
process.env.VITE_MOONUI_LICENSE_KEY ||
|
|
20
|
+
process.env.REACT_APP_MOONUI_LICENSE_KEY;
|
|
21
|
+
|
|
22
|
+
if (!licenseKey) {
|
|
23
|
+
console.log('[MoonUI Pro] No license key found in environment variables');
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
console.log('[MoonUI Pro] Found license key, validating...');
|
|
28
|
+
|
|
29
|
+
// Use the validation function from postinstall
|
|
30
|
+
const result = await postinstall.validateLicense(licenseKey);
|
|
31
|
+
|
|
32
|
+
if (result && result.valid && result.hasProAccess) {
|
|
33
|
+
console.log('[MoonUI Pro] License validated successfully via build script');
|
|
34
|
+
|
|
35
|
+
const token = {
|
|
36
|
+
valid: true,
|
|
37
|
+
hasProAccess: result.hasProAccess,
|
|
38
|
+
plan: result.plan || 'pro',
|
|
39
|
+
expiresAt: Date.now() + (30 * 24 * 60 * 60 * 1000),
|
|
40
|
+
timestamp: Date.now()
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
postinstall.saveLicenseToken(token);
|
|
44
|
+
} else {
|
|
45
|
+
console.log('[MoonUI Pro] License validation failed via build script');
|
|
46
|
+
}
|
|
47
|
+
} catch (error) {
|
|
48
|
+
console.error('[MoonUI Pro] Error during build validation:', error);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// Run validation
|
|
53
|
+
validate();
|