Skip to content

Commit

Permalink
init
Browse files Browse the repository at this point in the history
  • Loading branch information
Indian Ocean Roleplay committed Jul 16, 2021
0 parents commit e349f7f
Show file tree
Hide file tree
Showing 11 changed files with 3,653 additions and 0 deletions.
18 changes: 18 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"env": {
"browser": true,
"es2021": true
},
"extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 12,
"sourceType": "module"
},
"plugins": ["@typescript-eslint"],
"rules": {
"sort-keys": "warn",
// disable the rule for all files
"@typescript-eslint/explicit-function-return-type": "warn"
}
}
19 changes: 19 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: passwordx
on:
release:
types: [created]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
# Setup .npmrc file to publish to npm /
- uses: actions/setup-node@v2
with:
node-version: '16.x'
registry-url: 'https://registry.npmjs.org'
- run: npm install
- run: npm run build
- run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
node_modules
build
4 changes: 4 additions & 0 deletions .npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.github
src
.eslintrc.json
tsconfig.json
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2021 Indian Ocean Roleplay

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
78 changes: 78 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# Why passwordx?

Now days, everyone want to generate secure password, but if we go on internet it's hard to find a website that generate password but also does not collect data from you.
You can always trust browsers like edge, chrome etc. they generate passwords for only forms. so we came up with idea that we will provide a tool.
that you can use in your projects for random secure password generate with customized options. you can also install passwordx globally using `npm install -g passwordx`
then you can use in your command line interface (cmd) everywhere to get a secure token or password for personal use, without worry too much.
This is open source project so you can always check out our source code to feel secure about passwordx.

# Installation

## For project

`npm install passwordx` or `yarn add passwordx`

## Global command

`npm install passwordx` or `yarn global add passwordx`

# Example for projects

```typescript
import passwordx from "passwordx";

// without customize it wil generate combination of [a-zA-Z0-9] with length of 8
const securePass = passwordx();
console.log(securePass);

// customize options
// ambiguousCharacters: boolean
// digits: boolean
// length: number
// lowercase: boolean
// similarCharacter: boolean
// symbols: boolean
// uppercase: boolean
const exPass = passwordx({ length: 32, symbols: true });
console.log(securePass);
```

# Example for command line usage

- make sure you have installed passwordx using `npm i -g passwordx`

```typescript
passwordx -l 32

// output
password: 5w9hfBjtttQFzYM27WKtxVxCJhvDDwpZ4J5jD4cCKAfbTgHbaPbc5hsd358k5X9J

// if you wish to generate multiple passwords than just pass -c

passwordx -l 32 -c 4
// output
password 1: sd358k55w9hfBjtttQFzYM27WKtxVxCJhvDDwpZ4J5jD4cCKAfbTgHbaPbc5hX9J
password 2: K7cBxYsadta5ra5tYhRpqzugM7FsfHjZbMseHCw6CNBu4HKPmrUsU5Bs5Neg9JP4
password 3: xGQzvjTdJbp7skAFLswDzJyuNEVbJHk5UMNawAqbLeh75LKVdSuLH6UWKN4Ugvrk
password 4: zkg2Zk9kFaPwPQCHGrf2Q4s33L3XXJb4Fyq89YgbPJuMrTbqRYcaBsVpGtmq5Gch
```

# Options

- you can also read this info in `passwordx --help`

| Name | Description | Pattern | Default |
| ------------------- | -------------------------- | -------------------------- | ------- |
| ambiguousCharacters | Allow ambiguous characters | `` {}[]()/'"`~,;:.<>\ `` | false |
| digits | Allow digits | `23456789` | true |
| length | Password length | | 8 |
| lowercase | Allow lowercase characters | `abcdefghjkmnpqrstuvwxyz` | true |
| similarCharacter | Allow similar characters | `i, l, I, 1, \|, o, O, 0` | false |
| symbols | Allow symbols | `!#$%&\*+-=?@^\_` | false |
| uppercase | Allow uppercase characters | `ABCDEFGHJKLMNPQRSTUVWXYZ` | true |

# We are open for new ideas

you can open issue on our github page with feature request or any kind of improvements

# Thank you for using passwordx
Loading

0 comments on commit e349f7f

Please sign in to comment.