String.is es un conjunto de herramientas de código abierto y amigable para la privacidad para desarrolladores. Puedes verlo en acción aquí.

String.is es una herramienta de conversión obstinada, con los siguientes objetivos:
Se ha confirmado que String.is trabaja en Chrome, Safari, Firefox y Edge. Internet Explorer no es compatible.
Instalar dependencias:
yarn installConfigure Git Hooks:
yarn husky installEjecute el servidor de desarrollo:
yarn dev... y luego abra http: // localhost: 3000 en su navegador.
Para ejecutar todas las verificaciones de pelusa, comprobaciones de tipo, pruebas y construir para la producción:
yarn allConstruye la imagen Docker:
yarn docker-buildo
docker build -t string-is .... y luego ejecutarlo:
yarn docker-runo
docker run -p 3000:3000 string-is Alternativamente, puede construirlo y ejecutarlo con docker-compose :
docker-compose up... o incluso ejecutarlo directamente desde Docker Hub:
docker run -p 3000:3000 daveperrett/string-is:latest Actualmente se admiten las plataformas linux/arm64 y linux/amd64 .
La carpeta src/lib contiene la mayor parte de la lógica de conversión, y es puro mecanografiado, sin que reaccione el conocimiento.
src/lib/identities contiene identificadores que toman una cadena de entrada y devuelven el nivel de confianza de que la entrada está en un formato particular. Por ejemplo, JwtIdentifier devuelve un número que indica el nivel de confianza (entre 0 y 100) que una cadena de entrada dada es un token JWT.src/lib/inputs contiene analizadores que cargan cadenas de diferentes formatos. Por ejemplo, el JsonInput analiza una cadena JSON y devuelve un objeto.src/lib/outputs toma datos analizados y los formatea en un formato de salida específico. Por ejemplo, JavaScriptOutput toma una cadena JavaScript, la formatea de acuerdo con las opciones de formato proporcionadas y devuelve el resultado.src/lib/converters son pares de entrada → de salida : el pegamento que realiza una conversión entre formatos. Por ejemplo, CsvToJsonConverter toma una cadena CSV como entrada, la alimenta en el CsvInput para análisis y el resultado en el JsonOutput para el formateo.Para agregar un nuevo convertidor:
identity (bajo SRC/LIB/Identidades) para el formato de FROM . En este caso, estamos convirtiendo el texto plano, y ya tenemos una identidad simple, por lo que no necesitamos agregar una nueva identidad. Una identity debe exportar (a) una función confidence que, dada una cadena de entrada, devuelve un número de 100 que describe la confianza de que la entrada dada coincide con la identidad y (b) una matriz de converters con la que la identidad puede usarse.identity en el paso (2), asegúrese de exportarla en SRC/lib/identidades/index.ts.output (en SRC/lib/salidas) para el formato TO . Una salida debe exportar una función output que, dada una cadena de entrada (o posiblemente objeto, dependiendo de la conversión que tenga lugar) y un objeto options , convertirá la entrada en la cadena de salida deseada.output en el paso (4), asegúrese de exportarla en SRC/lib/salidas/index.ts.converter (en SRC/lib/convertidores) para el par input + output . Un convertidor debe exportar (a) una función operation que pasa la cadena de entrada y un objeto options a la output apropiada, y (b) un outputId , que define qué salida se está utilizando.converter en el paso (6), asegúrese de exportarlo en SRC/lib/convertidores/index.ts. También asegúrese de agregar entradas a locales/EN/Pages-Converter.json] para que la página de destino generada automáticamente tenga el encabezado correcto, el texto de introducción y el ejemplo.outputId en el paso (6), agregue un componente de salida React (en src/componentes/dominio/convert/salidas) para representar el nuevo tipo de salida. Si está reutilizando un tipo de salida existente (por ejemplo, convertir a JSON o YAML), puede reutilizar un componente de salida existente aquí. Si las inputs , outputs , converters y componentes reaccionarios apropiados están en su lugar y exportan correctamente, debería poder usar su nuevo convertidor, dada la cadena de entrada apropiada que desencadena una confidence no cero.
Si desea estar 100% seguro de que su privacidad está protegida, puede configurar fácilmente una instancia de cadena para su propio uso personal u organizacional.
La forma más rápida de implementar String.Is es usar la plataforma Vercel (es gratuita para uso no comercial). Consulte su documentación de implementación Next.js para obtener más detalles. Haga clic en el botón Deploy a continuación para implementar esta aplicación con Vercel.
Netlify y Heroku también son buenas opciones para el alojamiento gratuito. Haga clic en el botón Deploy a continuación para implementar esta aplicación con Heroku:
Desafortunadamente, String.is actualmente no admite compilaciones estáticas a través de next export (lo que permitiría alojamiento en Eg. S3), porque la función i18n que usa no es compatible actualmente para compilaciones estáticas.
Establezca la variable de entorno NEXT_PUBLIC_BASE_PATH en la subpath, luego cree el proyecto antes de implementar. Este valor debe establecerse en el tiempo de compilación y no se puede cambiar sin reconstruir ya que el valor se incluye en los paquetes del lado del cliente.
Por ejemplo, si se está implementando en https://tools.example.com/string-is , deberá establecer NEXT_PUBLIC_BASE_PATH a /string-is . No necesita establecer esta variable si se implementa en la raíz de un dominio.
Construir y ejecutar con Docker:
docker build -t string-is --build-arg NEXT_PUBLIC_BASE_PATH= " /string-is " .
docker run -p 3000:3000 string-is O construir y ejecutar con docker-compose :
export NEXT_PUBLIC_BASE_PATH= " /string-is "
docker-compose up --build String.is admite la localización completa. Se deben agregar nuevos idiomas en los locales/ carpeta en formato JSON (ver locales/en/ para un ejemplo). El inglés es actualmente el único local proporcionado, pero el soporte para nuevos idiomas es bienvenido.
String.is incluye soporte para análisis plausible, un servicio de análisis de privacidad sin cookies sin cookies. Para habilitarlo, establezca una variable de entorno especificando el dominio:
NEXT_PUBLIC_ANALYTICS_DOMAIN=string.is
Analytics está deshabilitado de forma predeterminada a menos que process.env.NODE_ENV === 'production' y se establece un dominio NEXT_PUBLIC_ANALYTICS_DOMAIN .
Una vez que hayas hecho tus cambios:
git checkout -b feature/add-my-new-convertergit push origin feature/add-my-new-converter@Davemetrics
Vea la licencia para más detalles.