Fixes#2278
This PR moves internal scripts to another folder from `bin/`, where the public scripts will live alone now. It also updates the babel dependencies to be in `devDependencies`, since they are only used in the internal scripts.
* Add support for es6 modules.
Fixes#1775
This parses JavaScript files and tries to figure out their sourceType
from how the AST is structured.
We default to `module` but if there are syntax errors fall back to
`script`. We do not read the `<script type="module"` part of HTML files
anymore.
* Fix guid
* Initial attempt to warn about coin miners.
This does not attempt to detect all of them but primarily focuses on
detecting CoinHive for now.
There's a whole bunch to explore and block when looking at NoCoin but
I'd rather see how many false positives we get in the real world with
this code first.
Fixes#1643 but might need a few follow up issues to add more miners.
* Fix eslint for coinminer fixtures
* Remove urls from blocklist
* Fix tests
* Fix typo in fixture filename
* Add docs
* Fix filename blocklist, update tests to add more coverage.
* Sync lockfile
* Add and setup amo eslint config
* Use Array.prototype.some instead of loop
* Make test command compare with addons-frontend
* Update README to refer to yarn over npm
* Fix javascript test to use new eslint rule format.
* Cleanup dependencies, configure runInBand because we are messing with processes and this leads to inconsisten test results / failures
* Add test-ci shortcut to make tests more predictable and simpler (no process magic) on travis.
* Add missing files
* Fix testMatch
* Fix test and test-no-coverage commands
* Fix default value in manifestjson to be the same key as in the parsedJSON later
* Simplify addons linter test
* Add some optimizations
* Rewrite cli-process test to not rely on shell js and make it work with jest.
* Lots of cleanups, fix toThrow tests to check for messages again.
* re-add eslint, remove more stuff from Gruntfile
* Add proper eslintignore file
* Lots of cleanups, fix all remaining eslint problems.
* Do not test our workaround, that'll be a mess...
* Add test that checks for importSchemas to skip certain files.
* activate jest environment, remove custom global entries
* add collectCoverageFrom config
* remove some old, removed, uncovered code.
* more test fixes
* add missing file