String.is est une boîte à outils open source et conviviale pour les développeurs. Vous pouvez le voir en action ici.

String.is est un outil de conversion d'opinion, avec les objectifs suivants:
String.is a été confirmé pour fonctionner sur Chrome, Safari, Firefox et Edge. Internet Explorer n'est pas pris en charge.
Installez les dépendances:
yarn installConfigurez les crochets Git:
yarn husky installExécutez le serveur de développement:
yarn dev... puis ouvrez http: // localhost: 3000 dans votre navigateur.
Pour effectuer tous les contrôles de liaison, tapez les chèques, les tests et la construction pour la production:
yarn allConstruisez l'image Docker:
yarn docker-buildou
docker build -t string-is .... puis exécutez-le:
yarn docker-runou
docker run -p 3000:3000 string-is Vous pouvez également construire et l'exécuter avec docker-compose :
docker-compose up... ou même l'exécutez directement à partir de Docker Hub:
docker run -p 3000:3000 daveperrett/string-is:latest Actuellement, les plates-formes linux/arm64 et linux/amd64 sont prises en charge.
Le dossier src/lib contient la majeure partie de la logique de conversion et est pur dyscript, sans aucune connaissance de réaction requise.
src/lib/identities contient des identificateurs qui prennent une chaîne d'entrée et renvoient le niveau de confiance que l'entrée est dans un format particulier. Par exemple, JwtIdentifier renvoie un nombre indiquant le niveau de confiance (entre 0 et 100) qu'une chaîne d'entrée donnée est un jeton JWT.src/lib/inputs contient des analyseurs qui chargent des chaînes de différents formats. Par exemple, le JsonInput analyse une chaîne JSON et renvoie un objet.src/lib/outputs prend des données analysées et les formats dans un format de sortie spécifique. Par exemple, JavaScriptOutput prend une chaîne JavaScript, le formate en fonction des options de formatage fournies et renvoie le résultat.src/lib/converters sont des paires d'entrée → de sortie - la colle qui effectue une conversion entre les formats. Par exemple, CsvToJsonConverter prend une chaîne CSV en entrée, l'alimente dans le CsvInput pour l'analyse et tut le résultat dans le JsonOutput pour le formatage.Pour ajouter un nouveau convertisseur:
identity (sous SRC / LIB / Identities) pour le format From . Dans ce cas, nous nous convertissons à partir de texte brut, et nous avons déjà une simplicité, nous n'avons donc pas besoin d'ajouter une nouvelle identité. Une identity doit exporter (a) une fonction confidence qui, étant donné une chaîne d'entrée, renvoie un nombre sur 100 décrivant la confiance que l'entrée donnée correspond à l'identité, et (b) un tableau de converters avec lesquels l'identité peut être utilisée.identity à l'étape (2), assurez-vous de l'exporter dans SRC / LIB / Identities / Index.ts.output (sous SRC / LIB / Sorties) pour le format TO . Une sortie doit exporter une fonction output qui, étant donné une chaîne d'entrée (ou éventuellement l'objet, en fonction de la conversion qui se déroule) et un objet options , convertira l'entrée en chaîne de sortie souhaitée.output à l'étape (4), assurez-vous de l'exporter dans SRC / LIB / SORTIES / INDEX.TS.converter (sous SRC / LIB / Convertisseurs) pour la paire input + output . Un convertisseur doit exporter (a) une fonction operation qui passe la chaîne d'entrée et un objet options à la output appropriée, et (b) un outputId , qui définit quelle sortie est utilisée.converter à l'étape (6), assurez-vous de l'exporter dans SRC / Lib / Converters / Index.ts. Assurez-vous également d'ajouter des entrées aux localités / en / pages-Converter.json] afin que la page de destination générée automatiquement ait le titre, le texte d'introduction correct et l'exemple.outputId à l'étape (6), ajoutez un composant de sortie React (sous Src / Components / Domain / Convert / Sorties) pour rendre le nouveau type de sortie. Si vous réutilisez un type de sortie existant (par exemple, la conversion en JSON ou YAML), vous pouvez réutiliser un composant de sortie existant ici. Si les inputs , outputs , converters et composants de réaction appropriés sont en place et exportés correctement, vous devriez être en mesure d'utiliser votre nouveau convertisseur, compte tenu de la chaîne d'entrée appropriée qui déclenche une confidence non nulle.
Si vous souhaitez être sûr à 100% que votre confidentialité est protégée, vous pouvez facilement configurer une chaîne.
Le moyen le plus rapide de déployer String. Est d'utiliser la plate-forme Vercel (elle est gratuite pour une utilisation non commerciale). Consultez leur documentation de déploiement Next.js pour plus de détails. Cliquez sur le bouton Deploy ci-dessous pour déployer cette application avec Vercel:
Netlify et Heroku sont également de bonnes options pour l'hébergement gratuit. Cliquez sur le bouton Deploy ci-dessous pour déployer cette application avec Heroku:
Malheureusement, String.is ne prend pas en charge les builds statiques via next export (qui permettrait d'héberger sur EG. S3), car la fonctionnalité i18n qu'il utilise n'est pas actuellement prise en charge pour les versions statiques.
Définissez la variable d'environnement NEXT_PUBLIC_BASE_PATH sur le sous-chemin, puis créez le projet avant le déploiement. Cette valeur doit être définie au moment de la construction et ne peut pas être modifiée sans reconstruction car la valeur est inclinée dans les groupes côté client.
Par exemple, si vous déployez sur https://tools.example.com/string-is , vous devrez définir NEXT_PUBLIC_BASE_PATH vers /string-is . Vous n'avez pas besoin de définir cette variable si vous déployez sur la racine d'un domaine.
Construisez et exécutez avec Docker:
docker build -t string-is --build-arg NEXT_PUBLIC_BASE_PATH= " /string-is " .
docker run -p 3000:3000 string-is Ou construire et exécuter avec docker-compose :
export NEXT_PUBLIC_BASE_PATH= " /string-is "
docker-compose up --build String.is prend en charge la localisation complète. De nouvelles langues doivent être ajoutées dans le format locales/ local au format JSON (voir locales/en/ pour un exemple). L'anglais est actuellement le seul paramètre local, mais la prise en charge de nouvelles langues est la bienvenue.
String.is comprend la prise en charge de l'analyse plausible, un service d'analyse sans cookie convivial et sans cookie. Pour l'activer, définissez une variable d'environnement spécifiant le domaine:
NEXT_PUBLIC_ANALYTICS_DOMAIN=string.is
L'analytique est désactivée par défaut, sauf si process.env.NODE_ENV === 'production' et un domaine NEXT_PUBLIC_ANALYTICS_DOMAIN est défini.
Une fois que vous avez apporté vos modifications:
git checkout -b feature/add-my-new-convertergit push origin feature/add-my-new-converter@DaveMetrics
Voir la licence pour plus de détails.