Code Monkey home page Code Monkey logo

perflint's Introduction

NPM version NPM dependencies Build Status Coverage Status Greenkeeper badge

PerfLint

Documentation | Configuring | Rules

PerfLint is a tool to identify unexpected performance levels of a Website, using WebPageTest to obtain results.

Installation

You can install PerfLint using npm:

npm install -g perflint

Usage

See the Command Line Interface documentation.

Configuration

See the Configuring PerfLint documentation.

Results

See the Exit Codes and Results documentation.

Example Results

These results are an example of the 'Stylish' formatter.

With errors

http://example.com — http://www.webpagetest.org/results.php?test=160301_S3_1F0H
    error  'SpeedIndex' is 5617 should be less than 2000  SpeedIndex
  warning  'requestsDoc' is 57 should be less than 30     requestsDoc
    error  'responses_404' is 1 should be 0               responses_404

✖ 3 problems (2 errors, 1 warning)

With too many warnings

http://example.com — http://www.webpagetest.org/results.php?test=160301_S3_1F0H
  warning  'SpeedIndex' is 5617 should be less than 2000  SpeedIndex
  warning  'requestsDoc' is 57 should be less than 30     requestsDoc
  warning  'responses_404' is 1 should be 0               responses_404

✖ 3 problems (0 errors, 3 warnings)

PerfLint found too many warnings (maximum: 1).

Contributors

perflint's People

Contributors

dependabot[bot] avatar greenkeeper[bot] avatar greenkeeperio-bot avatar matthojo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

perflint's Issues

An in-range update of eslint-plugin-import is breaking the build 🚨

The devDependency eslint-plugin-import was updated from 2.18.2 to 2.19.0.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

eslint-plugin-import is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push: The Travis CI build failed (Details).

Commits

The new version differs by 46 commits.

  • 9b76635 Bump to v2.19.0
  • 47a232e [resolvers/webpack] v0.12.0
  • 26ad476 [resolvers/webpack] [deps] update debug, enhanced-resolve, has, interpret, lodash, resolve, semver
  • 3f0e8f3 [resolvers/node] [Deps] update resolve
  • 7190c3e bump utils to v2.5.0
  • a60e5c6 [New] no-commonjs: add allowConditionalRequire option
  • 414c923 [New] enable passing cwd as an option to eslint-import-resolver-webpack
  • 8224e51 [New] order/no-extraneous-dependencies: Alphabetize imports within groups
  • f12ae59 [New] no-duplicates: add a considerQueryString option to handle false positives when using some webpack loaders.
  • 2d3d045 [fix] importType: Accept '@example' as internal
  • 0426f16 [New] order: add pathGroups option to add support to order by paths
  • 99b3fbf [Fix] no-extraneous-dependencies: Add support for export from
  • 21bf8c6 [Fix] no-cycle: should not warn for Flow imports
  • 0cd5e43 [Fix] no-unused-modules: fix crash due to export *
  • 05085bb [flow] no-unused-modules: add flow type support

There are 46 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of mocha is breaking the build 🚨

The devDependency mocha was updated from 6.2.0 to 6.2.1.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

mocha is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push: The Travis CI build failed (Details).

Commits

The new version differs by 11 commits.

  • ef6c820 Release v6.2.1
  • 9524978 updated CHANGELOG for v6.2.1 [ci skip]
  • dfdb8b3 Update yargs to v13.3.0 (#3986)
  • 18ad1c1 treat '--require esm' as Node option (#3983)
  • fcffd5a Update yargs-unparser to v1.6.0 (#3984)
  • ad4860e Remove extraGlobals() (#3970)
  • b269ad0 Clarify effect of .skip() (#3947)
  • 1e6cf3b Add Matomo to website (#3765)
  • 91b3a54 fix style on mochajs.org (#3886)
  • 0e9d8ad tty.getWindowSize is not a function inside a "worker_threads" worker (#3955)
  • 48da42e Remove jsdoc index.html placeholder from eleventy file structure and fix broken link in jsdoc tutorial (#3966)

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of async is breaking the build 🚨

The dependency async was updated from 3.1.0 to 3.1.1.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

async is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details
  • continuous-integration/travis-ci/push: The Travis CI build failed (Details).

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Test all the things.

We need tests for all the functionality in PerfLint, ideally getting as close to 100% coverage as possible.

Allow multiple URLs to be tested

Possible have an option in .perflintrc that allows for multiple URLs to be tested against. The results should break down per URL.

Test timeouts

Perflint/Budgie look awesome @matthojo, and exactly what I am looking for (npm-script-based local performance budget testing).

However: I can't get them to work and keep getting Error: Test timed out.

Running perflint -k <KEY> with .perflintrc:

{
  "URL": "<URL>",
  "location": "ec2-eu-central-1:Chrome",
  "connectivity": "Cable",
  "rules": {
    "SpeedIndex": [{ "max": 2000 }, "error"]
  }
}

A similar test with the webagetest API wrapper does work: webpagetest test <URL> -k <KEY>

Any tips?

Run 'private' test on potentially vulnerable links

Auto-detect when a URL being tested is a link that should 'normally' not appear on the public list of links tested. Some reasons for this would be sites that are in development (potentially under NDA) or URLs that expose content on a users system.

Example; ngrok.io

I would say we enable this option by default, but allow it to be turned off in the .perflintrc.

An in-range update of sinon is breaking the build 🚨

The devDependency sinon was updated from 7.4.2 to 7.5.0.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

sinon is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push: The Travis CI build failed (Details).

Commits

The new version differs by 9 commits.

  • 7835301 Update docs/changelog.md and set new release id in docs/_config.yml
  • 4978898 Add release documentation for v7.5.0
  • 5d0adf7 7.5.0
  • c0e68b6 Update CHANGELOG.md and AUTHORS for new release
  • bf26967 Merge pull request #2080 from dpmott/issue-2006-Sinon.assert.calledOnceWithExactly
  • c3e9512 Merge branch '2027-apply-feedback'
  • 9c4bbf1 refactor: extract and share common tests for spies/stubs
  • fed2129 Proposed resolution to issue 2006
  • 181dcdd 2026 - Updated to support spying all methods on an object to similar to stub capabilities

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Test against previous / existing results

This feature would enable users to compare a set of WPT results against an existing set of WPT results, highlighting any reduction in performance.

It would require the ability to generate a config from an existing set of WPT results. The benefit of this solution would be you only need to do it once, and the config will remain for all eternity for users to compare against.

There would likely need to be a base set questions to determine which rules should go into the config, asking for every possible rule would be one mighty list. We could possibly link up with #4 and use those rules as the base set?

I think it would also make sense for the config file to be saved in the current directory, rather than overriding the nearest one. It could then be nicely wrapped in a perflint init function.

Would be interested to see how different users compare past results, as we could possibly tailor this functionality to common workflows.

An in-range update of eslint is breaking the build 🚨

The devDependency eslint was updated from 6.3.0 to 6.4.0.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

eslint is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push: The Travis CI build failed (Details).

Release Notes for v6.4.0
  • e915fff Docs: Improve examples and clarify default option (#12067) (Yuping Zuo)
  • 540296f Update: enforceForClassMembers option to accessor-pairs (fixes #12063) (#12192) (Milos Djermanovic)
  • d3c2334 Update: flag nested block with declaration as error (#12193) (David Waller)
  • b2498d2 Update: Fix handling of property names in no-self-assign (#12105) (Milos Djermanovic)
  • 1ee61b0 Update: enforceForClassMembers computed-property-spacing (fixes #12049) (#12214) (Milos Djermanovic)
  • 520c922 Docs: Added naming convention details to plugin usage (#12202) (Henrique Barcelos)
  • f826eab Fix: Allow line comment exception in object-curly-spacing (fixes #11902) (#12216) (Milos Djermanovic)
  • db2a29b Update: indentation of comment followed by semicolon (fixes #12232) (#12243) (Kai Cataldo)
  • ae17d1c Fix: no-sequences is reporting incorrect locations (#12241) (Milos Djermanovic)
  • 365331a Fix: object-shorthand providing invalid fixes for typescript (#12260) (Brad Zacher)
  • 1c921c6 New: add no-import-assign (fixes #12237) (#12252) (Toru Nagashima)
  • 3be04fd New: Add prefer-regex-literals rule (fixes #12238) (#12254) (Milos Djermanovic)
  • 37c0fde Update: Report global Atomics calls in no-obj-calls (fixes #12234) (#12258) (Milos Djermanovic)
  • 985c9e5 Fix: space-before-function-paren autofix removes comments (fixes #12259) (#12264) (Milos Djermanovic)
  • 01da7d0 Fix: eqeqeq rule reports incorrect locations (#12265) (Milos Djermanovic)
  • 319e4d8 Docs: adding finally example (#12256) (Jens Melgaard)
  • d52328f Docs: fix no-sequences with examples (#12239) (Milos Djermanovic)
  • a41fdc0 Fix: Remove autofixer for no-unsafe-negation (#12157) (Milos Djermanovic)
  • e38f5fd Update: fix no-octal-escape false negatives after \0 (#12079) (Milos Djermanovic)
  • 9418fbe Sponsors: Sync README with website (ESLint Jenkins)
  • acc5ec5 Sponsors: Sync README with website (ESLint Jenkins)
  • 460c5ad Sponsors: Sync README with website (ESLint Jenkins)
  • 0313441 New: add rule default-param-last (fixes #11361) (#12188) (Chiawen Chen)
  • 7621f5d Update: add more specific linting messages to space-in-parens (#11121) (Che Fisher)
  • 21eb904 Fix: basePath of OverrideTester (fixes #12032) (#12205) (Toru Nagashima)
  • 86e5e65 Sponsors: Sync README with website (ESLint Jenkins)
  • 2b1a13f Fix: no-extra-boolean-cast reports wrong negation node (fixes #11324) (#12197) (Milos Djermanovic)
  • ba8c2aa Sponsors: Sync README with website (ESLint Jenkins)
  • a0a9746 Docs: Fix link in no-irregular-whitespace.md (#12196) (Timo Tijhof)
  • e10eeba Fix: quotes autofix produces syntax error with octal escape sequences (#12118) (Milos Djermanovic)
Commits

The new version differs by 32 commits.

  • 5f3024f 6.4.0
  • c847be2 Build: changelog update for 6.4.0
  • e915fff Docs: Improve examples and clarify default option (#12067)
  • 540296f Update: enforceForClassMembers option to accessor-pairs (fixes #12063) (#12192)
  • d3c2334 Update: flag nested block with declaration as error (#12193)
  • b2498d2 Update: Fix handling of property names in no-self-assign (#12105)
  • 1ee61b0 Update: enforceForClassMembers computed-property-spacing (fixes #12049) (#12214)
  • 520c922 Docs: Added naming convention details to plugin usage (#12202)
  • f826eab Fix: Allow line comment exception in object-curly-spacing (fixes #11902) (#12216)
  • db2a29b Update: indentation of comment followed by semicolon (fixes #12232) (#12243)
  • ae17d1c Fix: no-sequences is reporting incorrect locations (#12241)
  • 365331a Fix: object-shorthand providing invalid fixes for typescript (#12260)
  • 1c921c6 New: add no-import-assign (fixes #12237) (#12252)
  • 3be04fd New: Add prefer-regex-literals rule (fixes #12238) (#12254)
  • 37c0fde Update: Report global Atomics calls in no-obj-calls (fixes #12234) (#12258)

There are 32 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Define usable configuration defaults

We should be using useable default configuration rules as an example in the repository.

It would also be nice if there was a collection of different configurations for people to browse on https://perflint.readme.io. This could then lead on to future functionality where alternative configurations are built into PerfLint.

  • Set default .perflintrc to usable values
  • List alternative configurations in documentation

An in-range update of eslint-config-prettier is breaking the build 🚨

The devDependency eslint-config-prettier was updated from 6.0.0 to 6.1.0.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

eslint-config-prettier is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push: The Travis CI build failed (Details).

Commits

The new version differs by 4 commits.

  • c944458 eslint-config-prettier v6.1.0
  • e0b6648 Add function-call-argument-newline
  • 3955d29 Update npm packages
  • 61ac63a Fix broken link in changelog

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of eslint-plugin-prettier is breaking the build 🚨

The devDependency eslint-plugin-prettier was updated from 3.1.0 to 3.1.1.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

eslint-plugin-prettier is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push: The Travis CI build failed (Details).

Commits

The new version differs by 17 commits.

  • cb2d4b3 Build: update package.json and changelog for v3.1.1
  • 8a793eb build(deps-dev): bump eslint from 6.3.0 to 6.4.0
  • 88c3f6c build(deps-dev): bump eslint-config-prettier from 6.2.0 to 6.3.0
  • 5f9fbc1 build(deps-dev): bump eslint-config-prettier from 6.0.0 to 6.2.0
  • 746b66d build(deps-dev): bump eslint from 6.2.2 to 6.3.0
  • 97eedb4 build(deps-dev): bump eslint from 6.1.0 to 6.2.2
  • afef9d1 build(deps-dev): bump eslint from 6.0.1 to 6.1.0
  • 0360a84 build(deps-dev): bump mocha from 6.1.4 to 6.2.0
  • 9eceb68 build(deps): [security] bump lodash from 4.17.11 to 4.17.14
  • 1385310 Fix: When forcing the JS parser, use the modern name (#212)
  • bca77e6 Add eslint 6 to test matrix (#210)
  • 4c069bd build(deps-dev): bump eslint-config-prettier from 5.0.0 to 6.0.0
  • 60bb22f build(deps-dev): bump eslint-config-prettier from 4.3.0 to 5.0.0
  • a183560 build(deps-dev): bump prettier from 1.18.0 to 1.18.2
  • 0cad479 build(deps-dev): bump prettier from 1.17.1 to 1.18.0

There are 17 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of coveralls is breaking the build 🚨

The devDependency coveralls was updated from 3.0.7 to 3.0.8.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

coveralls is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push: The Travis CI build failed (Details).

Commits

The new version differs by 24 commits.

There are 24 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Add support for any service based test tooling

Add in support to run tests and obtain results from any URL / Docker container.

Acceptance

  • Add support to obtain results from local / remote URLs
  • Add support for testing custom metrics returned from local / remote URLs
    • Config support should test against exact object key names

Example

  1. Tell PerfLint where to obtain results from
  2. Test against any returned metric from container

Notes

This should allow support from any exposed URLs including Docker containers etc..

An in-range update of eslint-plugin-import is breaking the build 🚨

The devDependency eslint-plugin-import was updated from 2.18.0 to 2.18.1.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

eslint-plugin-import is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push: The Travis CI build failed (Details).

Commits

The new version differs by 14 commits.

  • b51aa2f Bump to v2.18.1
  • 32704da fix: Improve parse perf when using @typescript-eslint/parser
  • 3b21de6 [Tests] extract common "get parser" logic into test helpers
  • f4e3f1b prefer-default-export: don't warn on TypeAlias & TSTypeAliasDeclaration
  • 1caa402 [Fix] no-unused-modules: Exclude package "main"/"bin"/"browser" entry points
  • 22d5440 [fix] export: false positive for typescript overloads
  • 5abd5ed [Tests] temporarily disable these failing tests in eslint < 4
  • 752dcd5 [Tests] add missing --no-save to time travel script
  • d3a3fa5 [Refactor] no-extraneous-dependencies: remove the last bit of lodash
  • 8a38fd4 [Refactor] no-extraneous-dependencies: use Array.isArray instead of lodash
  • c5078ad [Refactor] importType: remove use of cond
  • 118afd4 no-deprecated: don't run tests for typescript-eslint-parser against ESLint <4
  • 6512110 fix tests for node 4 + fixed lint issues
  • bb9ba24 no-deprecated TS tests (#1315)

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.