├── .editorconfig ├── .eslintignore ├── .eslintrc ├── .eslintrc.json ├── .gitignore ├── .npmrc ├── .travis.yml ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── cli.js ├── lib ├── browser.js ├── cli.js ├── ndu.js ├── page.js └── server.js ├── package-lock.json ├── package.json └── test └── ndu.test.js /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | charset = utf-8 7 | trim_trailing_whitespace = true 8 | insert_final_newline = true 9 | 10 | [*.md] 11 | trim_trailing_whitespace = false 12 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | .git 3 | examples/ 4 | tmp/ 5 | dist/ 6 | public/ 7 | **/vendor*/ 8 | -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "groupon" 3 | } 4 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "groupon", 3 | "overrides": [ 4 | { 5 | "files": "*.test.js", 6 | "env": { 7 | "mocha": true 8 | } 9 | }, 10 | { 11 | "files": "plurals.js", 12 | "rules": { 13 | "no-unused-vars": "off" 14 | } 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | npm-debug.log 3 | /tmp 4 | coverage 5 | /.nyc_output 6 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | registry=https://registry.npmjs.org 2 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 12 4 | - 14 5 | deploy: 6 | - provider: script 7 | script: ./node_modules/.bin/nlm release 8 | skip_cleanup: true 9 | 'on': 10 | branch: master 11 | node: 14 12 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ### 1.1.4 2 | 3 | * Apply latest nlm generator - **[@markowsiak](https://github.com/markowsiak)** [#9](https://github.com/groupon/ndu/pull/9) 4 | - [`4d1d3e2`](https://github.com/groupon/ndu/commit/4d1d3e2a5c0ead1ce974acbcf688734574561af5) **chore:** Apply latest nlm generator 5 | 6 | 7 | ### 1.1.3 8 | 9 | * docs: Mention `du` requirement - **[@jkrems](https://github.com/jkrems)** [#8](https://github.com/groupon/ndu/pull/8) 10 | - [`7fd0b93`](https://github.com/groupon/ndu/commit/7fd0b93bbd264825d9c4b2d9ceb80e5f5f20186d) **docs:** Mention `du` requirement 11 | 12 | 13 | ### 1.1.2 14 | 15 | * docs: Introduce "Similar Tools" section - **[@jkrems](https://github.com/jkrems)** [#6](https://github.com/groupon/ndu/pull/6) 16 | - [`67e53d2`](https://github.com/groupon/ndu/commit/67e53d26bd01192fe87d58ebe0641980e494a4f0) **docs:** Introduce "Similar Tools" section - see: [#5](https://github.com/groupon/ndu/issues/5) 17 | 18 | 19 | ### 1.1.1 20 | 21 | * chore: Update README to be more friendly to new users - **[@ageitgey](https://github.com/ageitgey)** [#4](https://github.com/groupon/ndu/pull/4) 22 | - [`2fa1369`](https://github.com/groupon/ndu/commit/2fa136982510ef14f81b23de0c5b85851684b313) **chore:** Update README to be more friendly to new users 23 | 24 | 25 | ### 1.1.0 26 | 27 | * Support for latest firefox - **[@jkrems](https://github.com/jkrems)** [#2](https://github.com/groupon/ndu/pull/2) 28 | - [`d806201`](https://github.com/groupon/ndu/commit/d806201145e0cab287cde1a4ea5c4a8e4adeeb01) **feat:** Support for latest firefox 29 | 30 | 31 | ### 1.0.0 32 | 33 | * Use nlm for publishing - **[@jkrems](https://github.com/jkrems)** [#1](https://github.com/groupon/ndu/pull/1) 34 | - [`16a6473`](https://github.com/groupon/ndu/commit/16a6473afe9e298fff1ddda9901c557ba934ea5e) **chore:** Use nlm for publishing 35 | * [`c4a3f9e`](https://github.com/groupon/ndu/commit/c4a3f9e9e1b27a8c8d02a195b1c7a55664a1b593) **chore:** Initial OSS release 36 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Code of Conduct 2 | 3 | As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities. 4 | 5 | We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality. 6 | 7 | Examples of unacceptable behavior by participants include: 8 | 9 | * The use of sexualized language or imagery 10 | * Personal attacks 11 | * Trolling or insulting/derogatory comments 12 | * Public or private harassment 13 | * Publishing other's private information, such as physical or electronic addresses, without explicit permission 14 | * Other unethical or unprofessional conduct. 15 | 16 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. By adopting this Code of Conduct, project maintainers commit themselves to fairly and consistently applying these principles to every aspect of managing this project. Project maintainers who do not follow or enforce the Code of Conduct may be permanently removed from the project team. 17 | 18 | This code of conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. 19 | 20 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers. 21 | 22 | This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.2.0, available at [http://contributor-covenant.org/version/1/2/0/](http://contributor-covenant.org/version/1/2/0/) 23 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Contributing 4 | 5 | 🎉🏅 Thanks for helping us improve this project! 🙏 6 | 7 | This document outlines some of the practices we care about. 8 | If you have any questions or suggestions about the process, 9 | feel free to [open an issue](#reporting-issues) 10 | or [reach out to us directly](#contact). 11 | 12 | ## How Can I Contribute? 13 | 14 | ### Reporting Issues 15 | 16 | If you find any mistakes in the docs or a bug in the code, 17 | please [open an issue in Github](https://github.com/groupon/ndu/issues/new) so we can look into it. 18 | You can also [create a PR](#contributing-code) fixing it yourself, or course. 19 | 20 | If you report a bug, please follow these guidelines: 21 | 22 | * Make sure the bug exists in the latest version. 23 | * Include instructions on how to reproduce the issue. 24 | The instructions should be as minimal as possible 25 | and answer the three big questions: 26 | 1. What are the exact steps you took? This includes the exact versions of node, npm, and any packages involved. 27 | 1. What result are you expecting? 28 | 1. What is the actual result? 29 | 30 | ### Improving Documentation 31 | 32 | For small documentation changes, you can use [Github's editing feature](https://help.github.com/articles/editing-files-in-another-user-s-repository/). 33 | The only thing to keep in mind is to prefix the commit message with "docs: ". 34 | The default commit message generated by Github will lead to a failing CI build. 35 | 36 | For larger updates to the documentation 37 | it might be better to follow the [instructions for contributing code below](#contributing-code). 38 | 39 | ### Contributing Code 40 | 41 | **Note:** If you're planning on making substantial changes, 42 | please [open an issue first to discuss your idea](#reporting-issues). 43 | Otherwise you might end up investing a lot of work 44 | only to discover that it conflicts with plans the maintainers might have. 45 | 46 | The general steps for creating a pull request are: 47 | 48 | 1. Create a branch for your change. 49 | Always start your branch from the latest `main`. 50 | We often prefix the branch name with our initials, e.g. `jk-a-change`. 51 | 1. Run `npm install` to install the dependencies. 52 | 1. If you're fixing a bug, be sure to write a test *first*. 53 | That way you can validate that the test actually catches the bug and doesn't pass. 54 | 1. Make your changes to the code. 55 | Remember to update the tests if you add new features or change behavior. 56 | 1. Run the tests via `npm test`. This will also run style checks and other validations. 57 | You might see errors about uncommitted files. 58 | This is expected until you commit your changes. 59 | 1. Once you're done, `git add .` and `git commit`. 60 | Please follow the [commit message conventions](#commits--commit-messages) described below. 61 | 1. Push your branch to Github & create a PR. 62 | 63 | #### Code Style 64 | 65 | In addition to any linting rules the project might include, 66 | a few general rules of thumb: 67 | 68 | * Try to match the style of the rest of the code. 69 | * We prefer simple code that is easy to understand over terse, expressive code. 70 | * We try to structure projects by semantics instead of role. 71 | E.g. we'd rather have a `tree.js` module that contains tree traversal-related helpers 72 | than a `helpers.js` module. 73 | * Actually, if you create helpers you might want to put those into a separate package. 74 | That way it's easier to reuse them. 75 | 76 | #### Commits & Commit Messages 77 | 78 | Please follow the [angular commit message conventions](https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#-git-commit-guidelines). 79 | We use an automated tool for generating releases 80 | that depends on the conventions to determine the next version and the content of the changelog. 81 | Commit messages that don't follow the conventions will cause `npm test` (and thus CI) to fail. 82 | 83 | The short summary - a commit message should look like this: 84 | 85 | ``` 86 | : 87 | 88 | 89 | 90 | 91 | 92 |