UNPKG

autoft-qris

Version:

Package untuk generate QRIS dengan 2 tema (Biru & Hijau) dan cek payment status secara realtime dengan API OrderKuota

91 lines (81 loc) • 4.21 kB
import { readFileSync } from 'fs'; import { resolve, dirname } from 'path'; import { fileURLToPath } from 'url'; const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); class DeprecationWarning { static checkNodeVersion() { const nodeVersion = process.version; const currentVersion = nodeVersion.slice(1); const targetVersion = '21.7.3'; if (currentVersion !== targetVersion) { console.log('\n' + '='.repeat(60)); console.log('āš ļø NODE.JS VERSION WARNING!'); console.log('='.repeat(60)); console.log(`šŸ”“ Node.js ${nodeVersion} detected`); console.log('āŒ Chalk package hanya support Node.js 21.7.3'); console.log('šŸ“‹ Solusi:'); console.log(' • Install Node.js 21.7.3 secara spesifik'); console.log(' • Versi lain akan menyebabkan chalk error'); console.log(`šŸ’” Required Node.js version: ${targetVersion}`); console.log('='.repeat(60) + '\n'); return false; } return true; } static async showUpdateNotification() { try { const chalk = await import('chalk'); const packageJsonPath = resolve(__dirname, '../package.json'); const packageData = JSON.parse(readFileSync(packageJsonPath, 'utf8')); const currentVersion = packageData.version; console.log('\n' + '='.repeat(60)); console.log(chalk.default.yellow.bold('šŸš€ UPDATE TERSEDIA!')); console.log('='.repeat(60)); console.log(chalk.default.cyan('šŸ“¦ Package: autoft-qris')); console.log(chalk.default.green(`✨ Versi Terbaru: v${currentVersion}`)); console.log(chalk.default.blue('šŸŽØ Fitur Baru:')); console.log(chalk.default.white(' • 2 Tema QRIS (Default & Meta Style)')); console.log(chalk.default.white(' • ESM & CommonJS Support')); console.log(chalk.default.white(' • Perbaikan performa')); console.log(chalk.default.white(' • API yang lebih bersih')); console.log(chalk.default.yellow('\nšŸ’” Untuk update:')); console.log(chalk.default.white(' npm update autoft-qris')); console.log(chalk.default.gray('\nšŸ“– Dokumentasi lengkap:')); console.log(chalk.default.blue(' https://github.com/AutoFTbot/Qris-OrderKuota')); console.log(chalk.default.magenta('\nšŸ‘Øā€šŸ’» Original Author: AutoFTbot')); console.log(chalk.default.green('šŸ¤ Contributor: AlfiDev')); console.log('='.repeat(60) + '\n'); } catch (error) { console.log('\n' + '='.repeat(60)); console.log('šŸš€ UPDATE TERSEDIA!'); console.log('='.repeat(60)); console.log('šŸ“¦ Package: autoft-qris'); console.log('✨ Versi Terbaru dengan fitur baru!'); console.log('šŸŽØ Fitur Baru:'); console.log(' • 2 Tema QRIS (Default & Meta Style)'); console.log(' • ESM & CommonJS Support'); console.log(' • Perbaikan performa'); console.log(' • API yang lebih bersih'); console.log('\nšŸ’” Untuk update:'); console.log(' npm update autoft-qris'); console.log('\nšŸ“– Dokumentasi lengkap:'); console.log(' https://github.com/AutoFTbot/Qris-OrderKuota'); console.log('\nšŸ‘Øā€šŸ’» Original Author: AutoFTbot'); console.log('šŸ¤ Contributor: AlfiDev'); console.log('='.repeat(60) + '\n'); } } static async checkAndShowWarning() { try { if (process.env.NODE_ENV === 'production') return; if (!this.checkNodeVersion()) return; await this.showUpdateNotification(); } catch (error) { } } } export function checkAndShowWarning() { return DeprecationWarning.checkAndShowWarning(); } export default DeprecationWarning;