UNPKG

allprofanity

Version:

A blazing-fast, multi-language profanity filter with advanced algorithms (Aho-Corasick, Bloom Filters) delivering 664% faster performance on large texts, intelligent leet-speak detection, and pattern-based context analysis

50 lines (40 loc) 1.82 kB
#!/usr/bin/env node import { readFileSync, writeFileSync, existsSync } from 'fs'; import { fileURLToPath } from 'url'; import { dirname, join } from 'path'; const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); const configFileName = 'allprofanity.config.json'; const schemaFileName = 'config.schema.json'; // Check if config already exists if (existsSync(configFileName)) { console.log(`❌ ${configFileName} already exists in current directory`); console.log(' Delete it first or use a different name'); process.exit(1); } try { // Copy example config to current directory const examplePath = join(__dirname, '..', 'allprofanity.config.example.json'); const schemaPath = join(__dirname, '..', 'config.schema.json'); const configContent = readFileSync(examplePath, 'utf-8'); const schemaContent = readFileSync(schemaPath, 'utf-8'); writeFileSync(configFileName, configContent); writeFileSync(schemaFileName, schemaContent); console.log('✅ AllProfanity configuration files created!'); console.log(''); console.log('Created files:'); console.log(` 📄 ${configFileName} - Main configuration`); console.log(` 📄 ${schemaFileName} - JSON schema for IDE autocomplete`); console.log(''); console.log('Next steps:'); console.log(' 1. Edit allprofanity.config.json to customize settings'); console.log(' 2. Import and use:'); console.log(''); console.log(' import { AllProfanity } from "allprofanity";'); console.log(' import config from "./allprofanity.config.json";'); console.log(' const filter = AllProfanity.fromConfig(config);'); console.log(''); } catch (error) { console.error('❌ Error creating config files:', error.message); process.exit(1); }