Security News
The Push to Ban Ransom Payments Is Gaining Momentum
Ransomware costs victims an estimated $30 billion per year and has gotten so out of control that global support for banning payments is gaining momentum.
@es-shims/api
Advanced tools
Readme
For any given “es-shim API”-compliant package foo
, the following invariants must hold:
node
/io.js
, all versions of all ES3-compliant browsers or later, Web Workers, and node-webkit
. Other environments are a plus, but not expected.require('foo')
is a spec-compliant JS or native function. However, if the function’s behavior depends on a receiver (a “this” value), then the first argument to this function will be used as that receiver. The package should indicate if this is the case in its README.require('foo').implementation
or require('foo/implementation')
is a spec-compliant JS function, that will depend on a receiver (a “this” value) as the spec requires.require('foo').getPolyfill
or require('foo/polyfill')
is a function that when invoked, will return the most compliant and performant function that it can - if a native version is available, and does not violate the spec, then the native function will be returned - otherwise, either the implementation
, or a custom, wrapped version of the native function, will be returned. This is also the result that will be used as the default export.require('foo').shim
or require('foo/shim')
is a function that when invoked, will call getPolyfill
, and if the polyfill doesn’t match the built-in value, will install it into the global environment.shim
method.npm test
must run the package’s tests.require
d.require('foo'); delete Function.prototype.call;
must not alter the behavior of foo
.var bind = require('function-bind'); var slice = bind.call(Function.call, Array.prototype.slice); slice([1], 1);
— this technique works in ES3 environments, and will ensure that modifying Array.prototype
will not interfere with the package.Prominently in the package’s README, please include the following markdown:
This package implements the [es-shim API](https://github.com/es-shims/api) interface. It works in an ES3-supported environment and complies with the [spec](http://www.ecma-international.org/ecma-262/6.0/).
Please modify “ES3” as needed to the level of support, and please update the spec link so it points directly to the most relevant section of the spec it complies with.
Very simple and shallow tests that a package follows the es-shim API
.
Pass --bound
to indicate that the function the package is implementing depends on having a receiver (a “this” value).
es-shim-api object-assign
es-shim-api array-includes --bound
Simply clone the repo, npm install
, and run npm test
FAQs
Loosely test a package's compliance with the es-shim API
The npm package @es-shims/api receives a total of 41 weekly downloads. As such, @es-shims/api popularity was classified as not popular.
We found that @es-shims/api demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Security News
Ransomware costs victims an estimated $30 billion per year and has gotten so out of control that global support for banning payments is gaining momentum.
Application Security
New SEC disclosure rules aim to enforce timely cyber incident reporting, but fear of job loss and inadequate resources lead to significant underreporting.
Security News
The Python Software Foundation has secured a 5-year sponsorship from Fastly that supports PSF's activities and events, most notably the security and reliability of the Python Package Index (PyPI).