New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

es5-validator

Package Overview
Dependencies
Maintainers
1
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

es5-validator

Validate JS source code against ES5 to avoid breaking you App by shipping ES6+ code to production silently

  • 1.3.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
763
increased by64.44%
Maintainers
1
Weekly downloads
 
Created
Source

es5-validator

visitor count

Validate JS source code against ES5 and report possible syntax errors before shipping to production to make your code safe on iOS 9, iOS 10 or other ES6+ incompatible platforms.

The earlier you find ES5 incompatibility errors, the earlier you can fix them.

Use

npx es5-validator FILE_TO_VALIDATE1.js [FILE_TO_VALIDATE2.js] [https://some-cdn/es.min.js]

Or Use as Script

npm i es5-validator --save-dev

package.json

{
  "scripts": {
    "lint:es5": "es5-validator es6.js"
  }
}

es6.js

function func(foo = '') {}
const bar = 1;
npm run lint:es5

Result:

[es5-validator] Your code is not ES5 Compatible. It's not ready to ship to production, otherwise it will break you App on iOS 9 or iOS 10.

Error: ECMAScript 5 validate failed when parsing es6.js.formatted (1, 18)


> 1 | function func(foo = '') {}
    |                  ^ Invalid ECMAScript 5 syntax
  2 | const bar = 1;

es5-validator-demo

Demo repo.

Why it exits

To avoid breaking you App by shipping ES6+ code to production silently.

How it works

Detect syntax error by parsing source code aganest ES5 using acorn. For more details, you can read the code.

When encountering a syntax error, the parser will raise a SyntaxError object with a meaningful message. The error object will have a pos property that indicates the string offset at which the error occurred, and a loc object that contains a {line, column} object referring to that same position.

acorn.parse(source, {
  ecmaVersion: 5,
});

💡 Notice: Only the syntax can be detected. Methods introduced by ES6+ wont be reported. For example Object.assign will not be reported but spread operator will.

Features

  • Validate local JS file.
  • Validate remote JS file. For example: npx es5-validator https://cdn.jsdelivr.net/npm/js-pinyin/index.js.
  • Validate multiple JS files concurrently. For example: npx es5-validator es6-1.js es6-2.js.
  • Validate inline source code directly. For example: npx es5-validator --inline "const bar = 1;".

Todo

  • Validate remote js. npx es5-validator https://cdn.jsdelivr.net/npm/js-pinyin/index.js.

Give a star ❤️ if it helped you https://github.com/legend80s/es5-validator.

Keywords

FAQs

Package last updated on 05 Aug 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc