diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..2af3b25 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,31 @@ +# Use the latest 2.1 version of CircleCI pipeline process engine. +# See: https://circleci.com/docs/configuration-reference +version: 2.1 + +# Define a job to be invoked later in a workflow. +# See: https://circleci.com/docs/configuration-reference/#jobs +jobs: + test-utf7: + # Specify the execution environment. You can specify an image from Docker Hub or use one of our convenience images from CircleCI's Developer Hub. + # See: https://circleci.com/docs/configuration-reference/#executor-job + docker: + - image: node:lts-slim + # Add steps to the job + # See: https://circleci.com/docs/configuration-reference/#steps + steps: + - checkout + - run: + name: "Install Dependancies" + command: "npm install" + - run: + name: "Run Tests" + command: "npm run test" + - store_test_results: + path: test-results.xml + +# Orchestrate jobs using workflows +# See: https://circleci.com/docs/configuration-reference/#workflows +workflows: + test-utf7-workflow: + jobs: + - test-utf7 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f1ff1af --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +node_modules +package-lock.json +test-results.xml \ No newline at end of file diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000..c007791 --- /dev/null +++ b/.npmignore @@ -0,0 +1,5 @@ +node_modules +package-lock.json +test-results.xml +test +.circleci diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..d113e1f --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,26 @@ +# Contributing to utf7 + +First and foremost, thank you for considering contributing to utf7! We appreciate the effort and value every contribution, no matter how big or small. + +## Submitting Issues + +If you've identified a bug or have a feature request, please open an issue in the repository. When doing so, provide as much detail as possible, including steps to reproduce if applicable. +Before submitting a new issue, please check existing issues to avoid duplicates. + +## Pull Requests + +If you're looking to contribute code, start by forking the repository and creating a new branch for your feature or fix. +Ensure that your code adheres to the existing style and structure of the project. + +Once you've made your changes, submit a pull request. In the PR description, provide a clear summary of the changes and their purpose. + +All pull requests will undergo a review process. Please be patient and address any feedback provided. +Code of Conduct + +We aim to foster an inclusive and respectful community. Please be kind and considerate to others. Any form of harassment or inappropriate behavior will not be tolerated. + +## Questions? + +If you have any questions or need further clarification on any matter, feel free to reach out by opening an issue or contacting the maintainers directly. + +Once again, thank you for your interest in contributing to utf7. Your efforts help make this project better for everyone! \ No newline at end of file diff --git a/LICENSE b/LICENSE.txt similarity index 100% rename from LICENSE rename to LICENSE.txt diff --git a/README.md b/README.md index 3aede04..94ff4a3 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,16 @@ # UTF-7 -[![CircleCI](https://circleci.com/gh/kkaefer/utf7.svg?style=svg)](https://circleci.com/gh/kkaefer/utf7) +[![CircleCI](https://circleci.com/gh/kkaefer/utf7.svg?style=svg)](https://circleci.com/gh/kkaefer/utf7) [![npm](https://img.shields.io/npm/dw/utf7)](https://www.npmjs.com/package/utf7) + +``` bash +npm i utf7 +``` Encodes and decodes JavaScript (Unicode/UCS-2) strings to UTF-7 ASCII strings. It supports two modes: UTF-7 as defined in [RFC 2152](http://tools.ietf.org/html/rfc2152) and Modified UTF-7 as defined by the IMAP standard in [RFC 3501, section 5.1.3](http://tools.ietf.org/html/rfc3501#section-5.1.3) ## Usage -**RFC 2152** +### RFC 2152 ```javascript var utf7 = require('utf7'); @@ -20,7 +24,7 @@ assert.equal('Jyväskylä', decoded); By default, `.encode()` only encodes the default characeters defined in RFC 2152. To also encode optional characters, use `.encodeAll()` or specify the characters you want to encode as the second argument to `.encode()`. -**IMAP (RFC 3501)** +### IMAP (RFC 3501) ```javascript var utf7 = require('utf7').imap; diff --git a/package.json b/package.json index e08cd1d..b8250f4 100644 --- a/package.json +++ b/package.json @@ -1,21 +1,29 @@ { "name": "utf7", - "version": "1.0.2", + "version": "1.0.3", "description": "Converts text to and from UTF-7 (RFC 2152 and IMAP)", "author": "Konstantin Käfer ", "licenses": [ { "type": "BSD" } ], "main": "./utf7", - "dependencies": { - "semver": "~5.3.0" + "semver": "^5.7.2" }, - "devDependencies": { - "tape": "~4.6.0" + "tape": "~4.6.0", + "tap-xunit": "^2.4.1", + "npmrc": "^1.1.1" }, - "scripts": { - "test": "tape test/*.js" - } + "test": "tape test/*.js | tap-xunit > test-results.xml" + }, + "engines": { + "node": ">=10.0.0" + }, + "keywords": [ + "imap", + "mail", + "utf7", + "rfc2152" + ] }