mirror of
https://github.com/gradle/wrapper-validation-action.git
synced 2025-04-22 23:29:19 +08:00
Compare commits
103 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
f9c9c575b8 | ||
|
88425854a3 | ||
|
9ba54b687b | ||
|
26ffd686ec | ||
|
216d1ad2b3 | ||
|
5188e9b552 | ||
|
460a3ca55f | ||
|
b5418f5a58 | ||
|
6613b81c19 | ||
|
35bb224882 | ||
|
ea90fd0c75 | ||
|
b231772637 | ||
|
ad66d65d25 | ||
|
34f4d9f0dc | ||
|
4a956f6d02 | ||
|
63d15e7a1e | ||
|
699bb18358 | ||
|
69d55fad27 | ||
|
e636552d42 | ||
|
85cde3f5a1 | ||
|
8a2cbc9ccf | ||
|
d355de3893 | ||
|
ac96f186ff | ||
|
ca85ed0b62 | ||
|
c4ee1cd97a | ||
|
a3555efcbf | ||
|
24d65a10ac | ||
|
a494d935f4 | ||
|
21bea8c867 | ||
|
83cf5fdbbf | ||
|
bb2ea9bd17 | ||
|
2572bdd97b | ||
|
1ff5a18cc3 | ||
|
27152f6fa0 | ||
|
d8758a98d1 | ||
|
e916071cca | ||
|
d9359e465a | ||
|
77d43de170 | ||
|
2f8436d9bb | ||
|
bfa0fe410a | ||
|
8be8473276 | ||
|
c8fad9e3f8 | ||
|
342dbebe72 | ||
|
56b90f209b | ||
|
01ad6d2663 | ||
|
06d621a1e5 | ||
|
39c1e6a6ce | ||
|
ef2802775b | ||
|
67317ea21c | ||
|
9938a3cf2a | ||
|
064a97fb0b | ||
|
ccb4328a95 | ||
|
e214b0676c | ||
|
4eaf4ea3de | ||
|
af62b44227 | ||
|
9c75b4d3d1 | ||
|
48ced99357 | ||
|
53b638a5c2 | ||
|
9b33bb8396 | ||
|
f199d0f8b0 | ||
|
80adfc1959 | ||
|
2064be8543 | ||
|
c503096ae5 | ||
|
3f78f4ad31 | ||
|
6a97dac3d4 | ||
|
8d49e559aa | ||
|
553793aaea | ||
|
79fc16cf9b | ||
|
bc61a16645 | ||
|
64a4451e28 | ||
|
664dcf59c9 | ||
|
dabb1b52d3 | ||
|
777fab02ef | ||
|
6c56157398 | ||
|
a63eded8e0 | ||
|
fafd5fd8de | ||
|
959bfac6da | ||
|
ffa46e5c87 | ||
|
0be4b39706 | ||
|
9aa31f26bc | ||
|
5d6ea91421 | ||
|
db7df1f188 | ||
|
859c33240b | ||
|
d0ffc95aad | ||
|
6793660673 | ||
|
781fa15ada | ||
|
7606dd0c9b | ||
|
a816b24745 | ||
|
8ee3e0ee03 | ||
|
094d8354f0 | ||
|
84d7e182ae | ||
|
8ad53c429f | ||
|
1a5936fd6e | ||
|
19e76703da | ||
|
a9ea690346 | ||
|
89eda1fdc0 | ||
|
f63d9b21bb | ||
|
67ba652d17 | ||
|
6e994e34b8 | ||
|
5e787a2abc | ||
|
370105cb75 | ||
|
1ed3d1cbba | ||
|
fdd7f0e28e |
@ -1,3 +0,0 @@
|
|||||||
dist/
|
|
||||||
lib/
|
|
||||||
node_modules/
|
|
@ -1,52 +0,0 @@
|
|||||||
{
|
|
||||||
"plugins": ["jest", "@typescript-eslint"],
|
|
||||||
"extends": ["plugin:github/typescript"],
|
|
||||||
"parser": "@typescript-eslint/parser",
|
|
||||||
"parserOptions": {
|
|
||||||
"ecmaVersion": 9,
|
|
||||||
"sourceType": "module",
|
|
||||||
"project": "./tsconfig.json"
|
|
||||||
},
|
|
||||||
"rules": {
|
|
||||||
"eslint-comments/no-use": "off",
|
|
||||||
"import/no-namespace": "off",
|
|
||||||
"no-unused-vars": "off",
|
|
||||||
"@typescript-eslint/no-unused-vars": "error",
|
|
||||||
"@typescript-eslint/explicit-member-accessibility": ["error", {"accessibility": "no-public"}],
|
|
||||||
"@typescript-eslint/no-require-imports": "error",
|
|
||||||
"@typescript-eslint/array-type": "error",
|
|
||||||
"@typescript-eslint/await-thenable": "error",
|
|
||||||
"camelcase": "off",
|
|
||||||
"@typescript-eslint/explicit-function-return-type": ["error", {"allowExpressions": true}],
|
|
||||||
"@typescript-eslint/func-call-spacing": ["error", "never"],
|
|
||||||
"@typescript-eslint/no-array-constructor": "error",
|
|
||||||
"@typescript-eslint/no-empty-interface": "error",
|
|
||||||
"@typescript-eslint/no-explicit-any": "error",
|
|
||||||
"@typescript-eslint/no-extraneous-class": "error",
|
|
||||||
"@typescript-eslint/no-for-in-array": "error",
|
|
||||||
"@typescript-eslint/no-inferrable-types": "error",
|
|
||||||
"@typescript-eslint/no-misused-new": "error",
|
|
||||||
"@typescript-eslint/no-namespace": "error",
|
|
||||||
"@typescript-eslint/no-non-null-assertion": "warn",
|
|
||||||
"@typescript-eslint/no-unnecessary-qualifier": "error",
|
|
||||||
"@typescript-eslint/no-unnecessary-type-assertion": "error",
|
|
||||||
"@typescript-eslint/no-useless-constructor": "error",
|
|
||||||
"@typescript-eslint/no-var-requires": "error",
|
|
||||||
"@typescript-eslint/prefer-for-of": "warn",
|
|
||||||
"@typescript-eslint/prefer-function-type": "warn",
|
|
||||||
"@typescript-eslint/prefer-includes": "error",
|
|
||||||
"@typescript-eslint/prefer-string-starts-ends-with": "error",
|
|
||||||
"@typescript-eslint/promise-function-async": "error",
|
|
||||||
"@typescript-eslint/require-array-sort-compare": "error",
|
|
||||||
"@typescript-eslint/restrict-plus-operands": "error",
|
|
||||||
"semi": "off",
|
|
||||||
"@typescript-eslint/semi": ["error", "never"],
|
|
||||||
"@typescript-eslint/type-annotation-spacing": "error",
|
|
||||||
"@typescript-eslint/unbound-method": "error"
|
|
||||||
},
|
|
||||||
"env": {
|
|
||||||
"node": true,
|
|
||||||
"es6": true,
|
|
||||||
"jest/globals": true
|
|
||||||
}
|
|
||||||
}
|
|
10
.github/dependabot.yml
vendored
Normal file
10
.github/dependabot.yml
vendored
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
version: 2
|
||||||
|
updates:
|
||||||
|
- package-ecosystem: "github-actions"
|
||||||
|
directory: "/"
|
||||||
|
schedule:
|
||||||
|
interval: "weekly"
|
||||||
|
groups:
|
||||||
|
github-actions:
|
||||||
|
patterns:
|
||||||
|
- "*"
|
65
.github/workflows/ci.yml
vendored
65
.github/workflows/ci.yml
vendored
@ -3,22 +3,65 @@ on: # rebuild any PRs and main branch changes
|
|||||||
pull_request:
|
pull_request:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- master
|
- main
|
||||||
- 'releases/*'
|
- 'releases/*'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build: # make sure build/ci work properly
|
|
||||||
|
# Integration test for successful validation of wrappers
|
||||||
|
test-validation-success:
|
||||||
|
name: 'Test: Validation success'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v4
|
||||||
- run: |
|
|
||||||
npm install
|
- name: Run wrapper-validation-action
|
||||||
npm run all
|
id: action-test
|
||||||
test: # make sure the action works on a clean machine without building
|
uses: ./
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- uses: ./
|
|
||||||
with:
|
with:
|
||||||
# to allow the invalid wrapper jar present in test data
|
# to allow the invalid wrapper jar present in test data
|
||||||
allow-checksums: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
|
allow-checksums: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
|
||||||
|
|
||||||
|
- name: Check outcome
|
||||||
|
env:
|
||||||
|
# Evaluate workflow expressions here as env variable values instead of inside shell script
|
||||||
|
# below to not accidentally inject code into shell script or break its syntax
|
||||||
|
FAILED_WRAPPERS: ${{ steps.action-test.outputs.failed-wrapper }}
|
||||||
|
FAILED_WRAPPERS_MATCHES: ${{ steps.action-test.outputs.failed-wrapper == '' }}
|
||||||
|
run: |
|
||||||
|
if [ "$FAILED_WRAPPERS_MATCHES" != "true" ] ; then
|
||||||
|
echo "'outputs.failed-wrapper' has unexpected content: $FAILED_WRAPPERS"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# Integration test for failing validation of wrappers
|
||||||
|
test-validation-error:
|
||||||
|
name: 'Test: Validation error'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Run wrapper-validation-action
|
||||||
|
id: action-test
|
||||||
|
uses: ./
|
||||||
|
# Expected to fail; validated below
|
||||||
|
continue-on-error: true
|
||||||
|
|
||||||
|
- name: Check outcome
|
||||||
|
env:
|
||||||
|
# Evaluate workflow expressions here as env variable values instead of inside shell script
|
||||||
|
# below to not accidentally inject code into shell script or break its syntax
|
||||||
|
VALIDATION_FAILED: ${{ steps.action-test.outcome == 'failure' }}
|
||||||
|
FAILED_WRAPPERS: ${{ steps.action-test.outputs.failed-wrapper }}
|
||||||
|
FAILED_WRAPPERS_MATCHES: ${{ steps.action-test.outputs.failed-wrapper == '__tests__/data/invalid/gradle-wrapper.jar|__tests__/data/invalid/gradlе-wrapper.jar' }}
|
||||||
|
run: |
|
||||||
|
if [ "$VALIDATION_FAILED" != "true" ] ; then
|
||||||
|
echo "Expected validation to fail, but it didn't"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$FAILED_WRAPPERS_MATCHES" != "true" ] ; then
|
||||||
|
echo "'outputs.failed-wrapper' has unexpected content: $FAILED_WRAPPERS"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
56
.github/workflows/codeql-analysis.yml
vendored
56
.github/workflows/codeql-analysis.yml
vendored
@ -1,56 +0,0 @@
|
|||||||
name: "CodeQL"
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: [ master ]
|
|
||||||
pull_request:
|
|
||||||
# The branches below must be a subset of the branches above
|
|
||||||
branches: [ master ]
|
|
||||||
schedule:
|
|
||||||
- cron: '24 4 * * 6'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
analyze:
|
|
||||||
name: Analyze
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
language: [ 'javascript' ]
|
|
||||||
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
|
|
||||||
# Learn more:
|
|
||||||
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
|
||||||
- name: Initialize CodeQL
|
|
||||||
uses: github/codeql-action/init@v1
|
|
||||||
with:
|
|
||||||
languages: ${{ matrix.language }}
|
|
||||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
|
||||||
# By default, queries listed here will override any specified in a config file.
|
|
||||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
|
||||||
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
|
||||||
|
|
||||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
|
||||||
# If this step fails, then you should remove it and run the build manually (see below)
|
|
||||||
- name: Autobuild
|
|
||||||
uses: github/codeql-action/autobuild@v1
|
|
||||||
|
|
||||||
# ℹ️ Command-line programs to run using the OS shell.
|
|
||||||
# 📚 https://git.io/JvXDl
|
|
||||||
|
|
||||||
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
|
||||||
# and modify them (or add more) to build your code if your project
|
|
||||||
# uses a compiled language
|
|
||||||
|
|
||||||
#- run: |
|
|
||||||
# make bootstrap
|
|
||||||
# make release
|
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
|
||||||
uses: github/codeql-action/analyze@v1
|
|
102
.gitignore
vendored
102
.gitignore
vendored
@ -1,102 +0,0 @@
|
|||||||
# Dependency directory
|
|
||||||
node_modules
|
|
||||||
|
|
||||||
# Rest pulled from https://github.com/github/gitignore/blob/master/Node.gitignore
|
|
||||||
# Logs
|
|
||||||
logs
|
|
||||||
*.log
|
|
||||||
npm-debug.log*
|
|
||||||
yarn-debug.log*
|
|
||||||
yarn-error.log*
|
|
||||||
lerna-debug.log*
|
|
||||||
|
|
||||||
# Diagnostic reports (https://nodejs.org/api/report.html)
|
|
||||||
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
|
||||||
|
|
||||||
# Runtime data
|
|
||||||
pids
|
|
||||||
*.pid
|
|
||||||
*.seed
|
|
||||||
*.pid.lock
|
|
||||||
|
|
||||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
|
||||||
lib-cov
|
|
||||||
|
|
||||||
# Coverage directory used by tools like istanbul
|
|
||||||
coverage
|
|
||||||
*.lcov
|
|
||||||
|
|
||||||
# nyc test coverage
|
|
||||||
.nyc_output
|
|
||||||
|
|
||||||
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
|
||||||
.grunt
|
|
||||||
|
|
||||||
# Bower dependency directory (https://bower.io/)
|
|
||||||
bower_components
|
|
||||||
|
|
||||||
# node-waf configuration
|
|
||||||
.lock-wscript
|
|
||||||
|
|
||||||
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
|
||||||
build/Release
|
|
||||||
|
|
||||||
# Dependency directories
|
|
||||||
jspm_packages/
|
|
||||||
|
|
||||||
# TypeScript v1 declaration files
|
|
||||||
typings/
|
|
||||||
|
|
||||||
# TypeScript cache
|
|
||||||
*.tsbuildinfo
|
|
||||||
|
|
||||||
# Optional npm cache directory
|
|
||||||
.npm
|
|
||||||
|
|
||||||
# Optional eslint cache
|
|
||||||
.eslintcache
|
|
||||||
|
|
||||||
# Optional REPL history
|
|
||||||
.node_repl_history
|
|
||||||
|
|
||||||
# Output of 'npm pack'
|
|
||||||
*.tgz
|
|
||||||
|
|
||||||
# Yarn Integrity file
|
|
||||||
.yarn-integrity
|
|
||||||
|
|
||||||
# dotenv environment variables file
|
|
||||||
.env
|
|
||||||
.env.test
|
|
||||||
|
|
||||||
# parcel-bundler cache (https://parceljs.org/)
|
|
||||||
.cache
|
|
||||||
|
|
||||||
# next.js build output
|
|
||||||
.next
|
|
||||||
|
|
||||||
# nuxt.js build output
|
|
||||||
.nuxt
|
|
||||||
|
|
||||||
# vuepress build output
|
|
||||||
.vuepress/dist
|
|
||||||
|
|
||||||
# Serverless directories
|
|
||||||
.serverless/
|
|
||||||
|
|
||||||
# FuseBox cache
|
|
||||||
.fusebox/
|
|
||||||
|
|
||||||
# DynamoDB Local files
|
|
||||||
.dynamodb/
|
|
||||||
|
|
||||||
# OS metadata
|
|
||||||
.DS_Store
|
|
||||||
Thumbs.db
|
|
||||||
|
|
||||||
# Ignore built ts files
|
|
||||||
__tests__/runner/*
|
|
||||||
lib/**/*
|
|
||||||
|
|
||||||
.idea/
|
|
||||||
*.iml
|
|
@ -1,3 +0,0 @@
|
|||||||
dist/
|
|
||||||
lib/
|
|
||||||
node_modules/
|
|
@ -1,12 +0,0 @@
|
|||||||
{
|
|
||||||
"printWidth": 80,
|
|
||||||
"tabWidth": 2,
|
|
||||||
"useTabs": false,
|
|
||||||
"semi": false,
|
|
||||||
"singleQuote": true,
|
|
||||||
"trailingComma": "none",
|
|
||||||
"bracketSpacing": false,
|
|
||||||
"arrowParens": "avoid",
|
|
||||||
"parser": "typescript",
|
|
||||||
"endOfLine": "auto"
|
|
||||||
}
|
|
@ -1,12 +0,0 @@
|
|||||||
## Project Goals
|
|
||||||
|
|
||||||
We aim to keep the scope of this project limited so that it is easy for maintainers to apply and forget about.
|
|
||||||
|
|
||||||
### Goals
|
|
||||||
|
|
||||||
To verify that all the gradle-wrapper.jar(s) in a given GitHub repository or pull request against that repo is an official Gradle Wrapper release.
|
|
||||||
|
|
||||||
### Non-Goals
|
|
||||||
|
|
||||||
It is not the goal of this action to verify that the gradle-wrapper.jar matches a specific version of Gradle,
|
|
||||||
nor that the version declared in the build.gradle or gradle-wrapper.properties file matches.
|
|
2
LICENSE
2
LICENSE
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
The MIT License (MIT)
|
The MIT License (MIT)
|
||||||
|
|
||||||
Copyright (c) 2018 GitHub, Inc. and contributors
|
Copyright (c) 2023 Gradle Inc.
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
111
README.md
111
README.md
@ -1,59 +1,27 @@
|
|||||||
<p align="center">
|
> [!IMPORTANT]
|
||||||
<a href="https://github.com/gradle/wrapper-validation-action/actions"><img alt="gradle/wrapper-validation-action status" src="https://github.com/gradle/wrapper-validation-action/workflows/ci/badge.svg"></a>
|
> As of `v3` this action has been superceded by `gradle/actions/wrapper-validation`.
|
||||||
</p>
|
> Any workflow that uses `gradle/wrapper-validation-action@v3` will transparently delegate to `gradle/actions/wrapper-validation@v3`.
|
||||||
|
>
|
||||||
|
> Users are encouraged to update their workflows, replacing:
|
||||||
|
> ```
|
||||||
|
> uses: gradle/wrapper-validation-action@v3
|
||||||
|
> ```
|
||||||
|
>
|
||||||
|
> with
|
||||||
|
> ```
|
||||||
|
> uses: gradle/actions/wrapper-validation@v3
|
||||||
|
> ```
|
||||||
|
>
|
||||||
|
> See the [wrapper-validation documentation](https://github.com/gradle/actions/tree/main/wrapper-validation) for up-to-date documentation for `gradle/actions/wrapper-validation`.
|
||||||
|
|
||||||
# Gradle Wrapper Validation Action
|
# Gradle Wrapper Validation Action
|
||||||
|
|
||||||
This action validates the checksums of [Gradle Wrapper](https://docs.gradle.org/current/userguide/gradle_wrapper.html) JAR files present in the source tree and fails if unknown Gradle Wrapper JAR files are found.
|
This action validates the checksums of _all_ [Gradle Wrapper](https://docs.gradle.org/current/userguide/gradle_wrapper.html) JAR files present in the repository and fails if any unknown Gradle Wrapper JAR files are found.
|
||||||
|
|
||||||
## The Gradle Wrapper Problem in Open Source
|
The action should be run in the root of the repository, as it will recursively search for any files named `gradle-wrapper.jar`.
|
||||||
|
|
||||||
The `gradle-wrapper.jar` is a binary blob of executable code that is checked into nearly
|
### Example workflow
|
||||||
[2.8 Million GitHub Repositories](https://github.com/search?l=&q=filename%3Agradle-wrapper.jar&type=Code).
|
|
||||||
|
|
||||||
Searching across GitHub you can find many pull requests (PRs) with helpful titles like 'Update to Gradle xxx'.
|
|
||||||
Many of these PRs are contributed by individuals outside of the organization maintaining the project.
|
|
||||||
|
|
||||||
Many maintainers are incredibly grateful for these kinds of contributions as it takes an item off of their backlog.
|
|
||||||
We assume that most maintainers do not consider the security implications of accepting the Gradle Wrapper binary from external contributors.
|
|
||||||
There is a certain amount of blind trust open source maintainers have.
|
|
||||||
Further compounding the issue is that maintainers are most often greeted in these PRs with a diff to the `gradle-wrapper.jar` that looks like this.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
A fairly simple social engineering supply chain attack against open source would be contribute a helpful “Updated to Gradle xxx” PR that contains malicious code hidden inside this binary JAR.
|
|
||||||
A malicious `gradle-wrapper.jar` could execute, download, or install arbitrary code while otherwise behaving like a completely normal `gradle-wrapper.jar`.
|
|
||||||
|
|
||||||
## Solution
|
|
||||||
|
|
||||||
We have created a simple GitHub Action that can be applied to any GitHub repository.
|
|
||||||
This GitHub Action will do one simple task:
|
|
||||||
verify that any and all `gradle-wrapper.jar` files in the repository match the SHA-256 checksums of any of our official releases.
|
|
||||||
|
|
||||||
If any are found that do not match the SHA-256 checksums of our official releases, the action will fail.
|
|
||||||
|
|
||||||
Additionally, the action will find and SHA-256 hash all
|
|
||||||
[homoglyph](https://en.wikipedia.org/wiki/Homoglyph)
|
|
||||||
variants of files named `gradle-wrapper.jar`,
|
|
||||||
for example a file named `gradlе-wrapper.jar` (which uses a Cyrillic `е` instead of `e`).
|
|
||||||
The goal is to prevent homoglyph attacks which may be very difficult to spot in a GitHub diff.
|
|
||||||
We created an example [Homoglyph attack PR here](https://github.com/JLLeitschuh/playframework/pull/1/files).
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
### Add to an existing Workflow
|
|
||||||
|
|
||||||
Simply add this action to your workflow **after** having checked out your source tree and **before** running any Gradle build:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
uses: gradle/wrapper-validation-action@v1
|
|
||||||
```
|
|
||||||
|
|
||||||
### Add a new dedicated Workflow
|
|
||||||
|
|
||||||
Here's a sample complete workflow you can add to your repositories:
|
|
||||||
|
|
||||||
**`.github/workflows/gradle-wrapper-validation.yml`**
|
|
||||||
```yaml
|
```yaml
|
||||||
name: "Validate Gradle Wrapper"
|
name: "Validate Gradle Wrapper"
|
||||||
on: [push, pull_request]
|
on: [push, pull_request]
|
||||||
@ -63,44 +31,11 @@ jobs:
|
|||||||
name: "Validation"
|
name: "Validation"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v4
|
||||||
- uses: gradle/wrapper-validation-action@v1
|
- uses: gradle/wrapper-validation-action@v3
|
||||||
```
|
```
|
||||||
|
|
||||||
## Contributing to an external GitHub Repository
|
As of `v3`, the `gradle/wrapper-validation-action` action delegates to `gradle/actions/wrapper-validation` with the same version.
|
||||||
|
Configuration and usage of these actions is identical for releases with the same version number.
|
||||||
|
|
||||||
Since [GitHub Actions](https://github.com/features/actions)
|
See the [full wrapper-validation documentation](https://github.com/gradle/actions/tree/main/wrapper-validation) for more details.
|
||||||
are completely free for open source projects and are automatically enabled on almost all projects,
|
|
||||||
adding this check to a project's build is as simple as contributing a PR.
|
|
||||||
Enabling the check requires no overhead on behalf of the project maintainer beyond merging the action.
|
|
||||||
|
|
||||||
You can add this action to your favorite Gradle based project without checking out their source locally via the
|
|
||||||
GitHub Web UI thanks to the 'Create new file' button.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
Simply add a new file named `.github/workflows/gradle-wrapper-validation.yml` with the contents mentioned above.
|
|
||||||
|
|
||||||
We recommend the message commit contents of:
|
|
||||||
- Title: `Official Gradle Wrapper Validation Action`
|
|
||||||
- Body (at minimum): `See: https://github.com/gradle/wrapper-validation-action`
|
|
||||||
|
|
||||||
From there, you can easily follow the rest of the prompts to create a Pull Request against the project.
|
|
||||||
|
|
||||||
## Reporting Failures
|
|
||||||
|
|
||||||
If this GitHub action fails because a `gradle-wrapper.jar` doesn't match one of our published SHA-256 checksums,
|
|
||||||
we highly recommend that you reach out to us at [security@gradle.com](mailto:security@gradle.com).
|
|
||||||
|
|
||||||
**Note:** `gradle-wrapper.jar` generated by Gradle 3.3 to 4.0 are not verifiable because those files were dynamically generated by Gradle in a non-reproducible way. It's not possible to verify the `gradle-wrapper.jar` for those versions are legitimate using a hash comparison. You should try to determine if the `gradle-wrapper.jar` was generated by one of these versions before running the build.
|
|
||||||
|
|
||||||
If the Gradle version in `gradle-wrapper.properties` is out of this range, you may need to regenerate the `gradle-wrapper.jar` by running `./gradlew wrapper`. If you need to use a version of Gradle between 3.3 and 4.0, you can use a newer version of Gradle to generate the `gradle-wrapper.jar`.
|
|
||||||
|
|
||||||
If you're curious and want to explore what the differences are between the `gradle-wrapper.jar` in your possession
|
|
||||||
and one of our valid release, you can compare them using this online utility: [DiffScope](https://try.diffoscope.org/).
|
|
||||||
Regardless of what you find, we still kindly request that you reach out to us and let us know.
|
|
||||||
|
|
||||||
## Resources
|
|
||||||
|
|
||||||
To learn more about verifying the Gradle Wrapper JAR locally, see our
|
|
||||||
[guide on the topic](https://docs.gradle.org/current/userguide/gradle_wrapper.html#wrapper_checksum_verification).
|
|
||||||
|
17
RELEASING.md
17
RELEASING.md
@ -1,17 +0,0 @@
|
|||||||
# Release
|
|
||||||
|
|
||||||
* starting on `master`
|
|
||||||
* `npm run all`
|
|
||||||
* `git checkout releases/v1`
|
|
||||||
* `git merge master`
|
|
||||||
* `npm prune --production`
|
|
||||||
* `git add -f node_modules`
|
|
||||||
* if changed dependencies `git commit -m Dependencies && git push`
|
|
||||||
* `git tag v1.0.x && git push --tags` with the actual version number
|
|
||||||
* `git tag --delete v1 && git push --delete origin v1 && git tag v1 && git push --tags`
|
|
||||||
* go to https://github.com/gradle/wrapper-validation-action/releases
|
|
||||||
* edit and publish the now drafted `v1` release
|
|
||||||
* create a new release from the new full version number `v1.0.x`, list the fixed issues and publish the release
|
|
||||||
* go to https://github.com/marketplace/actions/gradle-wrapper-validation
|
|
||||||
* verify that it displays the latest README
|
|
||||||
* verify that the version dropdown displays the new version
|
|
@ -1,29 +0,0 @@
|
|||||||
import * as checksums from '../src/checksums'
|
|
||||||
import nock from 'nock'
|
|
||||||
|
|
||||||
test('fetches wrapper jars checksums', async () => {
|
|
||||||
const validChecksums = await checksums.fetchValidChecksums(false)
|
|
||||||
expect(validChecksums.length).toBeGreaterThan(10)
|
|
||||||
})
|
|
||||||
|
|
||||||
describe('retry', () => {
|
|
||||||
afterEach(() => {
|
|
||||||
nock.cleanAll()
|
|
||||||
})
|
|
||||||
|
|
||||||
describe('for /versions/all API', () => {
|
|
||||||
test('retry three times', async () => {
|
|
||||||
nock('https://services.gradle.org', {allowUnmocked: true})
|
|
||||||
.get('/versions/all')
|
|
||||||
.times(3)
|
|
||||||
.replyWithError({
|
|
||||||
message: 'connect ECONNREFUSED 104.18.191.9:443',
|
|
||||||
code: 'ECONNREFUSED'
|
|
||||||
})
|
|
||||||
|
|
||||||
const validChecksums = await checksums.fetchValidChecksums(false)
|
|
||||||
expect(validChecksums.length).toBeGreaterThan(10)
|
|
||||||
nock.isDone()
|
|
||||||
})
|
|
||||||
})
|
|
||||||
})
|
|
@ -1,11 +0,0 @@
|
|||||||
import * as path from 'path'
|
|
||||||
import * as find from '../src/find'
|
|
||||||
|
|
||||||
test('finds test data wrapper jars', async () => {
|
|
||||||
const repoRoot = path.resolve('.')
|
|
||||||
const wrapperJars = await find.findWrapperJars(repoRoot)
|
|
||||||
expect(wrapperJars.length).toBe(3)
|
|
||||||
expect(wrapperJars).toContain('__tests__/data/valid/gradle-wrapper.jar')
|
|
||||||
expect(wrapperJars).toContain('__tests__/data/invalid/gradle-wrapper.jar')
|
|
||||||
expect(wrapperJars).toContain('__tests__/data/invalid/gradlе-wrapper.jar') // homoglyph
|
|
||||||
})
|
|
@ -1,11 +0,0 @@
|
|||||||
import * as path from 'path'
|
|
||||||
import * as hash from '../src/hash'
|
|
||||||
|
|
||||||
test('can sha256 files', async () => {
|
|
||||||
const sha = await hash.sha256File(
|
|
||||||
path.resolve('__tests__/data/invalid/gradle-wrapper.jar')
|
|
||||||
)
|
|
||||||
expect(sha).toEqual(
|
|
||||||
'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'
|
|
||||||
)
|
|
||||||
})
|
|
@ -1,71 +0,0 @@
|
|||||||
import * as path from 'path'
|
|
||||||
import * as validate from '../src/validate'
|
|
||||||
|
|
||||||
const baseDir = path.resolve('.')
|
|
||||||
|
|
||||||
test('succeeds if all found wrapper jars are valid', async () => {
|
|
||||||
const result = await validate.findInvalidWrapperJars(baseDir, 3, false, [
|
|
||||||
'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'
|
|
||||||
])
|
|
||||||
|
|
||||||
expect(result.isValid()).toBe(true)
|
|
||||||
|
|
||||||
expect(result.toDisplayString()).toBe(
|
|
||||||
'✓ Found known Gradle Wrapper JAR files:\n' +
|
|
||||||
' e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 __tests__/data/invalid/gradle-wrapper.jar\n' +
|
|
||||||
' e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 __tests__/data/invalid/gradlе-wrapper.jar\n' + // homoglyph
|
|
||||||
' 3888c76faa032ea8394b8a54e04ce2227ab1f4be64f65d450f8509fe112d38ce __tests__/data/valid/gradle-wrapper.jar'
|
|
||||||
)
|
|
||||||
})
|
|
||||||
|
|
||||||
test('fails if invalid wrapper jars are found', async () => {
|
|
||||||
const result = await validate.findInvalidWrapperJars(baseDir, 3, false, [])
|
|
||||||
|
|
||||||
expect(result.isValid()).toBe(false)
|
|
||||||
|
|
||||||
expect(result.valid).toEqual([
|
|
||||||
new validate.WrapperJar(
|
|
||||||
'__tests__/data/valid/gradle-wrapper.jar',
|
|
||||||
'3888c76faa032ea8394b8a54e04ce2227ab1f4be64f65d450f8509fe112d38ce'
|
|
||||||
)
|
|
||||||
])
|
|
||||||
|
|
||||||
expect(result.invalid).toEqual([
|
|
||||||
new validate.WrapperJar(
|
|
||||||
'__tests__/data/invalid/gradle-wrapper.jar',
|
|
||||||
'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'
|
|
||||||
),
|
|
||||||
new validate.WrapperJar(
|
|
||||||
'__tests__/data/invalid/gradlе-wrapper.jar', // homoglyph
|
|
||||||
'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'
|
|
||||||
)
|
|
||||||
])
|
|
||||||
|
|
||||||
expect(result.toDisplayString()).toBe(
|
|
||||||
'✗ Found unknown Gradle Wrapper JAR files:\n' +
|
|
||||||
' e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 __tests__/data/invalid/gradle-wrapper.jar\n' +
|
|
||||||
' e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 __tests__/data/invalid/gradlе-wrapper.jar\n' + // homoglyph
|
|
||||||
'✓ Found known Gradle Wrapper JAR files:\n' +
|
|
||||||
' 3888c76faa032ea8394b8a54e04ce2227ab1f4be64f65d450f8509fe112d38ce __tests__/data/valid/gradle-wrapper.jar'
|
|
||||||
)
|
|
||||||
})
|
|
||||||
|
|
||||||
test('fails if not enough wrapper jars are found', async () => {
|
|
||||||
const result = await validate.findInvalidWrapperJars(baseDir, 4, false, [])
|
|
||||||
|
|
||||||
expect(result.isValid()).toBe(false)
|
|
||||||
|
|
||||||
expect(result.errors).toEqual([
|
|
||||||
'Expected to find at least 4 Gradle Wrapper JARs but got only 3'
|
|
||||||
])
|
|
||||||
|
|
||||||
expect(result.toDisplayString()).toBe(
|
|
||||||
'✗ Found unknown Gradle Wrapper JAR files:\n' +
|
|
||||||
' e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 __tests__/data/invalid/gradle-wrapper.jar\n' +
|
|
||||||
' e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 __tests__/data/invalid/gradlе-wrapper.jar\n' + // homoglyph
|
|
||||||
'✗ Other validation errors:\n' +
|
|
||||||
' Expected to find at least 4 Gradle Wrapper JARs but got only 3\n' +
|
|
||||||
'✓ Found known Gradle Wrapper JAR files:\n' +
|
|
||||||
' 3888c76faa032ea8394b8a54e04ce2227ab1f4be64f65d450f8509fe112d38ce __tests__/data/valid/gradle-wrapper.jar'
|
|
||||||
)
|
|
||||||
})
|
|
24
action.yml
24
action.yml
@ -4,21 +4,35 @@ author: 'Gradle'
|
|||||||
|
|
||||||
inputs:
|
inputs:
|
||||||
min-wrapper-count:
|
min-wrapper-count:
|
||||||
description: 'Minimum expected wrapper JAR files'
|
description: 'Minimum number expected gradle-wrapper.jar files found in the repository. Non-negative number. Higher number is useful in monorepos where each project might have their own wrapper.'
|
||||||
required: false
|
required: false
|
||||||
default: '1'
|
default: '1'
|
||||||
allow-snapshots:
|
allow-snapshots:
|
||||||
description: 'Allow snapshot Gradle versions'
|
description: 'Allow Gradle snapshot versions during checksum verification. Boolean, true or false.'
|
||||||
required: false
|
required: false
|
||||||
default: 'false'
|
default: 'false'
|
||||||
allow-checksums:
|
allow-checksums:
|
||||||
description: 'Allow arbitrary checksums, comma separated'
|
description: 'Accept arbitrary user-defined checksums as valid. Comma separated list of SHA256 checksums (lowercase hex).'
|
||||||
required: false
|
required: false
|
||||||
default: ''
|
default: ''
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
failed-wrapper:
|
||||||
|
description: 'The path of the Gradle Wrapper(s) JAR that failed validation. Path is a platform-dependent relative path to git repository root. Multiple paths are separated by a | character.'
|
||||||
|
value: ${{ steps.wrapper-validation.outputs.failed-wrapper }}
|
||||||
|
|
||||||
runs:
|
runs:
|
||||||
using: 'node12'
|
using: "composite"
|
||||||
main: 'dist/index.js'
|
steps:
|
||||||
|
- name: Wrapper Validation
|
||||||
|
id: wrapper-validation
|
||||||
|
uses: gradle/actions/wrapper-validation@v3.5.0
|
||||||
|
with:
|
||||||
|
min-wrapper-count: ${{ inputs.min-wrapper-count }}
|
||||||
|
allow-snapshots: ${{ inputs.allow-snapshots }}
|
||||||
|
allow-checksums: ${{ inputs.allow-checksums }}
|
||||||
|
env:
|
||||||
|
GRADLE_ACTION_ID: gradle/wrapper-validation-action
|
||||||
|
|
||||||
branding:
|
branding:
|
||||||
icon: 'shield'
|
icon: 'shield'
|
||||||
|
3939
dist/index.js
vendored
3939
dist/index.js
vendored
File diff suppressed because one or more lines are too long
@ -1,12 +0,0 @@
|
|||||||
module.exports = {
|
|
||||||
clearMocks: true,
|
|
||||||
moduleFileExtensions: ['js', 'ts', 'json'],
|
|
||||||
testEnvironment: 'node',
|
|
||||||
testMatch: ['**/*.test.ts'],
|
|
||||||
testRunner: 'jest-circus/runner',
|
|
||||||
transform: {
|
|
||||||
'^.+\\.ts$': 'ts-jest'
|
|
||||||
},
|
|
||||||
verbose: true,
|
|
||||||
setupFilesAfterEnv: ['./jest.setup.js']
|
|
||||||
}
|
|
@ -1 +0,0 @@
|
|||||||
jest.setTimeout(10000) // in milliseconds
|
|
9
node_modules/@actions/core/LICENSE.md
generated
vendored
9
node_modules/@actions/core/LICENSE.md
generated
vendored
@ -1,9 +0,0 @@
|
|||||||
The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright 2019 GitHub
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
147
node_modules/@actions/core/README.md
generated
vendored
147
node_modules/@actions/core/README.md
generated
vendored
@ -1,147 +0,0 @@
|
|||||||
# `@actions/core`
|
|
||||||
|
|
||||||
> Core functions for setting results, logging, registering secrets and exporting variables across actions
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
### Import the package
|
|
||||||
|
|
||||||
```js
|
|
||||||
// javascript
|
|
||||||
const core = require('@actions/core');
|
|
||||||
|
|
||||||
// typescript
|
|
||||||
import * as core from '@actions/core';
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Inputs/Outputs
|
|
||||||
|
|
||||||
Action inputs can be read with `getInput`. Outputs can be set with `setOutput` which makes them available to be mapped into inputs of other actions to ensure they are decoupled.
|
|
||||||
|
|
||||||
```js
|
|
||||||
const myInput = core.getInput('inputName', { required: true });
|
|
||||||
|
|
||||||
core.setOutput('outputKey', 'outputVal');
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Exporting variables
|
|
||||||
|
|
||||||
Since each step runs in a separate process, you can use `exportVariable` to add it to this step and future steps environment blocks.
|
|
||||||
|
|
||||||
```js
|
|
||||||
core.exportVariable('envVar', 'Val');
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Setting a secret
|
|
||||||
|
|
||||||
Setting a secret registers the secret with the runner to ensure it is masked in logs.
|
|
||||||
|
|
||||||
```js
|
|
||||||
core.setSecret('myPassword');
|
|
||||||
```
|
|
||||||
|
|
||||||
#### PATH Manipulation
|
|
||||||
|
|
||||||
To make a tool's path available in the path for the remainder of the job (without altering the machine or containers state), use `addPath`. The runner will prepend the path given to the jobs PATH.
|
|
||||||
|
|
||||||
```js
|
|
||||||
core.addPath('/path/to/mytool');
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Exit codes
|
|
||||||
|
|
||||||
You should use this library to set the failing exit code for your action. If status is not set and the script runs to completion, that will lead to a success.
|
|
||||||
|
|
||||||
```js
|
|
||||||
const core = require('@actions/core');
|
|
||||||
|
|
||||||
try {
|
|
||||||
// Do stuff
|
|
||||||
}
|
|
||||||
catch (err) {
|
|
||||||
// setFailed logs the message and sets a failing exit code
|
|
||||||
core.setFailed(`Action failed with error ${err}`);
|
|
||||||
}
|
|
||||||
|
|
||||||
Note that `setNeutral` is not yet implemented in actions V2 but equivalent functionality is being planned.
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Logging
|
|
||||||
|
|
||||||
Finally, this library provides some utilities for logging. Note that debug logging is hidden from the logs by default. This behavior can be toggled by enabling the [Step Debug Logs](../../docs/action-debugging.md#step-debug-logs).
|
|
||||||
|
|
||||||
```js
|
|
||||||
const core = require('@actions/core');
|
|
||||||
|
|
||||||
const myInput = core.getInput('input');
|
|
||||||
try {
|
|
||||||
core.debug('Inside try block');
|
|
||||||
|
|
||||||
if (!myInput) {
|
|
||||||
core.warning('myInput was not set');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (core.isDebug()) {
|
|
||||||
// curl -v https://github.com
|
|
||||||
} else {
|
|
||||||
// curl https://github.com
|
|
||||||
}
|
|
||||||
|
|
||||||
// Do stuff
|
|
||||||
core.info('Output to the actions build log')
|
|
||||||
}
|
|
||||||
catch (err) {
|
|
||||||
core.error(`Error ${err}, action may still succeed though`);
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
This library can also wrap chunks of output in foldable groups.
|
|
||||||
|
|
||||||
```js
|
|
||||||
const core = require('@actions/core')
|
|
||||||
|
|
||||||
// Manually wrap output
|
|
||||||
core.startGroup('Do some function')
|
|
||||||
doSomeFunction()
|
|
||||||
core.endGroup()
|
|
||||||
|
|
||||||
// Wrap an asynchronous function call
|
|
||||||
const result = await core.group('Do something async', async () => {
|
|
||||||
const response = await doSomeHTTPRequest()
|
|
||||||
return response
|
|
||||||
})
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Action state
|
|
||||||
|
|
||||||
You can use this library to save state and get state for sharing information between a given wrapper action:
|
|
||||||
|
|
||||||
**action.yml**
|
|
||||||
```yaml
|
|
||||||
name: 'Wrapper action sample'
|
|
||||||
inputs:
|
|
||||||
name:
|
|
||||||
default: 'GitHub'
|
|
||||||
runs:
|
|
||||||
using: 'node12'
|
|
||||||
main: 'main.js'
|
|
||||||
post: 'cleanup.js'
|
|
||||||
```
|
|
||||||
|
|
||||||
In action's `main.js`:
|
|
||||||
|
|
||||||
```js
|
|
||||||
const core = require('@actions/core');
|
|
||||||
|
|
||||||
core.saveState("pidToKill", 12345);
|
|
||||||
```
|
|
||||||
|
|
||||||
In action's `cleanup.js`:
|
|
||||||
```js
|
|
||||||
const core = require('@actions/core');
|
|
||||||
|
|
||||||
var pid = core.getState("pidToKill");
|
|
||||||
|
|
||||||
process.kill(pid);
|
|
||||||
```
|
|
16
node_modules/@actions/core/lib/command.d.ts
generated
vendored
16
node_modules/@actions/core/lib/command.d.ts
generated
vendored
@ -1,16 +0,0 @@
|
|||||||
interface CommandProperties {
|
|
||||||
[key: string]: any;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Commands
|
|
||||||
*
|
|
||||||
* Command Format:
|
|
||||||
* ::name key=value,key=value::message
|
|
||||||
*
|
|
||||||
* Examples:
|
|
||||||
* ::warning::This is the message
|
|
||||||
* ::set-env name=MY_VAR::some value
|
|
||||||
*/
|
|
||||||
export declare function issueCommand(command: string, properties: CommandProperties, message: any): void;
|
|
||||||
export declare function issue(name: string, message?: string): void;
|
|
||||||
export {};
|
|
79
node_modules/@actions/core/lib/command.js
generated
vendored
79
node_modules/@actions/core/lib/command.js
generated
vendored
@ -1,79 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
var __importStar = (this && this.__importStar) || function (mod) {
|
|
||||||
if (mod && mod.__esModule) return mod;
|
|
||||||
var result = {};
|
|
||||||
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
|
||||||
result["default"] = mod;
|
|
||||||
return result;
|
|
||||||
};
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
|
||||||
const os = __importStar(require("os"));
|
|
||||||
const utils_1 = require("./utils");
|
|
||||||
/**
|
|
||||||
* Commands
|
|
||||||
*
|
|
||||||
* Command Format:
|
|
||||||
* ::name key=value,key=value::message
|
|
||||||
*
|
|
||||||
* Examples:
|
|
||||||
* ::warning::This is the message
|
|
||||||
* ::set-env name=MY_VAR::some value
|
|
||||||
*/
|
|
||||||
function issueCommand(command, properties, message) {
|
|
||||||
const cmd = new Command(command, properties, message);
|
|
||||||
process.stdout.write(cmd.toString() + os.EOL);
|
|
||||||
}
|
|
||||||
exports.issueCommand = issueCommand;
|
|
||||||
function issue(name, message = '') {
|
|
||||||
issueCommand(name, {}, message);
|
|
||||||
}
|
|
||||||
exports.issue = issue;
|
|
||||||
const CMD_STRING = '::';
|
|
||||||
class Command {
|
|
||||||
constructor(command, properties, message) {
|
|
||||||
if (!command) {
|
|
||||||
command = 'missing.command';
|
|
||||||
}
|
|
||||||
this.command = command;
|
|
||||||
this.properties = properties;
|
|
||||||
this.message = message;
|
|
||||||
}
|
|
||||||
toString() {
|
|
||||||
let cmdStr = CMD_STRING + this.command;
|
|
||||||
if (this.properties && Object.keys(this.properties).length > 0) {
|
|
||||||
cmdStr += ' ';
|
|
||||||
let first = true;
|
|
||||||
for (const key in this.properties) {
|
|
||||||
if (this.properties.hasOwnProperty(key)) {
|
|
||||||
const val = this.properties[key];
|
|
||||||
if (val) {
|
|
||||||
if (first) {
|
|
||||||
first = false;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
cmdStr += ',';
|
|
||||||
}
|
|
||||||
cmdStr += `${key}=${escapeProperty(val)}`;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
cmdStr += `${CMD_STRING}${escapeData(this.message)}`;
|
|
||||||
return cmdStr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
function escapeData(s) {
|
|
||||||
return utils_1.toCommandValue(s)
|
|
||||||
.replace(/%/g, '%25')
|
|
||||||
.replace(/\r/g, '%0D')
|
|
||||||
.replace(/\n/g, '%0A');
|
|
||||||
}
|
|
||||||
function escapeProperty(s) {
|
|
||||||
return utils_1.toCommandValue(s)
|
|
||||||
.replace(/%/g, '%25')
|
|
||||||
.replace(/\r/g, '%0D')
|
|
||||||
.replace(/\n/g, '%0A')
|
|
||||||
.replace(/:/g, '%3A')
|
|
||||||
.replace(/,/g, '%2C');
|
|
||||||
}
|
|
||||||
//# sourceMappingURL=command.js.map
|
|
1
node_modules/@actions/core/lib/command.js.map
generated
vendored
1
node_modules/@actions/core/lib/command.js.map
generated
vendored
@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":";;;;;;;;;AAAA,uCAAwB;AACxB,mCAAsC;AAWtC;;;;;;;;;GASG;AACH,SAAgB,YAAY,CAC1B,OAAe,EACf,UAA6B,EAC7B,OAAY;IAEZ,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;AAC/C,CAAC;AAPD,oCAOC;AAED,SAAgB,KAAK,CAAC,IAAY,EAAE,UAAkB,EAAE;IACtD,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;AACjC,CAAC;AAFD,sBAEC;AAED,MAAM,UAAU,GAAG,IAAI,CAAA;AAEvB,MAAM,OAAO;IAKX,YAAY,OAAe,EAAE,UAA6B,EAAE,OAAe;QACzE,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,iBAAiB,CAAA;SAC5B;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,QAAQ;QACN,IAAI,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC,OAAO,CAAA;QAEtC,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9D,MAAM,IAAI,GAAG,CAAA;YACb,IAAI,KAAK,GAAG,IAAI,CAAA;YAChB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjC,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBACvC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;oBAChC,IAAI,GAAG,EAAE;wBACP,IAAI,KAAK,EAAE;4BACT,KAAK,GAAG,KAAK,CAAA;yBACd;6BAAM;4BACL,MAAM,IAAI,GAAG,CAAA;yBACd;wBAED,MAAM,IAAI,GAAG,GAAG,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAA;qBAC1C;iBACF;aACF;SACF;QAED,MAAM,IAAI,GAAG,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA;QACpD,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED,SAAS,UAAU,CAAC,CAAM;IACxB,OAAO,sBAAc,CAAC,CAAC,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAC1B,CAAC;AAED,SAAS,cAAc,CAAC,CAAM;IAC5B,OAAO,sBAAc,CAAC,CAAC,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACzB,CAAC"}
|
|
122
node_modules/@actions/core/lib/core.d.ts
generated
vendored
122
node_modules/@actions/core/lib/core.d.ts
generated
vendored
@ -1,122 +0,0 @@
|
|||||||
/**
|
|
||||||
* Interface for getInput options
|
|
||||||
*/
|
|
||||||
export interface InputOptions {
|
|
||||||
/** Optional. Whether the input is required. If required and not present, will throw. Defaults to false */
|
|
||||||
required?: boolean;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* The code to exit an action
|
|
||||||
*/
|
|
||||||
export declare enum ExitCode {
|
|
||||||
/**
|
|
||||||
* A code indicating that the action was successful
|
|
||||||
*/
|
|
||||||
Success = 0,
|
|
||||||
/**
|
|
||||||
* A code indicating that the action was a failure
|
|
||||||
*/
|
|
||||||
Failure = 1
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Sets env variable for this action and future actions in the job
|
|
||||||
* @param name the name of the variable to set
|
|
||||||
* @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify
|
|
||||||
*/
|
|
||||||
export declare function exportVariable(name: string, val: any): void;
|
|
||||||
/**
|
|
||||||
* Registers a secret which will get masked from logs
|
|
||||||
* @param secret value of the secret
|
|
||||||
*/
|
|
||||||
export declare function setSecret(secret: string): void;
|
|
||||||
/**
|
|
||||||
* Prepends inputPath to the PATH (for this action and future actions)
|
|
||||||
* @param inputPath
|
|
||||||
*/
|
|
||||||
export declare function addPath(inputPath: string): void;
|
|
||||||
/**
|
|
||||||
* Gets the value of an input. The value is also trimmed.
|
|
||||||
*
|
|
||||||
* @param name name of the input to get
|
|
||||||
* @param options optional. See InputOptions.
|
|
||||||
* @returns string
|
|
||||||
*/
|
|
||||||
export declare function getInput(name: string, options?: InputOptions): string;
|
|
||||||
/**
|
|
||||||
* Sets the value of an output.
|
|
||||||
*
|
|
||||||
* @param name name of the output to set
|
|
||||||
* @param value value to store. Non-string values will be converted to a string via JSON.stringify
|
|
||||||
*/
|
|
||||||
export declare function setOutput(name: string, value: any): void;
|
|
||||||
/**
|
|
||||||
* Enables or disables the echoing of commands into stdout for the rest of the step.
|
|
||||||
* Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
export declare function setCommandEcho(enabled: boolean): void;
|
|
||||||
/**
|
|
||||||
* Sets the action status to failed.
|
|
||||||
* When the action exits it will be with an exit code of 1
|
|
||||||
* @param message add error issue message
|
|
||||||
*/
|
|
||||||
export declare function setFailed(message: string | Error): void;
|
|
||||||
/**
|
|
||||||
* Gets whether Actions Step Debug is on or not
|
|
||||||
*/
|
|
||||||
export declare function isDebug(): boolean;
|
|
||||||
/**
|
|
||||||
* Writes debug message to user log
|
|
||||||
* @param message debug message
|
|
||||||
*/
|
|
||||||
export declare function debug(message: string): void;
|
|
||||||
/**
|
|
||||||
* Adds an error issue
|
|
||||||
* @param message error issue message. Errors will be converted to string via toString()
|
|
||||||
*/
|
|
||||||
export declare function error(message: string | Error): void;
|
|
||||||
/**
|
|
||||||
* Adds an warning issue
|
|
||||||
* @param message warning issue message. Errors will be converted to string via toString()
|
|
||||||
*/
|
|
||||||
export declare function warning(message: string | Error): void;
|
|
||||||
/**
|
|
||||||
* Writes info to log with console.log.
|
|
||||||
* @param message info message
|
|
||||||
*/
|
|
||||||
export declare function info(message: string): void;
|
|
||||||
/**
|
|
||||||
* Begin an output group.
|
|
||||||
*
|
|
||||||
* Output until the next `groupEnd` will be foldable in this group
|
|
||||||
*
|
|
||||||
* @param name The name of the output group
|
|
||||||
*/
|
|
||||||
export declare function startGroup(name: string): void;
|
|
||||||
/**
|
|
||||||
* End an output group.
|
|
||||||
*/
|
|
||||||
export declare function endGroup(): void;
|
|
||||||
/**
|
|
||||||
* Wrap an asynchronous function call in a group.
|
|
||||||
*
|
|
||||||
* Returns the same type as the function itself.
|
|
||||||
*
|
|
||||||
* @param name The name of the group
|
|
||||||
* @param fn The function to wrap in the group
|
|
||||||
*/
|
|
||||||
export declare function group<T>(name: string, fn: () => Promise<T>): Promise<T>;
|
|
||||||
/**
|
|
||||||
* Saves state for current action, the state can only be retrieved by this action's post job execution.
|
|
||||||
*
|
|
||||||
* @param name name of the state to store
|
|
||||||
* @param value value to store. Non-string values will be converted to a string via JSON.stringify
|
|
||||||
*/
|
|
||||||
export declare function saveState(name: string, value: any): void;
|
|
||||||
/**
|
|
||||||
* Gets the value of an state set by this action's main execution.
|
|
||||||
*
|
|
||||||
* @param name name of the state to get
|
|
||||||
* @returns string
|
|
||||||
*/
|
|
||||||
export declare function getState(name: string): string;
|
|
238
node_modules/@actions/core/lib/core.js
generated
vendored
238
node_modules/@actions/core/lib/core.js
generated
vendored
@ -1,238 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
||||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
||||||
return new (P || (P = Promise))(function (resolve, reject) {
|
|
||||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
||||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
||||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
||||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
||||||
});
|
|
||||||
};
|
|
||||||
var __importStar = (this && this.__importStar) || function (mod) {
|
|
||||||
if (mod && mod.__esModule) return mod;
|
|
||||||
var result = {};
|
|
||||||
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
|
||||||
result["default"] = mod;
|
|
||||||
return result;
|
|
||||||
};
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
|
||||||
const command_1 = require("./command");
|
|
||||||
const file_command_1 = require("./file-command");
|
|
||||||
const utils_1 = require("./utils");
|
|
||||||
const os = __importStar(require("os"));
|
|
||||||
const path = __importStar(require("path"));
|
|
||||||
/**
|
|
||||||
* The code to exit an action
|
|
||||||
*/
|
|
||||||
var ExitCode;
|
|
||||||
(function (ExitCode) {
|
|
||||||
/**
|
|
||||||
* A code indicating that the action was successful
|
|
||||||
*/
|
|
||||||
ExitCode[ExitCode["Success"] = 0] = "Success";
|
|
||||||
/**
|
|
||||||
* A code indicating that the action was a failure
|
|
||||||
*/
|
|
||||||
ExitCode[ExitCode["Failure"] = 1] = "Failure";
|
|
||||||
})(ExitCode = exports.ExitCode || (exports.ExitCode = {}));
|
|
||||||
//-----------------------------------------------------------------------
|
|
||||||
// Variables
|
|
||||||
//-----------------------------------------------------------------------
|
|
||||||
/**
|
|
||||||
* Sets env variable for this action and future actions in the job
|
|
||||||
* @param name the name of the variable to set
|
|
||||||
* @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify
|
|
||||||
*/
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
||||||
function exportVariable(name, val) {
|
|
||||||
const convertedVal = utils_1.toCommandValue(val);
|
|
||||||
process.env[name] = convertedVal;
|
|
||||||
const filePath = process.env['GITHUB_ENV'] || '';
|
|
||||||
if (filePath) {
|
|
||||||
const delimiter = '_GitHubActionsFileCommandDelimeter_';
|
|
||||||
const commandValue = `${name}<<${delimiter}${os.EOL}${convertedVal}${os.EOL}${delimiter}`;
|
|
||||||
file_command_1.issueCommand('ENV', commandValue);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
command_1.issueCommand('set-env', { name }, convertedVal);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
exports.exportVariable = exportVariable;
|
|
||||||
/**
|
|
||||||
* Registers a secret which will get masked from logs
|
|
||||||
* @param secret value of the secret
|
|
||||||
*/
|
|
||||||
function setSecret(secret) {
|
|
||||||
command_1.issueCommand('add-mask', {}, secret);
|
|
||||||
}
|
|
||||||
exports.setSecret = setSecret;
|
|
||||||
/**
|
|
||||||
* Prepends inputPath to the PATH (for this action and future actions)
|
|
||||||
* @param inputPath
|
|
||||||
*/
|
|
||||||
function addPath(inputPath) {
|
|
||||||
const filePath = process.env['GITHUB_PATH'] || '';
|
|
||||||
if (filePath) {
|
|
||||||
file_command_1.issueCommand('PATH', inputPath);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
command_1.issueCommand('add-path', {}, inputPath);
|
|
||||||
}
|
|
||||||
process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`;
|
|
||||||
}
|
|
||||||
exports.addPath = addPath;
|
|
||||||
/**
|
|
||||||
* Gets the value of an input. The value is also trimmed.
|
|
||||||
*
|
|
||||||
* @param name name of the input to get
|
|
||||||
* @param options optional. See InputOptions.
|
|
||||||
* @returns string
|
|
||||||
*/
|
|
||||||
function getInput(name, options) {
|
|
||||||
const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || '';
|
|
||||||
if (options && options.required && !val) {
|
|
||||||
throw new Error(`Input required and not supplied: ${name}`);
|
|
||||||
}
|
|
||||||
return val.trim();
|
|
||||||
}
|
|
||||||
exports.getInput = getInput;
|
|
||||||
/**
|
|
||||||
* Sets the value of an output.
|
|
||||||
*
|
|
||||||
* @param name name of the output to set
|
|
||||||
* @param value value to store. Non-string values will be converted to a string via JSON.stringify
|
|
||||||
*/
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
||||||
function setOutput(name, value) {
|
|
||||||
command_1.issueCommand('set-output', { name }, value);
|
|
||||||
}
|
|
||||||
exports.setOutput = setOutput;
|
|
||||||
/**
|
|
||||||
* Enables or disables the echoing of commands into stdout for the rest of the step.
|
|
||||||
* Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
function setCommandEcho(enabled) {
|
|
||||||
command_1.issue('echo', enabled ? 'on' : 'off');
|
|
||||||
}
|
|
||||||
exports.setCommandEcho = setCommandEcho;
|
|
||||||
//-----------------------------------------------------------------------
|
|
||||||
// Results
|
|
||||||
//-----------------------------------------------------------------------
|
|
||||||
/**
|
|
||||||
* Sets the action status to failed.
|
|
||||||
* When the action exits it will be with an exit code of 1
|
|
||||||
* @param message add error issue message
|
|
||||||
*/
|
|
||||||
function setFailed(message) {
|
|
||||||
process.exitCode = ExitCode.Failure;
|
|
||||||
error(message);
|
|
||||||
}
|
|
||||||
exports.setFailed = setFailed;
|
|
||||||
//-----------------------------------------------------------------------
|
|
||||||
// Logging Commands
|
|
||||||
//-----------------------------------------------------------------------
|
|
||||||
/**
|
|
||||||
* Gets whether Actions Step Debug is on or not
|
|
||||||
*/
|
|
||||||
function isDebug() {
|
|
||||||
return process.env['RUNNER_DEBUG'] === '1';
|
|
||||||
}
|
|
||||||
exports.isDebug = isDebug;
|
|
||||||
/**
|
|
||||||
* Writes debug message to user log
|
|
||||||
* @param message debug message
|
|
||||||
*/
|
|
||||||
function debug(message) {
|
|
||||||
command_1.issueCommand('debug', {}, message);
|
|
||||||
}
|
|
||||||
exports.debug = debug;
|
|
||||||
/**
|
|
||||||
* Adds an error issue
|
|
||||||
* @param message error issue message. Errors will be converted to string via toString()
|
|
||||||
*/
|
|
||||||
function error(message) {
|
|
||||||
command_1.issue('error', message instanceof Error ? message.toString() : message);
|
|
||||||
}
|
|
||||||
exports.error = error;
|
|
||||||
/**
|
|
||||||
* Adds an warning issue
|
|
||||||
* @param message warning issue message. Errors will be converted to string via toString()
|
|
||||||
*/
|
|
||||||
function warning(message) {
|
|
||||||
command_1.issue('warning', message instanceof Error ? message.toString() : message);
|
|
||||||
}
|
|
||||||
exports.warning = warning;
|
|
||||||
/**
|
|
||||||
* Writes info to log with console.log.
|
|
||||||
* @param message info message
|
|
||||||
*/
|
|
||||||
function info(message) {
|
|
||||||
process.stdout.write(message + os.EOL);
|
|
||||||
}
|
|
||||||
exports.info = info;
|
|
||||||
/**
|
|
||||||
* Begin an output group.
|
|
||||||
*
|
|
||||||
* Output until the next `groupEnd` will be foldable in this group
|
|
||||||
*
|
|
||||||
* @param name The name of the output group
|
|
||||||
*/
|
|
||||||
function startGroup(name) {
|
|
||||||
command_1.issue('group', name);
|
|
||||||
}
|
|
||||||
exports.startGroup = startGroup;
|
|
||||||
/**
|
|
||||||
* End an output group.
|
|
||||||
*/
|
|
||||||
function endGroup() {
|
|
||||||
command_1.issue('endgroup');
|
|
||||||
}
|
|
||||||
exports.endGroup = endGroup;
|
|
||||||
/**
|
|
||||||
* Wrap an asynchronous function call in a group.
|
|
||||||
*
|
|
||||||
* Returns the same type as the function itself.
|
|
||||||
*
|
|
||||||
* @param name The name of the group
|
|
||||||
* @param fn The function to wrap in the group
|
|
||||||
*/
|
|
||||||
function group(name, fn) {
|
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
|
||||||
startGroup(name);
|
|
||||||
let result;
|
|
||||||
try {
|
|
||||||
result = yield fn();
|
|
||||||
}
|
|
||||||
finally {
|
|
||||||
endGroup();
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
exports.group = group;
|
|
||||||
//-----------------------------------------------------------------------
|
|
||||||
// Wrapper action state
|
|
||||||
//-----------------------------------------------------------------------
|
|
||||||
/**
|
|
||||||
* Saves state for current action, the state can only be retrieved by this action's post job execution.
|
|
||||||
*
|
|
||||||
* @param name name of the state to store
|
|
||||||
* @param value value to store. Non-string values will be converted to a string via JSON.stringify
|
|
||||||
*/
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
||||||
function saveState(name, value) {
|
|
||||||
command_1.issueCommand('save-state', { name }, value);
|
|
||||||
}
|
|
||||||
exports.saveState = saveState;
|
|
||||||
/**
|
|
||||||
* Gets the value of an state set by this action's main execution.
|
|
||||||
*
|
|
||||||
* @param name name of the state to get
|
|
||||||
* @returns string
|
|
||||||
*/
|
|
||||||
function getState(name) {
|
|
||||||
return process.env[`STATE_${name}`] || '';
|
|
||||||
}
|
|
||||||
exports.getState = getState;
|
|
||||||
//# sourceMappingURL=core.js.map
|
|
1
node_modules/@actions/core/lib/core.js.map
generated
vendored
1
node_modules/@actions/core/lib/core.js.map
generated
vendored
@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,uCAA6C;AAC7C,iDAA+D;AAC/D,mCAAsC;AAEtC,uCAAwB;AACxB,2CAA4B;AAU5B;;GAEG;AACH,IAAY,QAUX;AAVD,WAAY,QAAQ;IAClB;;OAEG;IACH,6CAAW,CAAA;IAEX;;OAEG;IACH,6CAAW,CAAA;AACb,CAAC,EAVW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAUnB;AAED,yEAAyE;AACzE,YAAY;AACZ,yEAAyE;AAEzE;;;;GAIG;AACH,8DAA8D;AAC9D,SAAgB,cAAc,CAAC,IAAY,EAAE,GAAQ;IACnD,MAAM,YAAY,GAAG,sBAAc,CAAC,GAAG,CAAC,CAAA;IACxC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,YAAY,CAAA;IAEhC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA;IAChD,IAAI,QAAQ,EAAE;QACZ,MAAM,SAAS,GAAG,qCAAqC,CAAA;QACvD,MAAM,YAAY,GAAG,GAAG,IAAI,KAAK,SAAS,GAAG,EAAE,CAAC,GAAG,GAAG,YAAY,GAAG,EAAE,CAAC,GAAG,GAAG,SAAS,EAAE,CAAA;QACzF,2BAAgB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;KACtC;SAAM;QACL,sBAAY,CAAC,SAAS,EAAE,EAAC,IAAI,EAAC,EAAE,YAAY,CAAC,CAAA;KAC9C;AACH,CAAC;AAZD,wCAYC;AAED;;;GAGG;AACH,SAAgB,SAAS,CAAC,MAAc;IACtC,sBAAY,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;AACtC,CAAC;AAFD,8BAEC;AAED;;;GAGG;AACH,SAAgB,OAAO,CAAC,SAAiB;IACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAA;IACjD,IAAI,QAAQ,EAAE;QACZ,2BAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;KACpC;SAAM;QACL,sBAAY,CAAC,UAAU,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;KACxC;IACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAA;AAC7E,CAAC;AARD,0BAQC;AAED;;;;;;GAMG;AACH,SAAgB,QAAQ,CAAC,IAAY,EAAE,OAAsB;IAC3D,MAAM,GAAG,GACP,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,EAAE,CAAA;IACrE,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE;QACvC,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,EAAE,CAAC,CAAA;KAC5D;IAED,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;AACnB,CAAC;AARD,4BAQC;AAED;;;;;GAKG;AACH,8DAA8D;AAC9D,SAAgB,SAAS,CAAC,IAAY,EAAE,KAAU;IAChD,sBAAY,CAAC,YAAY,EAAE,EAAC,IAAI,EAAC,EAAE,KAAK,CAAC,CAAA;AAC3C,CAAC;AAFD,8BAEC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAAC,OAAgB;IAC7C,eAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;AACvC,CAAC;AAFD,wCAEC;AAED,yEAAyE;AACzE,UAAU;AACV,yEAAyE;AAEzE;;;;GAIG;AACH,SAAgB,SAAS,CAAC,OAAuB;IAC/C,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAA;IAEnC,KAAK,CAAC,OAAO,CAAC,CAAA;AAChB,CAAC;AAJD,8BAIC;AAED,yEAAyE;AACzE,mBAAmB;AACnB,yEAAyE;AAEzE;;GAEG;AACH,SAAgB,OAAO;IACrB,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,GAAG,CAAA;AAC5C,CAAC;AAFD,0BAEC;AAED;;;GAGG;AACH,SAAgB,KAAK,CAAC,OAAe;IACnC,sBAAY,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;AACpC,CAAC;AAFD,sBAEC;AAED;;;GAGG;AACH,SAAgB,KAAK,CAAC,OAAuB;IAC3C,eAAK,CAAC,OAAO,EAAE,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;AACzE,CAAC;AAFD,sBAEC;AAED;;;GAGG;AACH,SAAgB,OAAO,CAAC,OAAuB;IAC7C,eAAK,CAAC,SAAS,EAAE,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;AAC3E,CAAC;AAFD,0BAEC;AAED;;;GAGG;AACH,SAAgB,IAAI,CAAC,OAAe;IAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;AACxC,CAAC;AAFD,oBAEC;AAED;;;;;;GAMG;AACH,SAAgB,UAAU,CAAC,IAAY;IACrC,eAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AACtB,CAAC;AAFD,gCAEC;AAED;;GAEG;AACH,SAAgB,QAAQ;IACtB,eAAK,CAAC,UAAU,CAAC,CAAA;AACnB,CAAC;AAFD,4BAEC;AAED;;;;;;;GAOG;AACH,SAAsB,KAAK,CAAI,IAAY,EAAE,EAAoB;;QAC/D,UAAU,CAAC,IAAI,CAAC,CAAA;QAEhB,IAAI,MAAS,CAAA;QAEb,IAAI;YACF,MAAM,GAAG,MAAM,EAAE,EAAE,CAAA;SACpB;gBAAS;YACR,QAAQ,EAAE,CAAA;SACX;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CAAA;AAZD,sBAYC;AAED,yEAAyE;AACzE,uBAAuB;AACvB,yEAAyE;AAEzE;;;;;GAKG;AACH,8DAA8D;AAC9D,SAAgB,SAAS,CAAC,IAAY,EAAE,KAAU;IAChD,sBAAY,CAAC,YAAY,EAAE,EAAC,IAAI,EAAC,EAAE,KAAK,CAAC,CAAA;AAC3C,CAAC;AAFD,8BAEC;AAED;;;;;GAKG;AACH,SAAgB,QAAQ,CAAC,IAAY;IACnC,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;AAC3C,CAAC;AAFD,4BAEC"}
|
|
1
node_modules/@actions/core/lib/file-command.d.ts
generated
vendored
1
node_modules/@actions/core/lib/file-command.d.ts
generated
vendored
@ -1 +0,0 @@
|
|||||||
export declare function issueCommand(command: string, message: any): void;
|
|
29
node_modules/@actions/core/lib/file-command.js
generated
vendored
29
node_modules/@actions/core/lib/file-command.js
generated
vendored
@ -1,29 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
// For internal use, subject to change.
|
|
||||||
var __importStar = (this && this.__importStar) || function (mod) {
|
|
||||||
if (mod && mod.__esModule) return mod;
|
|
||||||
var result = {};
|
|
||||||
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
|
||||||
result["default"] = mod;
|
|
||||||
return result;
|
|
||||||
};
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
|
||||||
// We use any as a valid input type
|
|
||||||
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
||||||
const fs = __importStar(require("fs"));
|
|
||||||
const os = __importStar(require("os"));
|
|
||||||
const utils_1 = require("./utils");
|
|
||||||
function issueCommand(command, message) {
|
|
||||||
const filePath = process.env[`GITHUB_${command}`];
|
|
||||||
if (!filePath) {
|
|
||||||
throw new Error(`Unable to find environment variable for file command ${command}`);
|
|
||||||
}
|
|
||||||
if (!fs.existsSync(filePath)) {
|
|
||||||
throw new Error(`Missing file at path: ${filePath}`);
|
|
||||||
}
|
|
||||||
fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, {
|
|
||||||
encoding: 'utf8'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
exports.issueCommand = issueCommand;
|
|
||||||
//# sourceMappingURL=file-command.js.map
|
|
1
node_modules/@actions/core/lib/file-command.js.map
generated
vendored
1
node_modules/@actions/core/lib/file-command.js.map
generated
vendored
@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"file-command.js","sourceRoot":"","sources":["../src/file-command.ts"],"names":[],"mappings":";AAAA,uCAAuC;;;;;;;;;AAEvC,mCAAmC;AACnC,uDAAuD;AAEvD,uCAAwB;AACxB,uCAAwB;AACxB,mCAAsC;AAEtC,SAAgB,YAAY,CAAC,OAAe,EAAE,OAAY;IACxD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,CAAA;IACjD,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CACb,wDAAwD,OAAO,EAAE,CAClE,CAAA;KACF;IACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAA;KACrD;IAED,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,sBAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;QACjE,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAA;AACJ,CAAC;AAdD,oCAcC"}
|
|
5
node_modules/@actions/core/lib/utils.d.ts
generated
vendored
5
node_modules/@actions/core/lib/utils.d.ts
generated
vendored
@ -1,5 +0,0 @@
|
|||||||
/**
|
|
||||||
* Sanitizes an input into a string so it can be passed into issueCommand safely
|
|
||||||
* @param input input to sanitize into a string
|
|
||||||
*/
|
|
||||||
export declare function toCommandValue(input: any): string;
|
|
19
node_modules/@actions/core/lib/utils.js
generated
vendored
19
node_modules/@actions/core/lib/utils.js
generated
vendored
@ -1,19 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
// We use any as a valid input type
|
|
||||||
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
|
||||||
/**
|
|
||||||
* Sanitizes an input into a string so it can be passed into issueCommand safely
|
|
||||||
* @param input input to sanitize into a string
|
|
||||||
*/
|
|
||||||
function toCommandValue(input) {
|
|
||||||
if (input === null || input === undefined) {
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
else if (typeof input === 'string' || input instanceof String) {
|
|
||||||
return input;
|
|
||||||
}
|
|
||||||
return JSON.stringify(input);
|
|
||||||
}
|
|
||||||
exports.toCommandValue = toCommandValue;
|
|
||||||
//# sourceMappingURL=utils.js.map
|
|
1
node_modules/@actions/core/lib/utils.js.map
generated
vendored
1
node_modules/@actions/core/lib/utils.js.map
generated
vendored
@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";AAAA,mCAAmC;AACnC,uDAAuD;;AAEvD;;;GAGG;AACH,SAAgB,cAAc,CAAC,KAAU;IACvC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;QACzC,OAAO,EAAE,CAAA;KACV;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,EAAE;QAC/D,OAAO,KAAe,CAAA;KACvB;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;AAC9B,CAAC;AAPD,wCAOC"}
|
|
70
node_modules/@actions/core/package.json
generated
vendored
70
node_modules/@actions/core/package.json
generated
vendored
@ -1,70 +0,0 @@
|
|||||||
{
|
|
||||||
"_args": [
|
|
||||||
[
|
|
||||||
"@actions/core@1.2.6",
|
|
||||||
"."
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"_from": "@actions/core@1.2.6",
|
|
||||||
"_id": "@actions/core@1.2.6",
|
|
||||||
"_inBundle": false,
|
|
||||||
"_integrity": "sha512-ZQYitnqiyBc3D+k7LsgSBmMDVkOVidaagDG7j3fOym77jNunWRuYx7VSHa9GNfFZh+zh61xsCjRj4JxMZlDqTA==",
|
|
||||||
"_location": "/@actions/core",
|
|
||||||
"_phantomChildren": {},
|
|
||||||
"_requested": {
|
|
||||||
"type": "version",
|
|
||||||
"registry": true,
|
|
||||||
"raw": "@actions/core@1.2.6",
|
|
||||||
"name": "@actions/core",
|
|
||||||
"escapedName": "@actions%2fcore",
|
|
||||||
"scope": "@actions",
|
|
||||||
"rawSpec": "1.2.6",
|
|
||||||
"saveSpec": null,
|
|
||||||
"fetchSpec": "1.2.6"
|
|
||||||
},
|
|
||||||
"_requiredBy": [
|
|
||||||
"/"
|
|
||||||
],
|
|
||||||
"_resolved": "https://registry.npmjs.org/@actions/core/-/core-1.2.6.tgz",
|
|
||||||
"_spec": "1.2.6",
|
|
||||||
"_where": ".",
|
|
||||||
"bugs": {
|
|
||||||
"url": "https://github.com/actions/toolkit/issues"
|
|
||||||
},
|
|
||||||
"description": "Actions core lib",
|
|
||||||
"devDependencies": {
|
|
||||||
"@types/node": "^12.0.2"
|
|
||||||
},
|
|
||||||
"directories": {
|
|
||||||
"lib": "lib",
|
|
||||||
"test": "__tests__"
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"lib",
|
|
||||||
"!.DS_Store"
|
|
||||||
],
|
|
||||||
"homepage": "https://github.com/actions/toolkit/tree/main/packages/core",
|
|
||||||
"keywords": [
|
|
||||||
"github",
|
|
||||||
"actions",
|
|
||||||
"core"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
|
||||||
"main": "lib/core.js",
|
|
||||||
"name": "@actions/core",
|
|
||||||
"publishConfig": {
|
|
||||||
"access": "public"
|
|
||||||
},
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git+https://github.com/actions/toolkit.git",
|
|
||||||
"directory": "packages/core"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json",
|
|
||||||
"test": "echo \"Error: run tests from root\" && exit 1",
|
|
||||||
"tsc": "tsc"
|
|
||||||
},
|
|
||||||
"types": "lib/core.d.ts",
|
|
||||||
"version": "1.2.6"
|
|
||||||
}
|
|
1
node_modules/call-bind/.eslintignore
generated
vendored
1
node_modules/call-bind/.eslintignore
generated
vendored
@ -1 +0,0 @@
|
|||||||
coverage/
|
|
17
node_modules/call-bind/.eslintrc
generated
vendored
17
node_modules/call-bind/.eslintrc
generated
vendored
@ -1,17 +0,0 @@
|
|||||||
{
|
|
||||||
"root": true,
|
|
||||||
|
|
||||||
"extends": "@ljharb",
|
|
||||||
|
|
||||||
"rules": {
|
|
||||||
"func-name-matching": 0,
|
|
||||||
"id-length": 0,
|
|
||||||
"new-cap": [2, {
|
|
||||||
"capIsNewExceptions": [
|
|
||||||
"GetIntrinsic",
|
|
||||||
],
|
|
||||||
}],
|
|
||||||
"no-magic-numbers": 0,
|
|
||||||
"operator-linebreak": [2, "before"],
|
|
||||||
},
|
|
||||||
}
|
|
12
node_modules/call-bind/.github/FUNDING.yml
generated
vendored
12
node_modules/call-bind/.github/FUNDING.yml
generated
vendored
@ -1,12 +0,0 @@
|
|||||||
# These are supported funding model platforms
|
|
||||||
|
|
||||||
github: [ljharb]
|
|
||||||
patreon: # Replace with a single Patreon username
|
|
||||||
open_collective: # Replace with a single Open Collective username
|
|
||||||
ko_fi: # Replace with a single Ko-fi username
|
|
||||||
tidelift: npm/call-bind
|
|
||||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
|
||||||
liberapay: # Replace with a single Liberapay username
|
|
||||||
issuehunt: # Replace with a single IssueHunt username
|
|
||||||
otechie: # Replace with a single Otechie username
|
|
||||||
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
|
13
node_modules/call-bind/.nycrc
generated
vendored
13
node_modules/call-bind/.nycrc
generated
vendored
@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
"all": true,
|
|
||||||
"check-coverage": false,
|
|
||||||
"reporter": ["text-summary", "text", "html", "json"],
|
|
||||||
"lines": 86,
|
|
||||||
"statements": 85.93,
|
|
||||||
"functions": 82.43,
|
|
||||||
"branches": 76.06,
|
|
||||||
"exclude": [
|
|
||||||
"coverage",
|
|
||||||
"test"
|
|
||||||
]
|
|
||||||
}
|
|
42
node_modules/call-bind/CHANGELOG.md
generated
vendored
42
node_modules/call-bind/CHANGELOG.md
generated
vendored
@ -1,42 +0,0 @@
|
|||||||
# Changelog
|
|
||||||
|
|
||||||
All notable changes to this project will be documented in this file.
|
|
||||||
|
|
||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
|
|
||||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
||||||
|
|
||||||
## [v1.0.2](https://github.com/ljharb/call-bind/compare/v1.0.1...v1.0.2) - 2021-01-11
|
|
||||||
|
|
||||||
### Commits
|
|
||||||
|
|
||||||
- [Fix] properly include the receiver in the bound length [`dbae7bc`](https://github.com/ljharb/call-bind/commit/dbae7bc676c079a0d33c0a43e9ef92cb7b01345d)
|
|
||||||
|
|
||||||
## [v1.0.1](https://github.com/ljharb/call-bind/compare/v1.0.0...v1.0.1) - 2021-01-08
|
|
||||||
|
|
||||||
### Commits
|
|
||||||
|
|
||||||
- [Tests] migrate tests to Github Actions [`b6db284`](https://github.com/ljharb/call-bind/commit/b6db284c36f8ccd195b88a6764fe84b7223a0da1)
|
|
||||||
- [meta] do not publish github action workflow files [`ec7fe46`](https://github.com/ljharb/call-bind/commit/ec7fe46e60cfa4764ee943d2755f5e5a366e578e)
|
|
||||||
- [Fix] preserve original function’s length when possible [`adbceaa`](https://github.com/ljharb/call-bind/commit/adbceaa3cac4b41ea78bb19d7ccdbaaf7e0bdadb)
|
|
||||||
- [Tests] gather coverage data on every job [`d69e23c`](https://github.com/ljharb/call-bind/commit/d69e23cc65f101ba1d4c19bb07fa8eb0ec624be8)
|
|
||||||
- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `tape` [`2fd3586`](https://github.com/ljharb/call-bind/commit/2fd3586c5d47b335364c14293114c6b625ae1f71)
|
|
||||||
- [Deps] update `get-intrinsic` [`f23e931`](https://github.com/ljharb/call-bind/commit/f23e9318cc271c2add8bb38cfded85ee7baf8eee)
|
|
||||||
- [Deps] update `get-intrinsic` [`72d9f44`](https://github.com/ljharb/call-bind/commit/72d9f44e184465ba8dd3fb48260bbcff234985f2)
|
|
||||||
- [meta] fix FUNDING.yml [`e723573`](https://github.com/ljharb/call-bind/commit/e723573438c5a68dcec31fb5d96ea6b7e4a93be8)
|
|
||||||
- [eslint] ignore coverage output [`15e76d2`](https://github.com/ljharb/call-bind/commit/15e76d28a5f43e504696401e5b31ebb78ee1b532)
|
|
||||||
- [meta] add Automatic Rebase and Require Allow Edits workflows [`8fa4dab`](https://github.com/ljharb/call-bind/commit/8fa4dabb23ba3dd7bb92c9571c1241c08b56e4b6)
|
|
||||||
|
|
||||||
## v1.0.0 - 2020-10-30
|
|
||||||
|
|
||||||
### Commits
|
|
||||||
|
|
||||||
- Initial commit [`306cf98`](https://github.com/ljharb/call-bind/commit/306cf98c7ec9e7ef66b653ec152277ac1381eb50)
|
|
||||||
- Tests [`e10d0bb`](https://github.com/ljharb/call-bind/commit/e10d0bbdadc7a10ecedc9a1c035112d3e368b8df)
|
|
||||||
- Implementation [`43852ed`](https://github.com/ljharb/call-bind/commit/43852eda0f187327b7fad2423ca972149a52bd65)
|
|
||||||
- npm init [`408f860`](https://github.com/ljharb/call-bind/commit/408f860b773a2f610805fd3613d0d71bac1b6249)
|
|
||||||
- [meta] add Automatic Rebase and Require Allow Edits workflows [`fb349b2`](https://github.com/ljharb/call-bind/commit/fb349b2e48defbec8b5ec8a8395cc8f69f220b13)
|
|
||||||
- [meta] add `auto-changelog` [`c4001fc`](https://github.com/ljharb/call-bind/commit/c4001fc43031799ef908211c98d3b0fb2b60fde4)
|
|
||||||
- [meta] add "funding"; create `FUNDING.yml` [`d4d6d29`](https://github.com/ljharb/call-bind/commit/d4d6d2974a14bc2e98830468eda7fe6d6a776717)
|
|
||||||
- [Tests] add `npm run lint` [`dedfb98`](https://github.com/ljharb/call-bind/commit/dedfb98bd0ecefb08ddb9a94061bd10cde4332af)
|
|
||||||
- Only apps should have lockfiles [`54ac776`](https://github.com/ljharb/call-bind/commit/54ac77653db45a7361dc153d2f478e743f110650)
|
|
||||||
- [meta] add `safe-publish-latest` [`9ea8e43`](https://github.com/ljharb/call-bind/commit/9ea8e435b950ce9b705559cd651039f9bf40140f)
|
|
21
node_modules/call-bind/LICENSE
generated
vendored
21
node_modules/call-bind/LICENSE
generated
vendored
@ -1,21 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2020 Jordan Harband
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
2
node_modules/call-bind/README.md
generated
vendored
2
node_modules/call-bind/README.md
generated
vendored
@ -1,2 +0,0 @@
|
|||||||
# call-bind
|
|
||||||
Robustly `.call.bind()` a function.
|
|
15
node_modules/call-bind/callBound.js
generated
vendored
15
node_modules/call-bind/callBound.js
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
var GetIntrinsic = require('get-intrinsic');
|
|
||||||
|
|
||||||
var callBind = require('./');
|
|
||||||
|
|
||||||
var $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));
|
|
||||||
|
|
||||||
module.exports = function callBoundIntrinsic(name, allowMissing) {
|
|
||||||
var intrinsic = GetIntrinsic(name, !!allowMissing);
|
|
||||||
if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {
|
|
||||||
return callBind(intrinsic);
|
|
||||||
}
|
|
||||||
return intrinsic;
|
|
||||||
};
|
|
47
node_modules/call-bind/index.js
generated
vendored
47
node_modules/call-bind/index.js
generated
vendored
@ -1,47 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
var bind = require('function-bind');
|
|
||||||
var GetIntrinsic = require('get-intrinsic');
|
|
||||||
|
|
||||||
var $apply = GetIntrinsic('%Function.prototype.apply%');
|
|
||||||
var $call = GetIntrinsic('%Function.prototype.call%');
|
|
||||||
var $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);
|
|
||||||
|
|
||||||
var $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);
|
|
||||||
var $defineProperty = GetIntrinsic('%Object.defineProperty%', true);
|
|
||||||
var $max = GetIntrinsic('%Math.max%');
|
|
||||||
|
|
||||||
if ($defineProperty) {
|
|
||||||
try {
|
|
||||||
$defineProperty({}, 'a', { value: 1 });
|
|
||||||
} catch (e) {
|
|
||||||
// IE 8 has a broken defineProperty
|
|
||||||
$defineProperty = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = function callBind(originalFunction) {
|
|
||||||
var func = $reflectApply(bind, $call, arguments);
|
|
||||||
if ($gOPD && $defineProperty) {
|
|
||||||
var desc = $gOPD(func, 'length');
|
|
||||||
if (desc.configurable) {
|
|
||||||
// original length, plus the receiver, minus any additional arguments (after the receiver)
|
|
||||||
$defineProperty(
|
|
||||||
func,
|
|
||||||
'length',
|
|
||||||
{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return func;
|
|
||||||
};
|
|
||||||
|
|
||||||
var applyBind = function applyBind() {
|
|
||||||
return $reflectApply(bind, $apply, arguments);
|
|
||||||
};
|
|
||||||
|
|
||||||
if ($defineProperty) {
|
|
||||||
$defineProperty(module.exports, 'apply', { value: applyBind });
|
|
||||||
} else {
|
|
||||||
module.exports.apply = applyBind;
|
|
||||||
}
|
|
111
node_modules/call-bind/package.json
generated
vendored
111
node_modules/call-bind/package.json
generated
vendored
@ -1,111 +0,0 @@
|
|||||||
{
|
|
||||||
"_args": [
|
|
||||||
[
|
|
||||||
"call-bind@1.0.2",
|
|
||||||
"."
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"_from": "call-bind@1.0.2",
|
|
||||||
"_id": "call-bind@1.0.2",
|
|
||||||
"_inBundle": false,
|
|
||||||
"_integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
|
|
||||||
"_location": "/call-bind",
|
|
||||||
"_phantomChildren": {},
|
|
||||||
"_requested": {
|
|
||||||
"type": "version",
|
|
||||||
"registry": true,
|
|
||||||
"raw": "call-bind@1.0.2",
|
|
||||||
"name": "call-bind",
|
|
||||||
"escapedName": "call-bind",
|
|
||||||
"rawSpec": "1.0.2",
|
|
||||||
"saveSpec": null,
|
|
||||||
"fetchSpec": "1.0.2"
|
|
||||||
},
|
|
||||||
"_requiredBy": [
|
|
||||||
"/side-channel"
|
|
||||||
],
|
|
||||||
"_resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
|
|
||||||
"_spec": "1.0.2",
|
|
||||||
"_where": ".",
|
|
||||||
"author": {
|
|
||||||
"name": "Jordan Harband",
|
|
||||||
"email": "ljharb@gmail.com"
|
|
||||||
},
|
|
||||||
"auto-changelog": {
|
|
||||||
"output": "CHANGELOG.md",
|
|
||||||
"template": "keepachangelog",
|
|
||||||
"unreleased": false,
|
|
||||||
"commitLimit": false,
|
|
||||||
"backfillLimit": false,
|
|
||||||
"hideCredit": true
|
|
||||||
},
|
|
||||||
"bugs": {
|
|
||||||
"url": "https://github.com/ljharb/call-bind/issues"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"function-bind": "^1.1.1",
|
|
||||||
"get-intrinsic": "^1.0.2"
|
|
||||||
},
|
|
||||||
"description": "Robustly `.call.bind()` a function",
|
|
||||||
"devDependencies": {
|
|
||||||
"@ljharb/eslint-config": "^17.3.0",
|
|
||||||
"aud": "^1.1.3",
|
|
||||||
"auto-changelog": "^2.2.1",
|
|
||||||
"eslint": "^7.17.0",
|
|
||||||
"nyc": "^10.3.2",
|
|
||||||
"safe-publish-latest": "^1.1.4",
|
|
||||||
"tape": "^5.1.1"
|
|
||||||
},
|
|
||||||
"exports": {
|
|
||||||
".": [
|
|
||||||
{
|
|
||||||
"default": "./index.js"
|
|
||||||
},
|
|
||||||
"./index.js"
|
|
||||||
],
|
|
||||||
"./callBound": [
|
|
||||||
{
|
|
||||||
"default": "./callBound.js"
|
|
||||||
},
|
|
||||||
"./callBound.js"
|
|
||||||
],
|
|
||||||
"./package.json": "./package.json"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/ljharb"
|
|
||||||
},
|
|
||||||
"homepage": "https://github.com/ljharb/call-bind#readme",
|
|
||||||
"keywords": [
|
|
||||||
"javascript",
|
|
||||||
"ecmascript",
|
|
||||||
"es",
|
|
||||||
"js",
|
|
||||||
"callbind",
|
|
||||||
"callbound",
|
|
||||||
"call",
|
|
||||||
"bind",
|
|
||||||
"bound",
|
|
||||||
"call-bind",
|
|
||||||
"call-bound",
|
|
||||||
"function",
|
|
||||||
"es-abstract"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
|
||||||
"main": "index.js",
|
|
||||||
"name": "call-bind",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git+https://github.com/ljharb/call-bind.git"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"lint": "eslint --ext=.js,.mjs .",
|
|
||||||
"posttest": "aud --production",
|
|
||||||
"postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"",
|
|
||||||
"prepublish": "safe-publish-latest",
|
|
||||||
"pretest": "npm run lint",
|
|
||||||
"test": "npm run tests-only",
|
|
||||||
"tests-only": "nyc tape 'test/*'",
|
|
||||||
"version": "auto-changelog && git add CHANGELOG.md"
|
|
||||||
},
|
|
||||||
"version": "1.0.2"
|
|
||||||
}
|
|
55
node_modules/call-bind/test/callBound.js
generated
vendored
55
node_modules/call-bind/test/callBound.js
generated
vendored
@ -1,55 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
var test = require('tape');
|
|
||||||
|
|
||||||
var callBound = require('../callBound');
|
|
||||||
|
|
||||||
test('callBound', function (t) {
|
|
||||||
// static primitive
|
|
||||||
t.equal(callBound('Array.length'), Array.length, 'Array.length yields itself');
|
|
||||||
t.equal(callBound('%Array.length%'), Array.length, '%Array.length% yields itself');
|
|
||||||
|
|
||||||
// static non-function object
|
|
||||||
t.equal(callBound('Array.prototype'), Array.prototype, 'Array.prototype yields itself');
|
|
||||||
t.equal(callBound('%Array.prototype%'), Array.prototype, '%Array.prototype% yields itself');
|
|
||||||
t.equal(callBound('Array.constructor'), Array.constructor, 'Array.constructor yields itself');
|
|
||||||
t.equal(callBound('%Array.constructor%'), Array.constructor, '%Array.constructor% yields itself');
|
|
||||||
|
|
||||||
// static function
|
|
||||||
t.equal(callBound('Date.parse'), Date.parse, 'Date.parse yields itself');
|
|
||||||
t.equal(callBound('%Date.parse%'), Date.parse, '%Date.parse% yields itself');
|
|
||||||
|
|
||||||
// prototype primitive
|
|
||||||
t.equal(callBound('Error.prototype.message'), Error.prototype.message, 'Error.prototype.message yields itself');
|
|
||||||
t.equal(callBound('%Error.prototype.message%'), Error.prototype.message, '%Error.prototype.message% yields itself');
|
|
||||||
|
|
||||||
// prototype function
|
|
||||||
t.notEqual(callBound('Object.prototype.toString'), Object.prototype.toString, 'Object.prototype.toString does not yield itself');
|
|
||||||
t.notEqual(callBound('%Object.prototype.toString%'), Object.prototype.toString, '%Object.prototype.toString% does not yield itself');
|
|
||||||
t.equal(callBound('Object.prototype.toString')(true), Object.prototype.toString.call(true), 'call-bound Object.prototype.toString calls into the original');
|
|
||||||
t.equal(callBound('%Object.prototype.toString%')(true), Object.prototype.toString.call(true), 'call-bound %Object.prototype.toString% calls into the original');
|
|
||||||
|
|
||||||
t['throws'](
|
|
||||||
function () { callBound('does not exist'); },
|
|
||||||
SyntaxError,
|
|
||||||
'nonexistent intrinsic throws'
|
|
||||||
);
|
|
||||||
t['throws'](
|
|
||||||
function () { callBound('does not exist', true); },
|
|
||||||
SyntaxError,
|
|
||||||
'allowMissing arg still throws for unknown intrinsic'
|
|
||||||
);
|
|
||||||
|
|
||||||
/* globals WeakRef: false */
|
|
||||||
t.test('real but absent intrinsic', { skip: typeof WeakRef !== 'undefined' }, function (st) {
|
|
||||||
st['throws'](
|
|
||||||
function () { callBound('WeakRef'); },
|
|
||||||
TypeError,
|
|
||||||
'real but absent intrinsic throws'
|
|
||||||
);
|
|
||||||
st.equal(callBound('WeakRef', true), undefined, 'allowMissing arg avoids exception');
|
|
||||||
st.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
t.end();
|
|
||||||
});
|
|
66
node_modules/call-bind/test/index.js
generated
vendored
66
node_modules/call-bind/test/index.js
generated
vendored
@ -1,66 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
var callBind = require('../');
|
|
||||||
var bind = require('function-bind');
|
|
||||||
|
|
||||||
var test = require('tape');
|
|
||||||
|
|
||||||
/*
|
|
||||||
* older engines have length nonconfigurable
|
|
||||||
* in io.js v3, it is configurable except on bound functions, hence the .bind()
|
|
||||||
*/
|
|
||||||
var functionsHaveConfigurableLengths = !!(
|
|
||||||
Object.getOwnPropertyDescriptor
|
|
||||||
&& Object.getOwnPropertyDescriptor(bind.call(function () {}), 'length').configurable
|
|
||||||
);
|
|
||||||
|
|
||||||
test('callBind', function (t) {
|
|
||||||
var sentinel = { sentinel: true };
|
|
||||||
var func = function (a, b) {
|
|
||||||
// eslint-disable-next-line no-invalid-this
|
|
||||||
return [this, a, b];
|
|
||||||
};
|
|
||||||
t.equal(func.length, 2, 'original function length is 2');
|
|
||||||
t.deepEqual(func(), [undefined, undefined, undefined], 'unbound func with too few args');
|
|
||||||
t.deepEqual(func(1, 2), [undefined, 1, 2], 'unbound func with right args');
|
|
||||||
t.deepEqual(func(1, 2, 3), [undefined, 1, 2], 'unbound func with too many args');
|
|
||||||
|
|
||||||
var bound = callBind(func);
|
|
||||||
t.equal(bound.length, func.length + 1, 'function length is preserved', { skip: !functionsHaveConfigurableLengths });
|
|
||||||
t.deepEqual(bound(), [undefined, undefined, undefined], 'bound func with too few args');
|
|
||||||
t.deepEqual(bound(1, 2), [1, 2, undefined], 'bound func with right args');
|
|
||||||
t.deepEqual(bound(1, 2, 3), [1, 2, 3], 'bound func with too many args');
|
|
||||||
|
|
||||||
var boundR = callBind(func, sentinel);
|
|
||||||
t.equal(boundR.length, func.length, 'function length is preserved', { skip: !functionsHaveConfigurableLengths });
|
|
||||||
t.deepEqual(boundR(), [sentinel, undefined, undefined], 'bound func with receiver, with too few args');
|
|
||||||
t.deepEqual(boundR(1, 2), [sentinel, 1, 2], 'bound func with receiver, with right args');
|
|
||||||
t.deepEqual(boundR(1, 2, 3), [sentinel, 1, 2], 'bound func with receiver, with too many args');
|
|
||||||
|
|
||||||
var boundArg = callBind(func, sentinel, 1);
|
|
||||||
t.equal(boundArg.length, func.length - 1, 'function length is preserved', { skip: !functionsHaveConfigurableLengths });
|
|
||||||
t.deepEqual(boundArg(), [sentinel, 1, undefined], 'bound func with receiver and arg, with too few args');
|
|
||||||
t.deepEqual(boundArg(2), [sentinel, 1, 2], 'bound func with receiver and arg, with right arg');
|
|
||||||
t.deepEqual(boundArg(2, 3), [sentinel, 1, 2], 'bound func with receiver and arg, with too many args');
|
|
||||||
|
|
||||||
t.test('callBind.apply', function (st) {
|
|
||||||
var aBound = callBind.apply(func);
|
|
||||||
st.deepEqual(aBound(sentinel), [sentinel, undefined, undefined], 'apply-bound func with no args');
|
|
||||||
st.deepEqual(aBound(sentinel, [1], 4), [sentinel, 1, undefined], 'apply-bound func with too few args');
|
|
||||||
st.deepEqual(aBound(sentinel, [1, 2], 4), [sentinel, 1, 2], 'apply-bound func with right args');
|
|
||||||
|
|
||||||
var aBoundArg = callBind.apply(func);
|
|
||||||
st.deepEqual(aBoundArg(sentinel, [1, 2, 3], 4), [sentinel, 1, 2], 'apply-bound func with too many args');
|
|
||||||
st.deepEqual(aBoundArg(sentinel, [1, 2], 4), [sentinel, 1, 2], 'apply-bound func with right args');
|
|
||||||
st.deepEqual(aBoundArg(sentinel, [1], 4), [sentinel, 1, undefined], 'apply-bound func with too few args');
|
|
||||||
|
|
||||||
var aBoundR = callBind.apply(func, sentinel);
|
|
||||||
st.deepEqual(aBoundR([1, 2, 3], 4), [sentinel, 1, 2], 'apply-bound func with receiver and too many args');
|
|
||||||
st.deepEqual(aBoundR([1, 2], 4), [sentinel, 1, 2], 'apply-bound func with receiver and right args');
|
|
||||||
st.deepEqual(aBoundR([1], 4), [sentinel, 1, undefined], 'apply-bound func with receiver and too few args');
|
|
||||||
|
|
||||||
st.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
t.end();
|
|
||||||
});
|
|
20
node_modules/function-bind/.editorconfig
generated
vendored
20
node_modules/function-bind/.editorconfig
generated
vendored
@ -1,20 +0,0 @@
|
|||||||
root = true
|
|
||||||
|
|
||||||
[*]
|
|
||||||
indent_style = tab
|
|
||||||
indent_size = 4
|
|
||||||
end_of_line = lf
|
|
||||||
charset = utf-8
|
|
||||||
trim_trailing_whitespace = true
|
|
||||||
insert_final_newline = true
|
|
||||||
max_line_length = 120
|
|
||||||
|
|
||||||
[CHANGELOG.md]
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 2
|
|
||||||
|
|
||||||
[*.json]
|
|
||||||
max_line_length = off
|
|
||||||
|
|
||||||
[Makefile]
|
|
||||||
max_line_length = off
|
|
15
node_modules/function-bind/.eslintrc
generated
vendored
15
node_modules/function-bind/.eslintrc
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
{
|
|
||||||
"root": true,
|
|
||||||
|
|
||||||
"extends": "@ljharb",
|
|
||||||
|
|
||||||
"rules": {
|
|
||||||
"func-name-matching": 0,
|
|
||||||
"indent": [2, 4],
|
|
||||||
"max-nested-callbacks": [2, 3],
|
|
||||||
"max-params": [2, 3],
|
|
||||||
"max-statements": [2, 20],
|
|
||||||
"no-new-func": [1],
|
|
||||||
"strict": [0]
|
|
||||||
}
|
|
||||||
}
|
|
176
node_modules/function-bind/.jscs.json
generated
vendored
176
node_modules/function-bind/.jscs.json
generated
vendored
@ -1,176 +0,0 @@
|
|||||||
{
|
|
||||||
"es3": true,
|
|
||||||
|
|
||||||
"additionalRules": [],
|
|
||||||
|
|
||||||
"requireSemicolons": true,
|
|
||||||
|
|
||||||
"disallowMultipleSpaces": true,
|
|
||||||
|
|
||||||
"disallowIdentifierNames": [],
|
|
||||||
|
|
||||||
"requireCurlyBraces": {
|
|
||||||
"allExcept": [],
|
|
||||||
"keywords": ["if", "else", "for", "while", "do", "try", "catch"]
|
|
||||||
},
|
|
||||||
|
|
||||||
"requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch", "function"],
|
|
||||||
|
|
||||||
"disallowSpaceAfterKeywords": [],
|
|
||||||
|
|
||||||
"disallowSpaceBeforeComma": true,
|
|
||||||
"disallowSpaceAfterComma": false,
|
|
||||||
"disallowSpaceBeforeSemicolon": true,
|
|
||||||
|
|
||||||
"disallowNodeTypes": [
|
|
||||||
"DebuggerStatement",
|
|
||||||
"ForInStatement",
|
|
||||||
"LabeledStatement",
|
|
||||||
"SwitchCase",
|
|
||||||
"SwitchStatement",
|
|
||||||
"WithStatement"
|
|
||||||
],
|
|
||||||
|
|
||||||
"requireObjectKeysOnNewLine": { "allExcept": ["sameLine"] },
|
|
||||||
|
|
||||||
"requireSpacesInAnonymousFunctionExpression": { "beforeOpeningRoundBrace": true, "beforeOpeningCurlyBrace": true },
|
|
||||||
"requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true },
|
|
||||||
"disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true },
|
|
||||||
"requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true },
|
|
||||||
"disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true },
|
|
||||||
|
|
||||||
"requireSpaceBetweenArguments": true,
|
|
||||||
|
|
||||||
"disallowSpacesInsideParentheses": true,
|
|
||||||
|
|
||||||
"disallowSpacesInsideArrayBrackets": true,
|
|
||||||
|
|
||||||
"disallowQuotedKeysInObjects": { "allExcept": ["reserved"] },
|
|
||||||
|
|
||||||
"disallowSpaceAfterObjectKeys": true,
|
|
||||||
|
|
||||||
"requireCommaBeforeLineBreak": true,
|
|
||||||
|
|
||||||
"disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
|
|
||||||
"requireSpaceAfterPrefixUnaryOperators": [],
|
|
||||||
|
|
||||||
"disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
|
|
||||||
"requireSpaceBeforePostfixUnaryOperators": [],
|
|
||||||
|
|
||||||
"disallowSpaceBeforeBinaryOperators": [],
|
|
||||||
"requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
|
|
||||||
|
|
||||||
"requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
|
|
||||||
"disallowSpaceAfterBinaryOperators": [],
|
|
||||||
|
|
||||||
"disallowImplicitTypeConversion": ["binary", "string"],
|
|
||||||
|
|
||||||
"disallowKeywords": ["with", "eval"],
|
|
||||||
|
|
||||||
"requireKeywordsOnNewLine": [],
|
|
||||||
"disallowKeywordsOnNewLine": ["else"],
|
|
||||||
|
|
||||||
"requireLineFeedAtFileEnd": true,
|
|
||||||
|
|
||||||
"disallowTrailingWhitespace": true,
|
|
||||||
|
|
||||||
"disallowTrailingComma": true,
|
|
||||||
|
|
||||||
"excludeFiles": ["node_modules/**", "vendor/**"],
|
|
||||||
|
|
||||||
"disallowMultipleLineStrings": true,
|
|
||||||
|
|
||||||
"requireDotNotation": { "allExcept": ["keywords"] },
|
|
||||||
|
|
||||||
"requireParenthesesAroundIIFE": true,
|
|
||||||
|
|
||||||
"validateLineBreaks": "LF",
|
|
||||||
|
|
||||||
"validateQuoteMarks": {
|
|
||||||
"escape": true,
|
|
||||||
"mark": "'"
|
|
||||||
},
|
|
||||||
|
|
||||||
"disallowOperatorBeforeLineBreak": [],
|
|
||||||
|
|
||||||
"requireSpaceBeforeKeywords": [
|
|
||||||
"do",
|
|
||||||
"for",
|
|
||||||
"if",
|
|
||||||
"else",
|
|
||||||
"switch",
|
|
||||||
"case",
|
|
||||||
"try",
|
|
||||||
"catch",
|
|
||||||
"finally",
|
|
||||||
"while",
|
|
||||||
"with",
|
|
||||||
"return"
|
|
||||||
],
|
|
||||||
|
|
||||||
"validateAlignedFunctionParameters": {
|
|
||||||
"lineBreakAfterOpeningBraces": true,
|
|
||||||
"lineBreakBeforeClosingBraces": true
|
|
||||||
},
|
|
||||||
|
|
||||||
"requirePaddingNewLinesBeforeExport": true,
|
|
||||||
|
|
||||||
"validateNewlineAfterArrayElements": {
|
|
||||||
"maximum": 8
|
|
||||||
},
|
|
||||||
|
|
||||||
"requirePaddingNewLinesAfterUseStrict": true,
|
|
||||||
|
|
||||||
"disallowArrowFunctions": true,
|
|
||||||
|
|
||||||
"disallowMultiLineTernary": true,
|
|
||||||
|
|
||||||
"validateOrderInObjectKeys": "asc-insensitive",
|
|
||||||
|
|
||||||
"disallowIdenticalDestructuringNames": true,
|
|
||||||
|
|
||||||
"disallowNestedTernaries": { "maxLevel": 1 },
|
|
||||||
|
|
||||||
"requireSpaceAfterComma": { "allExcept": ["trailing"] },
|
|
||||||
"requireAlignedMultilineParams": false,
|
|
||||||
|
|
||||||
"requireSpacesInGenerator": {
|
|
||||||
"afterStar": true
|
|
||||||
},
|
|
||||||
|
|
||||||
"disallowSpacesInGenerator": {
|
|
||||||
"beforeStar": true
|
|
||||||
},
|
|
||||||
|
|
||||||
"disallowVar": false,
|
|
||||||
|
|
||||||
"requireArrayDestructuring": false,
|
|
||||||
|
|
||||||
"requireEnhancedObjectLiterals": false,
|
|
||||||
|
|
||||||
"requireObjectDestructuring": false,
|
|
||||||
|
|
||||||
"requireEarlyReturn": false,
|
|
||||||
|
|
||||||
"requireCapitalizedConstructorsNew": {
|
|
||||||
"allExcept": ["Function", "String", "Object", "Symbol", "Number", "Date", "RegExp", "Error", "Boolean", "Array"]
|
|
||||||
},
|
|
||||||
|
|
||||||
"requireImportAlphabetized": false,
|
|
||||||
|
|
||||||
"requireSpaceBeforeObjectValues": true,
|
|
||||||
"requireSpaceBeforeDestructuredValues": true,
|
|
||||||
|
|
||||||
"disallowSpacesInsideTemplateStringPlaceholders": true,
|
|
||||||
|
|
||||||
"disallowArrayDestructuringReturn": false,
|
|
||||||
|
|
||||||
"requireNewlineBeforeSingleStatementsInIf": false,
|
|
||||||
|
|
||||||
"disallowUnusedVariables": true,
|
|
||||||
|
|
||||||
"requireSpacesInsideImportedObjectBraces": true,
|
|
||||||
|
|
||||||
"requireUseStrict": true
|
|
||||||
}
|
|
||||||
|
|
22
node_modules/function-bind/.npmignore
generated
vendored
22
node_modules/function-bind/.npmignore
generated
vendored
@ -1,22 +0,0 @@
|
|||||||
# gitignore
|
|
||||||
.DS_Store
|
|
||||||
.monitor
|
|
||||||
.*.swp
|
|
||||||
.nodemonignore
|
|
||||||
releases
|
|
||||||
*.log
|
|
||||||
*.err
|
|
||||||
fleet.json
|
|
||||||
public/browserify
|
|
||||||
bin/*.json
|
|
||||||
.bin
|
|
||||||
build
|
|
||||||
compile
|
|
||||||
.lock-wscript
|
|
||||||
coverage
|
|
||||||
node_modules
|
|
||||||
|
|
||||||
# Only apps should have lockfiles
|
|
||||||
npm-shrinkwrap.json
|
|
||||||
package-lock.json
|
|
||||||
yarn.lock
|
|
168
node_modules/function-bind/.travis.yml
generated
vendored
168
node_modules/function-bind/.travis.yml
generated
vendored
@ -1,168 +0,0 @@
|
|||||||
language: node_js
|
|
||||||
os:
|
|
||||||
- linux
|
|
||||||
node_js:
|
|
||||||
- "8.4"
|
|
||||||
- "7.10"
|
|
||||||
- "6.11"
|
|
||||||
- "5.12"
|
|
||||||
- "4.8"
|
|
||||||
- "iojs-v3.3"
|
|
||||||
- "iojs-v2.5"
|
|
||||||
- "iojs-v1.8"
|
|
||||||
- "0.12"
|
|
||||||
- "0.10"
|
|
||||||
- "0.8"
|
|
||||||
before_install:
|
|
||||||
- 'if [ "${TRAVIS_NODE_VERSION}" = "0.6" ]; then npm install -g npm@1.3 ; elif [ "${TRAVIS_NODE_VERSION}" != "0.9" ]; then case "$(npm --version)" in 1.*) npm install -g npm@1.4.28 ;; 2.*) npm install -g npm@2 ;; esac ; fi'
|
|
||||||
- 'if [ "${TRAVIS_NODE_VERSION}" != "0.6" ] && [ "${TRAVIS_NODE_VERSION}" != "0.9" ]; then if [ "${TRAVIS_NODE_VERSION%${TRAVIS_NODE_VERSION#[0-9]}}" = "0" ] || [ "${TRAVIS_NODE_VERSION:0:4}" = "iojs" ]; then npm install -g npm@4.5 ; else npm install -g npm; fi; fi'
|
|
||||||
install:
|
|
||||||
- 'if [ "${TRAVIS_NODE_VERSION}" = "0.6" ]; then nvm install 0.8 && npm install -g npm@1.3 && npm install -g npm@1.4.28 && npm install -g npm@2 && npm install && nvm use "${TRAVIS_NODE_VERSION}"; else npm install; fi;'
|
|
||||||
script:
|
|
||||||
- 'if [ -n "${PRETEST-}" ]; then npm run pretest ; fi'
|
|
||||||
- 'if [ -n "${POSTTEST-}" ]; then npm run posttest ; fi'
|
|
||||||
- 'if [ -n "${COVERAGE-}" ]; then npm run coverage ; fi'
|
|
||||||
- 'if [ -n "${TEST-}" ]; then npm run tests-only ; fi'
|
|
||||||
sudo: false
|
|
||||||
env:
|
|
||||||
- TEST=true
|
|
||||||
matrix:
|
|
||||||
fast_finish: true
|
|
||||||
include:
|
|
||||||
- node_js: "node"
|
|
||||||
env: PRETEST=true
|
|
||||||
- node_js: "4"
|
|
||||||
env: COVERAGE=true
|
|
||||||
- node_js: "8.3"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "8.2"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "8.1"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "8.0"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "7.9"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "7.8"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "7.7"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "7.6"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "7.5"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "7.4"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "7.3"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "7.2"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "7.1"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "7.0"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "6.10"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "6.9"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "6.8"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "6.7"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "6.6"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "6.5"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "6.4"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "6.3"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "6.2"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "6.1"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "6.0"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "5.11"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "5.10"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "5.9"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "5.8"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "5.7"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "5.6"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "5.5"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "5.4"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "5.3"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "5.2"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "5.1"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "5.0"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "4.7"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "4.6"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "4.5"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "4.4"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "4.3"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "4.2"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "4.1"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "4.0"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "iojs-v3.2"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "iojs-v3.1"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "iojs-v3.0"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "iojs-v2.4"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "iojs-v2.3"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "iojs-v2.2"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "iojs-v2.1"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "iojs-v2.0"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "iojs-v1.7"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "iojs-v1.6"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "iojs-v1.5"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "iojs-v1.4"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "iojs-v1.3"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "iojs-v1.2"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "iojs-v1.1"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "iojs-v1.0"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "0.11"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "0.9"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "0.6"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
- node_js: "0.4"
|
|
||||||
env: TEST=true ALLOW_FAILURE=true
|
|
||||||
allow_failures:
|
|
||||||
- os: osx
|
|
||||||
- env: TEST=true ALLOW_FAILURE=true
|
|
20
node_modules/function-bind/LICENSE
generated
vendored
20
node_modules/function-bind/LICENSE
generated
vendored
@ -1,20 +0,0 @@
|
|||||||
Copyright (c) 2013 Raynos.
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in
|
|
||||||
all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
||||||
THE SOFTWARE.
|
|
||||||
|
|
48
node_modules/function-bind/README.md
generated
vendored
48
node_modules/function-bind/README.md
generated
vendored
@ -1,48 +0,0 @@
|
|||||||
# function-bind
|
|
||||||
|
|
||||||
<!--
|
|
||||||
[![build status][travis-svg]][travis-url]
|
|
||||||
[![NPM version][npm-badge-svg]][npm-url]
|
|
||||||
[![Coverage Status][5]][6]
|
|
||||||
[![gemnasium Dependency Status][7]][8]
|
|
||||||
[![Dependency status][deps-svg]][deps-url]
|
|
||||||
[![Dev Dependency status][dev-deps-svg]][dev-deps-url]
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!-- [![browser support][11]][12] -->
|
|
||||||
|
|
||||||
Implementation of function.prototype.bind
|
|
||||||
|
|
||||||
## Example
|
|
||||||
|
|
||||||
I mainly do this for unit tests I run on phantomjs.
|
|
||||||
PhantomJS does not have Function.prototype.bind :(
|
|
||||||
|
|
||||||
```js
|
|
||||||
Function.prototype.bind = require("function-bind")
|
|
||||||
```
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
`npm install function-bind`
|
|
||||||
|
|
||||||
## Contributors
|
|
||||||
|
|
||||||
- Raynos
|
|
||||||
|
|
||||||
## MIT Licenced
|
|
||||||
|
|
||||||
[travis-svg]: https://travis-ci.org/Raynos/function-bind.svg
|
|
||||||
[travis-url]: https://travis-ci.org/Raynos/function-bind
|
|
||||||
[npm-badge-svg]: https://badge.fury.io/js/function-bind.svg
|
|
||||||
[npm-url]: https://npmjs.org/package/function-bind
|
|
||||||
[5]: https://coveralls.io/repos/Raynos/function-bind/badge.png
|
|
||||||
[6]: https://coveralls.io/r/Raynos/function-bind
|
|
||||||
[7]: https://gemnasium.com/Raynos/function-bind.png
|
|
||||||
[8]: https://gemnasium.com/Raynos/function-bind
|
|
||||||
[deps-svg]: https://david-dm.org/Raynos/function-bind.svg
|
|
||||||
[deps-url]: https://david-dm.org/Raynos/function-bind
|
|
||||||
[dev-deps-svg]: https://david-dm.org/Raynos/function-bind/dev-status.svg
|
|
||||||
[dev-deps-url]: https://david-dm.org/Raynos/function-bind#info=devDependencies
|
|
||||||
[11]: https://ci.testling.com/Raynos/function-bind.png
|
|
||||||
[12]: https://ci.testling.com/Raynos/function-bind
|
|
52
node_modules/function-bind/implementation.js
generated
vendored
52
node_modules/function-bind/implementation.js
generated
vendored
@ -1,52 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
/* eslint no-invalid-this: 1 */
|
|
||||||
|
|
||||||
var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';
|
|
||||||
var slice = Array.prototype.slice;
|
|
||||||
var toStr = Object.prototype.toString;
|
|
||||||
var funcType = '[object Function]';
|
|
||||||
|
|
||||||
module.exports = function bind(that) {
|
|
||||||
var target = this;
|
|
||||||
if (typeof target !== 'function' || toStr.call(target) !== funcType) {
|
|
||||||
throw new TypeError(ERROR_MESSAGE + target);
|
|
||||||
}
|
|
||||||
var args = slice.call(arguments, 1);
|
|
||||||
|
|
||||||
var bound;
|
|
||||||
var binder = function () {
|
|
||||||
if (this instanceof bound) {
|
|
||||||
var result = target.apply(
|
|
||||||
this,
|
|
||||||
args.concat(slice.call(arguments))
|
|
||||||
);
|
|
||||||
if (Object(result) === result) {
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
return this;
|
|
||||||
} else {
|
|
||||||
return target.apply(
|
|
||||||
that,
|
|
||||||
args.concat(slice.call(arguments))
|
|
||||||
);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
var boundLength = Math.max(0, target.length - args.length);
|
|
||||||
var boundArgs = [];
|
|
||||||
for (var i = 0; i < boundLength; i++) {
|
|
||||||
boundArgs.push('$' + i);
|
|
||||||
}
|
|
||||||
|
|
||||||
bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);
|
|
||||||
|
|
||||||
if (target.prototype) {
|
|
||||||
var Empty = function Empty() {};
|
|
||||||
Empty.prototype = target.prototype;
|
|
||||||
bound.prototype = new Empty();
|
|
||||||
Empty.prototype = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return bound;
|
|
||||||
};
|
|
5
node_modules/function-bind/index.js
generated
vendored
5
node_modules/function-bind/index.js
generated
vendored
@ -1,5 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
var implementation = require('./implementation');
|
|
||||||
|
|
||||||
module.exports = Function.prototype.bind || implementation;
|
|
99
node_modules/function-bind/package.json
generated
vendored
99
node_modules/function-bind/package.json
generated
vendored
@ -1,99 +0,0 @@
|
|||||||
{
|
|
||||||
"_args": [
|
|
||||||
[
|
|
||||||
"function-bind@1.1.1",
|
|
||||||
"."
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"_from": "function-bind@1.1.1",
|
|
||||||
"_id": "function-bind@1.1.1",
|
|
||||||
"_inBundle": false,
|
|
||||||
"_integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
|
|
||||||
"_location": "/function-bind",
|
|
||||||
"_phantomChildren": {},
|
|
||||||
"_requested": {
|
|
||||||
"type": "version",
|
|
||||||
"registry": true,
|
|
||||||
"raw": "function-bind@1.1.1",
|
|
||||||
"name": "function-bind",
|
|
||||||
"escapedName": "function-bind",
|
|
||||||
"rawSpec": "1.1.1",
|
|
||||||
"saveSpec": null,
|
|
||||||
"fetchSpec": "1.1.1"
|
|
||||||
},
|
|
||||||
"_requiredBy": [
|
|
||||||
"/call-bind",
|
|
||||||
"/get-intrinsic",
|
|
||||||
"/has"
|
|
||||||
],
|
|
||||||
"_resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
|
|
||||||
"_spec": "1.1.1",
|
|
||||||
"_where": ".",
|
|
||||||
"author": {
|
|
||||||
"name": "Raynos",
|
|
||||||
"email": "raynos2@gmail.com"
|
|
||||||
},
|
|
||||||
"bugs": {
|
|
||||||
"url": "https://github.com/Raynos/function-bind/issues",
|
|
||||||
"email": "raynos2@gmail.com"
|
|
||||||
},
|
|
||||||
"contributors": [
|
|
||||||
{
|
|
||||||
"name": "Raynos"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Jordan Harband",
|
|
||||||
"url": "https://github.com/ljharb"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dependencies": {},
|
|
||||||
"description": "Implementation of Function.prototype.bind",
|
|
||||||
"devDependencies": {
|
|
||||||
"@ljharb/eslint-config": "^12.2.1",
|
|
||||||
"covert": "^1.1.0",
|
|
||||||
"eslint": "^4.5.0",
|
|
||||||
"jscs": "^3.0.7",
|
|
||||||
"tape": "^4.8.0"
|
|
||||||
},
|
|
||||||
"homepage": "https://github.com/Raynos/function-bind",
|
|
||||||
"keywords": [
|
|
||||||
"function",
|
|
||||||
"bind",
|
|
||||||
"shim",
|
|
||||||
"es5"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
|
||||||
"main": "index",
|
|
||||||
"name": "function-bind",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git://github.com/Raynos/function-bind.git"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"coverage": "covert test/*.js",
|
|
||||||
"eslint": "eslint *.js */*.js",
|
|
||||||
"jscs": "jscs *.js */*.js",
|
|
||||||
"lint": "npm run jscs && npm run eslint",
|
|
||||||
"posttest": "npm run coverage -- --quiet",
|
|
||||||
"pretest": "npm run lint",
|
|
||||||
"test": "npm run tests-only",
|
|
||||||
"tests-only": "node test"
|
|
||||||
},
|
|
||||||
"testling": {
|
|
||||||
"files": "test/index.js",
|
|
||||||
"browsers": [
|
|
||||||
"ie/8..latest",
|
|
||||||
"firefox/16..latest",
|
|
||||||
"firefox/nightly",
|
|
||||||
"chrome/22..latest",
|
|
||||||
"chrome/canary",
|
|
||||||
"opera/12..latest",
|
|
||||||
"opera/next",
|
|
||||||
"safari/5.1..latest",
|
|
||||||
"ipad/6.0..latest",
|
|
||||||
"iphone/6.0..latest",
|
|
||||||
"android-browser/4.2..latest"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"version": "1.1.1"
|
|
||||||
}
|
|
9
node_modules/function-bind/test/.eslintrc
generated
vendored
9
node_modules/function-bind/test/.eslintrc
generated
vendored
@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
"rules": {
|
|
||||||
"array-bracket-newline": 0,
|
|
||||||
"array-element-newline": 0,
|
|
||||||
"max-statements-per-line": [2, { "max": 2 }],
|
|
||||||
"no-invalid-this": 0,
|
|
||||||
"no-magic-numbers": 0,
|
|
||||||
}
|
|
||||||
}
|
|
252
node_modules/function-bind/test/index.js
generated
vendored
252
node_modules/function-bind/test/index.js
generated
vendored
@ -1,252 +0,0 @@
|
|||||||
// jscs:disable requireUseStrict
|
|
||||||
|
|
||||||
var test = require('tape');
|
|
||||||
|
|
||||||
var functionBind = require('../implementation');
|
|
||||||
var getCurrentContext = function () { return this; };
|
|
||||||
|
|
||||||
test('functionBind is a function', function (t) {
|
|
||||||
t.equal(typeof functionBind, 'function');
|
|
||||||
t.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('non-functions', function (t) {
|
|
||||||
var nonFunctions = [true, false, [], {}, 42, 'foo', NaN, /a/g];
|
|
||||||
t.plan(nonFunctions.length);
|
|
||||||
for (var i = 0; i < nonFunctions.length; ++i) {
|
|
||||||
try { functionBind.call(nonFunctions[i]); } catch (ex) {
|
|
||||||
t.ok(ex instanceof TypeError, 'throws when given ' + String(nonFunctions[i]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
t.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('without a context', function (t) {
|
|
||||||
t.test('binds properly', function (st) {
|
|
||||||
var args, context;
|
|
||||||
var namespace = {
|
|
||||||
func: functionBind.call(function () {
|
|
||||||
args = Array.prototype.slice.call(arguments);
|
|
||||||
context = this;
|
|
||||||
})
|
|
||||||
};
|
|
||||||
namespace.func(1, 2, 3);
|
|
||||||
st.deepEqual(args, [1, 2, 3]);
|
|
||||||
st.equal(context, getCurrentContext.call());
|
|
||||||
st.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
t.test('binds properly, and still supplies bound arguments', function (st) {
|
|
||||||
var args, context;
|
|
||||||
var namespace = {
|
|
||||||
func: functionBind.call(function () {
|
|
||||||
args = Array.prototype.slice.call(arguments);
|
|
||||||
context = this;
|
|
||||||
}, undefined, 1, 2, 3)
|
|
||||||
};
|
|
||||||
namespace.func(4, 5, 6);
|
|
||||||
st.deepEqual(args, [1, 2, 3, 4, 5, 6]);
|
|
||||||
st.equal(context, getCurrentContext.call());
|
|
||||||
st.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
t.test('returns properly', function (st) {
|
|
||||||
var args;
|
|
||||||
var namespace = {
|
|
||||||
func: functionBind.call(function () {
|
|
||||||
args = Array.prototype.slice.call(arguments);
|
|
||||||
return this;
|
|
||||||
}, null)
|
|
||||||
};
|
|
||||||
var context = namespace.func(1, 2, 3);
|
|
||||||
st.equal(context, getCurrentContext.call(), 'returned context is namespaced context');
|
|
||||||
st.deepEqual(args, [1, 2, 3], 'passed arguments are correct');
|
|
||||||
st.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
t.test('returns properly with bound arguments', function (st) {
|
|
||||||
var args;
|
|
||||||
var namespace = {
|
|
||||||
func: functionBind.call(function () {
|
|
||||||
args = Array.prototype.slice.call(arguments);
|
|
||||||
return this;
|
|
||||||
}, null, 1, 2, 3)
|
|
||||||
};
|
|
||||||
var context = namespace.func(4, 5, 6);
|
|
||||||
st.equal(context, getCurrentContext.call(), 'returned context is namespaced context');
|
|
||||||
st.deepEqual(args, [1, 2, 3, 4, 5, 6], 'passed arguments are correct');
|
|
||||||
st.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
t.test('called as a constructor', function (st) {
|
|
||||||
var thunkify = function (value) {
|
|
||||||
return function () { return value; };
|
|
||||||
};
|
|
||||||
st.test('returns object value', function (sst) {
|
|
||||||
var expectedReturnValue = [1, 2, 3];
|
|
||||||
var Constructor = functionBind.call(thunkify(expectedReturnValue), null);
|
|
||||||
var result = new Constructor();
|
|
||||||
sst.equal(result, expectedReturnValue);
|
|
||||||
sst.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
st.test('does not return primitive value', function (sst) {
|
|
||||||
var Constructor = functionBind.call(thunkify(42), null);
|
|
||||||
var result = new Constructor();
|
|
||||||
sst.notEqual(result, 42);
|
|
||||||
sst.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
st.test('object from bound constructor is instance of original and bound constructor', function (sst) {
|
|
||||||
var A = function (x) {
|
|
||||||
this.name = x || 'A';
|
|
||||||
};
|
|
||||||
var B = functionBind.call(A, null, 'B');
|
|
||||||
|
|
||||||
var result = new B();
|
|
||||||
sst.ok(result instanceof B, 'result is instance of bound constructor');
|
|
||||||
sst.ok(result instanceof A, 'result is instance of original constructor');
|
|
||||||
sst.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
st.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
t.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('with a context', function (t) {
|
|
||||||
t.test('with no bound arguments', function (st) {
|
|
||||||
var args, context;
|
|
||||||
var boundContext = {};
|
|
||||||
var namespace = {
|
|
||||||
func: functionBind.call(function () {
|
|
||||||
args = Array.prototype.slice.call(arguments);
|
|
||||||
context = this;
|
|
||||||
}, boundContext)
|
|
||||||
};
|
|
||||||
namespace.func(1, 2, 3);
|
|
||||||
st.equal(context, boundContext, 'binds a context properly');
|
|
||||||
st.deepEqual(args, [1, 2, 3], 'supplies passed arguments');
|
|
||||||
st.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
t.test('with bound arguments', function (st) {
|
|
||||||
var args, context;
|
|
||||||
var boundContext = {};
|
|
||||||
var namespace = {
|
|
||||||
func: functionBind.call(function () {
|
|
||||||
args = Array.prototype.slice.call(arguments);
|
|
||||||
context = this;
|
|
||||||
}, boundContext, 1, 2, 3)
|
|
||||||
};
|
|
||||||
namespace.func(4, 5, 6);
|
|
||||||
st.equal(context, boundContext, 'binds a context properly');
|
|
||||||
st.deepEqual(args, [1, 2, 3, 4, 5, 6], 'supplies bound and passed arguments');
|
|
||||||
st.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
t.test('returns properly', function (st) {
|
|
||||||
var boundContext = {};
|
|
||||||
var args;
|
|
||||||
var namespace = {
|
|
||||||
func: functionBind.call(function () {
|
|
||||||
args = Array.prototype.slice.call(arguments);
|
|
||||||
return this;
|
|
||||||
}, boundContext)
|
|
||||||
};
|
|
||||||
var context = namespace.func(1, 2, 3);
|
|
||||||
st.equal(context, boundContext, 'returned context is bound context');
|
|
||||||
st.notEqual(context, getCurrentContext.call(), 'returned context is not lexical context');
|
|
||||||
st.deepEqual(args, [1, 2, 3], 'passed arguments are correct');
|
|
||||||
st.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
t.test('returns properly with bound arguments', function (st) {
|
|
||||||
var boundContext = {};
|
|
||||||
var args;
|
|
||||||
var namespace = {
|
|
||||||
func: functionBind.call(function () {
|
|
||||||
args = Array.prototype.slice.call(arguments);
|
|
||||||
return this;
|
|
||||||
}, boundContext, 1, 2, 3)
|
|
||||||
};
|
|
||||||
var context = namespace.func(4, 5, 6);
|
|
||||||
st.equal(context, boundContext, 'returned context is bound context');
|
|
||||||
st.notEqual(context, getCurrentContext.call(), 'returned context is not lexical context');
|
|
||||||
st.deepEqual(args, [1, 2, 3, 4, 5, 6], 'passed arguments are correct');
|
|
||||||
st.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
t.test('passes the correct arguments when called as a constructor', function (st) {
|
|
||||||
var expected = { name: 'Correct' };
|
|
||||||
var namespace = {
|
|
||||||
Func: functionBind.call(function (arg) {
|
|
||||||
return arg;
|
|
||||||
}, { name: 'Incorrect' })
|
|
||||||
};
|
|
||||||
var returned = new namespace.Func(expected);
|
|
||||||
st.equal(returned, expected, 'returns the right arg when called as a constructor');
|
|
||||||
st.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
t.test('has the new instance\'s context when called as a constructor', function (st) {
|
|
||||||
var actualContext;
|
|
||||||
var expectedContext = { foo: 'bar' };
|
|
||||||
var namespace = {
|
|
||||||
Func: functionBind.call(function () {
|
|
||||||
actualContext = this;
|
|
||||||
}, expectedContext)
|
|
||||||
};
|
|
||||||
var result = new namespace.Func();
|
|
||||||
st.equal(result instanceof namespace.Func, true);
|
|
||||||
st.notEqual(actualContext, expectedContext);
|
|
||||||
st.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
t.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('bound function length', function (t) {
|
|
||||||
t.test('sets a correct length without thisArg', function (st) {
|
|
||||||
var subject = functionBind.call(function (a, b, c) { return a + b + c; });
|
|
||||||
st.equal(subject.length, 3);
|
|
||||||
st.equal(subject(1, 2, 3), 6);
|
|
||||||
st.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
t.test('sets a correct length with thisArg', function (st) {
|
|
||||||
var subject = functionBind.call(function (a, b, c) { return a + b + c; }, {});
|
|
||||||
st.equal(subject.length, 3);
|
|
||||||
st.equal(subject(1, 2, 3), 6);
|
|
||||||
st.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
t.test('sets a correct length without thisArg and first argument', function (st) {
|
|
||||||
var subject = functionBind.call(function (a, b, c) { return a + b + c; }, undefined, 1);
|
|
||||||
st.equal(subject.length, 2);
|
|
||||||
st.equal(subject(2, 3), 6);
|
|
||||||
st.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
t.test('sets a correct length with thisArg and first argument', function (st) {
|
|
||||||
var subject = functionBind.call(function (a, b, c) { return a + b + c; }, {}, 1);
|
|
||||||
st.equal(subject.length, 2);
|
|
||||||
st.equal(subject(2, 3), 6);
|
|
||||||
st.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
t.test('sets a correct length without thisArg and too many arguments', function (st) {
|
|
||||||
var subject = functionBind.call(function (a, b, c) { return a + b + c; }, undefined, 1, 2, 3, 4);
|
|
||||||
st.equal(subject.length, 0);
|
|
||||||
st.equal(subject(), 6);
|
|
||||||
st.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
t.test('sets a correct length with thisArg and too many arguments', function (st) {
|
|
||||||
var subject = functionBind.call(function (a, b, c) { return a + b + c; }, {}, 1, 2, 3, 4);
|
|
||||||
st.equal(subject.length, 0);
|
|
||||||
st.equal(subject(), 6);
|
|
||||||
st.end();
|
|
||||||
});
|
|
||||||
});
|
|
1
node_modules/get-intrinsic/.eslintignore
generated
vendored
1
node_modules/get-intrinsic/.eslintignore
generated
vendored
@ -1 +0,0 @@
|
|||||||
coverage/
|
|
43
node_modules/get-intrinsic/.eslintrc
generated
vendored
43
node_modules/get-intrinsic/.eslintrc
generated
vendored
@ -1,43 +0,0 @@
|
|||||||
{
|
|
||||||
"root": true,
|
|
||||||
|
|
||||||
"extends": "@ljharb",
|
|
||||||
|
|
||||||
"env": {
|
|
||||||
"es6": true,
|
|
||||||
"es2017": true,
|
|
||||||
"es2020": true,
|
|
||||||
"es2021": true,
|
|
||||||
},
|
|
||||||
|
|
||||||
"globals": {
|
|
||||||
"AggregateError": false,
|
|
||||||
},
|
|
||||||
|
|
||||||
"rules": {
|
|
||||||
"array-bracket-newline": 0,
|
|
||||||
"array-element-newline": 0,
|
|
||||||
"complexity": 0,
|
|
||||||
"eqeqeq": [2, "allow-null"],
|
|
||||||
"func-name-matching": 0,
|
|
||||||
"id-length": 0,
|
|
||||||
"max-lines-per-function": [2, 80],
|
|
||||||
"max-params": [2, 4],
|
|
||||||
"max-statements": 0,
|
|
||||||
"max-statements-per-line": [2, { "max": 2 }],
|
|
||||||
"multiline-comment-style": 0,
|
|
||||||
"no-magic-numbers": 0,
|
|
||||||
"operator-linebreak": [2, "before"],
|
|
||||||
"sort-keys": 0,
|
|
||||||
},
|
|
||||||
|
|
||||||
"overrides": [
|
|
||||||
{
|
|
||||||
"files": "test/**",
|
|
||||||
"rules": {
|
|
||||||
"max-lines-per-function": 0,
|
|
||||||
"new-cap": 0,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
}
|
|
12
node_modules/get-intrinsic/.github/FUNDING.yml
generated
vendored
12
node_modules/get-intrinsic/.github/FUNDING.yml
generated
vendored
@ -1,12 +0,0 @@
|
|||||||
# These are supported funding model platforms
|
|
||||||
|
|
||||||
github: [ljharb]
|
|
||||||
patreon: # Replace with a single Patreon username
|
|
||||||
open_collective: # Replace with a single Open Collective username
|
|
||||||
ko_fi: # Replace with a single Ko-fi username
|
|
||||||
tidelift: npm/get-intrinsic
|
|
||||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
|
||||||
liberapay: # Replace with a single Liberapay username
|
|
||||||
issuehunt: # Replace with a single IssueHunt username
|
|
||||||
otechie: # Replace with a single Otechie username
|
|
||||||
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
|
13
node_modules/get-intrinsic/.nycrc
generated
vendored
13
node_modules/get-intrinsic/.nycrc
generated
vendored
@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
"all": true,
|
|
||||||
"check-coverage": false,
|
|
||||||
"reporter": ["text-summary", "text", "html", "json"],
|
|
||||||
"lines": 86,
|
|
||||||
"statements": 85.93,
|
|
||||||
"functions": 82.43,
|
|
||||||
"branches": 76.06,
|
|
||||||
"exclude": [
|
|
||||||
"coverage",
|
|
||||||
"test"
|
|
||||||
]
|
|
||||||
}
|
|
64
node_modules/get-intrinsic/CHANGELOG.md
generated
vendored
64
node_modules/get-intrinsic/CHANGELOG.md
generated
vendored
@ -1,64 +0,0 @@
|
|||||||
# Changelog
|
|
||||||
|
|
||||||
All notable changes to this project will be documented in this file.
|
|
||||||
|
|
||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
|
|
||||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
||||||
|
|
||||||
## [v1.1.1](https://github.com/ljharb/get-intrinsic/compare/v1.1.0...v1.1.1) - 2021-02-03
|
|
||||||
|
|
||||||
### Fixed
|
|
||||||
|
|
||||||
- [meta] export `./package.json` [`#9`](https://github.com/ljharb/get-intrinsic/issues/9)
|
|
||||||
|
|
||||||
### Commits
|
|
||||||
|
|
||||||
- [readme] flesh out the readme; use `evalmd` [`d12f12c`](https://github.com/ljharb/get-intrinsic/commit/d12f12c15345a0a0772cc65a7c64369529abd614)
|
|
||||||
- [eslint] set up proper globals config [`5a8c098`](https://github.com/ljharb/get-intrinsic/commit/5a8c0984e3319d1ac0e64b102f8ec18b64e79f36)
|
|
||||||
- [Dev Deps] update `eslint` [`7b9a5c0`](https://github.com/ljharb/get-intrinsic/commit/7b9a5c0d31a90ca1a1234181c74988fb046701cd)
|
|
||||||
|
|
||||||
## [v1.1.0](https://github.com/ljharb/get-intrinsic/compare/v1.0.2...v1.1.0) - 2021-01-25
|
|
||||||
|
|
||||||
### Fixed
|
|
||||||
|
|
||||||
- [Refactor] delay `Function` eval until syntax-derived values are requested [`#3`](https://github.com/ljharb/get-intrinsic/issues/3)
|
|
||||||
|
|
||||||
### Commits
|
|
||||||
|
|
||||||
- [Tests] migrate tests to Github Actions [`2ab762b`](https://github.com/ljharb/get-intrinsic/commit/2ab762b48164aea8af37a40ba105bbc8246ab8c4)
|
|
||||||
- [meta] do not publish github action workflow files [`5e7108e`](https://github.com/ljharb/get-intrinsic/commit/5e7108e4768b244d48d9567ba4f8a6cab9c65b8e)
|
|
||||||
- [Tests] add some coverage [`01ac7a8`](https://github.com/ljharb/get-intrinsic/commit/01ac7a87ac29738567e8524cd8c9e026b1fa8cb3)
|
|
||||||
- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `call-bind`, `es-abstract`, `tape`; add `call-bind` [`911b672`](https://github.com/ljharb/get-intrinsic/commit/911b672fbffae433a96924c6ce013585e425f4b7)
|
|
||||||
- [Refactor] rearrange evalled constructors a bit [`7e7e4bf`](https://github.com/ljharb/get-intrinsic/commit/7e7e4bf583f3799c8ac1c6c5e10d2cb553957347)
|
|
||||||
- [meta] add Automatic Rebase and Require Allow Edits workflows [`0199968`](https://github.com/ljharb/get-intrinsic/commit/01999687a263ffce0a3cb011dfbcb761754aedbc)
|
|
||||||
|
|
||||||
## [v1.0.2](https://github.com/ljharb/get-intrinsic/compare/v1.0.1...v1.0.2) - 2020-12-17
|
|
||||||
|
|
||||||
### Commits
|
|
||||||
|
|
||||||
- [Fix] Throw for non‑existent intrinsics [`68f873b`](https://github.com/ljharb/get-intrinsic/commit/68f873b013c732a05ad6f5fc54f697e55515461b)
|
|
||||||
- [Fix] Throw for non‑existent segments in the intrinsic path [`8325dee`](https://github.com/ljharb/get-intrinsic/commit/8325deee43128f3654d3399aa9591741ebe17b21)
|
|
||||||
- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `has-bigints`, `object-inspect` [`0c227a7`](https://github.com/ljharb/get-intrinsic/commit/0c227a7d8b629166f25715fd242553892e458525)
|
|
||||||
- [meta] do not lint coverage output [`70d2419`](https://github.com/ljharb/get-intrinsic/commit/70d24199b620043cd9110fc5f426d214ebe21dc9)
|
|
||||||
|
|
||||||
## [v1.0.1](https://github.com/ljharb/get-intrinsic/compare/v1.0.0...v1.0.1) - 2020-10-30
|
|
||||||
|
|
||||||
### Commits
|
|
||||||
|
|
||||||
- [Tests] gather coverage data on every job [`d1d280d`](https://github.com/ljharb/get-intrinsic/commit/d1d280dec714e3f0519cc877dbcb193057d9cac6)
|
|
||||||
- [Fix] add missing dependencies [`5031771`](https://github.com/ljharb/get-intrinsic/commit/5031771bb1095b38be88ce7c41d5de88718e432e)
|
|
||||||
- [Tests] use `es-value-fixtures` [`af48765`](https://github.com/ljharb/get-intrinsic/commit/af48765a23c5323fb0b6b38dbf00eb5099c7bebc)
|
|
||||||
|
|
||||||
## v1.0.0 - 2020-10-29
|
|
||||||
|
|
||||||
### Commits
|
|
||||||
|
|
||||||
- Implementation [`bbce57c`](https://github.com/ljharb/get-intrinsic/commit/bbce57c6f33d05b2d8d3efa273ceeb3ee01127bb)
|
|
||||||
- Tests [`17b4f0d`](https://github.com/ljharb/get-intrinsic/commit/17b4f0d56dea6b4059b56fc30ef3ee4d9500ebc2)
|
|
||||||
- Initial commit [`3153294`](https://github.com/ljharb/get-intrinsic/commit/31532948de363b0a27dd9fd4649e7b7028ec4b44)
|
|
||||||
- npm init [`fb326c4`](https://github.com/ljharb/get-intrinsic/commit/fb326c4d2817c8419ec31de1295f06bb268a7902)
|
|
||||||
- [meta] add Automatic Rebase and Require Allow Edits workflows [`48862fb`](https://github.com/ljharb/get-intrinsic/commit/48862fb2508c8f6a57968e6d08b7c883afc9d550)
|
|
||||||
- [meta] add `auto-changelog` [`5f28ad0`](https://github.com/ljharb/get-intrinsic/commit/5f28ad019e060a353d8028f9f2591a9cc93074a1)
|
|
||||||
- [meta] add "funding"; create `FUNDING.yml` [`c2bbdde`](https://github.com/ljharb/get-intrinsic/commit/c2bbddeba73a875be61484ee4680b129a6d4e0a1)
|
|
||||||
- [Tests] add `npm run lint` [`0a84b98`](https://github.com/ljharb/get-intrinsic/commit/0a84b98b22b7cf7a748666f705b0003a493c35fd)
|
|
||||||
- Only apps should have lockfiles [`9586c75`](https://github.com/ljharb/get-intrinsic/commit/9586c75866c1ee678e4d5d4dbbdef6997e511b05)
|
|
21
node_modules/get-intrinsic/LICENSE
generated
vendored
21
node_modules/get-intrinsic/LICENSE
generated
vendored
@ -1,21 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2020 Jordan Harband
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
65
node_modules/get-intrinsic/README.md
generated
vendored
65
node_modules/get-intrinsic/README.md
generated
vendored
@ -1,65 +0,0 @@
|
|||||||
# get-intrinsic <sup>[![Version Badge][npm-version-svg]][package-url]</sup>
|
|
||||||
|
|
||||||
[![dependency status][deps-svg]][deps-url]
|
|
||||||
[![dev dependency status][dev-deps-svg]][dev-deps-url]
|
|
||||||
[![License][license-image]][license-url]
|
|
||||||
[![Downloads][downloads-image]][downloads-url]
|
|
||||||
|
|
||||||
[![npm badge][npm-badge-png]][package-url]
|
|
||||||
|
|
||||||
Get and robustly cache all JS language-level intrinsics at first require time.
|
|
||||||
|
|
||||||
See the syntax described [in the JS spec](https://tc39.es/ecma262/#sec-well-known-intrinsic-objects) for reference.
|
|
||||||
|
|
||||||
## Example
|
|
||||||
|
|
||||||
```js
|
|
||||||
var GetIntrinsic = require('get-intrinsic');
|
|
||||||
var assert = require('assert');
|
|
||||||
|
|
||||||
// static methods
|
|
||||||
assert.equal(GetIntrinsic('%Math.pow%'), Math.pow);
|
|
||||||
assert.equal(Math.pow(2, 3), 8);
|
|
||||||
assert.equal(GetIntrinsic('%Math.pow%')(2, 3), 8);
|
|
||||||
delete Math.pow;
|
|
||||||
assert.equal(GetIntrinsic('%Math.pow%')(2, 3), 8);
|
|
||||||
|
|
||||||
// instance methods
|
|
||||||
var arr = [1];
|
|
||||||
assert.equal(GetIntrinsic('%Array.prototype.push%'), Array.prototype.push);
|
|
||||||
assert.deepEqual(arr, [1]);
|
|
||||||
|
|
||||||
arr.push(2);
|
|
||||||
assert.deepEqual(arr, [1, 2]);
|
|
||||||
|
|
||||||
GetIntrinsic('%Array.prototype.push%').call(arr, 3);
|
|
||||||
assert.deepEqual(arr, [1, 2, 3]);
|
|
||||||
|
|
||||||
delete Array.prototype.push;
|
|
||||||
GetIntrinsic('%Array.prototype.push%').call(arr, 4);
|
|
||||||
assert.deepEqual(arr, [1, 2, 3, 4]);
|
|
||||||
|
|
||||||
// missing features
|
|
||||||
delete JSON.parse; // to simulate a real intrinsic that is missing in the environment
|
|
||||||
assert.throws(() => GetIntrinsic('%JSON.parse%'));
|
|
||||||
assert.equal(undefined, GetIntrinsic('%JSON.parse%', true));
|
|
||||||
```
|
|
||||||
|
|
||||||
## Tests
|
|
||||||
Simply clone the repo, `npm install`, and run `npm test`
|
|
||||||
|
|
||||||
## Security
|
|
||||||
|
|
||||||
Please email [@ljharb](https://github.com/ljharb) or see https://tidelift.com/security if you have a potential security vulnerability to report.
|
|
||||||
|
|
||||||
[package-url]: https://npmjs.org/package/get-intrinsic
|
|
||||||
[npm-version-svg]: http://versionbadg.es/ljharb/get-intrinsic.svg
|
|
||||||
[deps-svg]: https://david-dm.org/ljharb/get-intrinsic.svg
|
|
||||||
[deps-url]: https://david-dm.org/ljharb/get-intrinsic
|
|
||||||
[dev-deps-svg]: https://david-dm.org/ljharb/get-intrinsic/dev-status.svg
|
|
||||||
[dev-deps-url]: https://david-dm.org/ljharb/get-intrinsic#info=devDependencies
|
|
||||||
[npm-badge-png]: https://nodei.co/npm/get-intrinsic.png?downloads=true&stars=true
|
|
||||||
[license-image]: https://img.shields.io/npm/l/get-intrinsic.svg
|
|
||||||
[license-url]: LICENSE
|
|
||||||
[downloads-image]: https://img.shields.io/npm/dm/get-intrinsic.svg
|
|
||||||
[downloads-url]: https://npm-stat.com/charts.html?package=get-intrinsic
|
|
330
node_modules/get-intrinsic/index.js
generated
vendored
330
node_modules/get-intrinsic/index.js
generated
vendored
@ -1,330 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
var undefined;
|
|
||||||
|
|
||||||
var $SyntaxError = SyntaxError;
|
|
||||||
var $Function = Function;
|
|
||||||
var $TypeError = TypeError;
|
|
||||||
|
|
||||||
// eslint-disable-next-line consistent-return
|
|
||||||
var getEvalledConstructor = function (expressionSyntax) {
|
|
||||||
try {
|
|
||||||
return $Function('"use strict"; return (' + expressionSyntax + ').constructor;')();
|
|
||||||
} catch (e) {}
|
|
||||||
};
|
|
||||||
|
|
||||||
var $gOPD = Object.getOwnPropertyDescriptor;
|
|
||||||
if ($gOPD) {
|
|
||||||
try {
|
|
||||||
$gOPD({}, '');
|
|
||||||
} catch (e) {
|
|
||||||
$gOPD = null; // this is IE 8, which has a broken gOPD
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var throwTypeError = function () {
|
|
||||||
throw new $TypeError();
|
|
||||||
};
|
|
||||||
var ThrowTypeError = $gOPD
|
|
||||||
? (function () {
|
|
||||||
try {
|
|
||||||
// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties
|
|
||||||
arguments.callee; // IE 8 does not throw here
|
|
||||||
return throwTypeError;
|
|
||||||
} catch (calleeThrows) {
|
|
||||||
try {
|
|
||||||
// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')
|
|
||||||
return $gOPD(arguments, 'callee').get;
|
|
||||||
} catch (gOPDthrows) {
|
|
||||||
return throwTypeError;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}())
|
|
||||||
: throwTypeError;
|
|
||||||
|
|
||||||
var hasSymbols = require('has-symbols')();
|
|
||||||
|
|
||||||
var getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto
|
|
||||||
|
|
||||||
var needsEval = {};
|
|
||||||
|
|
||||||
var TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);
|
|
||||||
|
|
||||||
var INTRINSICS = {
|
|
||||||
'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,
|
|
||||||
'%Array%': Array,
|
|
||||||
'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,
|
|
||||||
'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,
|
|
||||||
'%AsyncFromSyncIteratorPrototype%': undefined,
|
|
||||||
'%AsyncFunction%': needsEval,
|
|
||||||
'%AsyncGenerator%': needsEval,
|
|
||||||
'%AsyncGeneratorFunction%': needsEval,
|
|
||||||
'%AsyncIteratorPrototype%': needsEval,
|
|
||||||
'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,
|
|
||||||
'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,
|
|
||||||
'%Boolean%': Boolean,
|
|
||||||
'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,
|
|
||||||
'%Date%': Date,
|
|
||||||
'%decodeURI%': decodeURI,
|
|
||||||
'%decodeURIComponent%': decodeURIComponent,
|
|
||||||
'%encodeURI%': encodeURI,
|
|
||||||
'%encodeURIComponent%': encodeURIComponent,
|
|
||||||
'%Error%': Error,
|
|
||||||
'%eval%': eval, // eslint-disable-line no-eval
|
|
||||||
'%EvalError%': EvalError,
|
|
||||||
'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,
|
|
||||||
'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,
|
|
||||||
'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,
|
|
||||||
'%Function%': $Function,
|
|
||||||
'%GeneratorFunction%': needsEval,
|
|
||||||
'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,
|
|
||||||
'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,
|
|
||||||
'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,
|
|
||||||
'%isFinite%': isFinite,
|
|
||||||
'%isNaN%': isNaN,
|
|
||||||
'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,
|
|
||||||
'%JSON%': typeof JSON === 'object' ? JSON : undefined,
|
|
||||||
'%Map%': typeof Map === 'undefined' ? undefined : Map,
|
|
||||||
'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),
|
|
||||||
'%Math%': Math,
|
|
||||||
'%Number%': Number,
|
|
||||||
'%Object%': Object,
|
|
||||||
'%parseFloat%': parseFloat,
|
|
||||||
'%parseInt%': parseInt,
|
|
||||||
'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,
|
|
||||||
'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,
|
|
||||||
'%RangeError%': RangeError,
|
|
||||||
'%ReferenceError%': ReferenceError,
|
|
||||||
'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,
|
|
||||||
'%RegExp%': RegExp,
|
|
||||||
'%Set%': typeof Set === 'undefined' ? undefined : Set,
|
|
||||||
'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),
|
|
||||||
'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,
|
|
||||||
'%String%': String,
|
|
||||||
'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,
|
|
||||||
'%Symbol%': hasSymbols ? Symbol : undefined,
|
|
||||||
'%SyntaxError%': $SyntaxError,
|
|
||||||
'%ThrowTypeError%': ThrowTypeError,
|
|
||||||
'%TypedArray%': TypedArray,
|
|
||||||
'%TypeError%': $TypeError,
|
|
||||||
'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,
|
|
||||||
'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,
|
|
||||||
'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,
|
|
||||||
'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,
|
|
||||||
'%URIError%': URIError,
|
|
||||||
'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,
|
|
||||||
'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,
|
|
||||||
'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet
|
|
||||||
};
|
|
||||||
|
|
||||||
var doEval = function doEval(name) {
|
|
||||||
var value;
|
|
||||||
if (name === '%AsyncFunction%') {
|
|
||||||
value = getEvalledConstructor('async function () {}');
|
|
||||||
} else if (name === '%GeneratorFunction%') {
|
|
||||||
value = getEvalledConstructor('function* () {}');
|
|
||||||
} else if (name === '%AsyncGeneratorFunction%') {
|
|
||||||
value = getEvalledConstructor('async function* () {}');
|
|
||||||
} else if (name === '%AsyncGenerator%') {
|
|
||||||
var fn = doEval('%AsyncGeneratorFunction%');
|
|
||||||
if (fn) {
|
|
||||||
value = fn.prototype;
|
|
||||||
}
|
|
||||||
} else if (name === '%AsyncIteratorPrototype%') {
|
|
||||||
var gen = doEval('%AsyncGenerator%');
|
|
||||||
if (gen) {
|
|
||||||
value = getProto(gen.prototype);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
INTRINSICS[name] = value;
|
|
||||||
|
|
||||||
return value;
|
|
||||||
};
|
|
||||||
|
|
||||||
var LEGACY_ALIASES = {
|
|
||||||
'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],
|
|
||||||
'%ArrayPrototype%': ['Array', 'prototype'],
|
|
||||||
'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],
|
|
||||||
'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],
|
|
||||||
'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],
|
|
||||||
'%ArrayProto_values%': ['Array', 'prototype', 'values'],
|
|
||||||
'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],
|
|
||||||
'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],
|
|
||||||
'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],
|
|
||||||
'%BooleanPrototype%': ['Boolean', 'prototype'],
|
|
||||||
'%DataViewPrototype%': ['DataView', 'prototype'],
|
|
||||||
'%DatePrototype%': ['Date', 'prototype'],
|
|
||||||
'%ErrorPrototype%': ['Error', 'prototype'],
|
|
||||||
'%EvalErrorPrototype%': ['EvalError', 'prototype'],
|
|
||||||
'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],
|
|
||||||
'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],
|
|
||||||
'%FunctionPrototype%': ['Function', 'prototype'],
|
|
||||||
'%Generator%': ['GeneratorFunction', 'prototype'],
|
|
||||||
'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],
|
|
||||||
'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],
|
|
||||||
'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],
|
|
||||||
'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],
|
|
||||||
'%JSONParse%': ['JSON', 'parse'],
|
|
||||||
'%JSONStringify%': ['JSON', 'stringify'],
|
|
||||||
'%MapPrototype%': ['Map', 'prototype'],
|
|
||||||
'%NumberPrototype%': ['Number', 'prototype'],
|
|
||||||
'%ObjectPrototype%': ['Object', 'prototype'],
|
|
||||||
'%ObjProto_toString%': ['Object', 'prototype', 'toString'],
|
|
||||||
'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],
|
|
||||||
'%PromisePrototype%': ['Promise', 'prototype'],
|
|
||||||
'%PromiseProto_then%': ['Promise', 'prototype', 'then'],
|
|
||||||
'%Promise_all%': ['Promise', 'all'],
|
|
||||||
'%Promise_reject%': ['Promise', 'reject'],
|
|
||||||
'%Promise_resolve%': ['Promise', 'resolve'],
|
|
||||||
'%RangeErrorPrototype%': ['RangeError', 'prototype'],
|
|
||||||
'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],
|
|
||||||
'%RegExpPrototype%': ['RegExp', 'prototype'],
|
|
||||||
'%SetPrototype%': ['Set', 'prototype'],
|
|
||||||
'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],
|
|
||||||
'%StringPrototype%': ['String', 'prototype'],
|
|
||||||
'%SymbolPrototype%': ['Symbol', 'prototype'],
|
|
||||||
'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],
|
|
||||||
'%TypedArrayPrototype%': ['TypedArray', 'prototype'],
|
|
||||||
'%TypeErrorPrototype%': ['TypeError', 'prototype'],
|
|
||||||
'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],
|
|
||||||
'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],
|
|
||||||
'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],
|
|
||||||
'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],
|
|
||||||
'%URIErrorPrototype%': ['URIError', 'prototype'],
|
|
||||||
'%WeakMapPrototype%': ['WeakMap', 'prototype'],
|
|
||||||
'%WeakSetPrototype%': ['WeakSet', 'prototype']
|
|
||||||
};
|
|
||||||
|
|
||||||
var bind = require('function-bind');
|
|
||||||
var hasOwn = require('has');
|
|
||||||
var $concat = bind.call(Function.call, Array.prototype.concat);
|
|
||||||
var $spliceApply = bind.call(Function.apply, Array.prototype.splice);
|
|
||||||
var $replace = bind.call(Function.call, String.prototype.replace);
|
|
||||||
var $strSlice = bind.call(Function.call, String.prototype.slice);
|
|
||||||
|
|
||||||
/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */
|
|
||||||
var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g;
|
|
||||||
var reEscapeChar = /\\(\\)?/g; /** Used to match backslashes in property paths. */
|
|
||||||
var stringToPath = function stringToPath(string) {
|
|
||||||
var first = $strSlice(string, 0, 1);
|
|
||||||
var last = $strSlice(string, -1);
|
|
||||||
if (first === '%' && last !== '%') {
|
|
||||||
throw new $SyntaxError('invalid intrinsic syntax, expected closing `%`');
|
|
||||||
} else if (last === '%' && first !== '%') {
|
|
||||||
throw new $SyntaxError('invalid intrinsic syntax, expected opening `%`');
|
|
||||||
}
|
|
||||||
var result = [];
|
|
||||||
$replace(string, rePropName, function (match, number, quote, subString) {
|
|
||||||
result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;
|
|
||||||
});
|
|
||||||
return result;
|
|
||||||
};
|
|
||||||
/* end adaptation */
|
|
||||||
|
|
||||||
var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {
|
|
||||||
var intrinsicName = name;
|
|
||||||
var alias;
|
|
||||||
if (hasOwn(LEGACY_ALIASES, intrinsicName)) {
|
|
||||||
alias = LEGACY_ALIASES[intrinsicName];
|
|
||||||
intrinsicName = '%' + alias[0] + '%';
|
|
||||||
}
|
|
||||||
|
|
||||||
if (hasOwn(INTRINSICS, intrinsicName)) {
|
|
||||||
var value = INTRINSICS[intrinsicName];
|
|
||||||
if (value === needsEval) {
|
|
||||||
value = doEval(intrinsicName);
|
|
||||||
}
|
|
||||||
if (typeof value === 'undefined' && !allowMissing) {
|
|
||||||
throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
|
||||||
alias: alias,
|
|
||||||
name: intrinsicName,
|
|
||||||
value: value
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new $SyntaxError('intrinsic ' + name + ' does not exist!');
|
|
||||||
};
|
|
||||||
|
|
||||||
module.exports = function GetIntrinsic(name, allowMissing) {
|
|
||||||
if (typeof name !== 'string' || name.length === 0) {
|
|
||||||
throw new $TypeError('intrinsic name must be a non-empty string');
|
|
||||||
}
|
|
||||||
if (arguments.length > 1 && typeof allowMissing !== 'boolean') {
|
|
||||||
throw new $TypeError('"allowMissing" argument must be a boolean');
|
|
||||||
}
|
|
||||||
|
|
||||||
var parts = stringToPath(name);
|
|
||||||
var intrinsicBaseName = parts.length > 0 ? parts[0] : '';
|
|
||||||
|
|
||||||
var intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);
|
|
||||||
var intrinsicRealName = intrinsic.name;
|
|
||||||
var value = intrinsic.value;
|
|
||||||
var skipFurtherCaching = false;
|
|
||||||
|
|
||||||
var alias = intrinsic.alias;
|
|
||||||
if (alias) {
|
|
||||||
intrinsicBaseName = alias[0];
|
|
||||||
$spliceApply(parts, $concat([0, 1], alias));
|
|
||||||
}
|
|
||||||
|
|
||||||
for (var i = 1, isOwn = true; i < parts.length; i += 1) {
|
|
||||||
var part = parts[i];
|
|
||||||
var first = $strSlice(part, 0, 1);
|
|
||||||
var last = $strSlice(part, -1);
|
|
||||||
if (
|
|
||||||
(
|
|
||||||
(first === '"' || first === "'" || first === '`')
|
|
||||||
|| (last === '"' || last === "'" || last === '`')
|
|
||||||
)
|
|
||||||
&& first !== last
|
|
||||||
) {
|
|
||||||
throw new $SyntaxError('property names with quotes must have matching quotes');
|
|
||||||
}
|
|
||||||
if (part === 'constructor' || !isOwn) {
|
|
||||||
skipFurtherCaching = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
intrinsicBaseName += '.' + part;
|
|
||||||
intrinsicRealName = '%' + intrinsicBaseName + '%';
|
|
||||||
|
|
||||||
if (hasOwn(INTRINSICS, intrinsicRealName)) {
|
|
||||||
value = INTRINSICS[intrinsicRealName];
|
|
||||||
} else if (value != null) {
|
|
||||||
if (!(part in value)) {
|
|
||||||
if (!allowMissing) {
|
|
||||||
throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');
|
|
||||||
}
|
|
||||||
return void undefined;
|
|
||||||
}
|
|
||||||
if ($gOPD && (i + 1) >= parts.length) {
|
|
||||||
var desc = $gOPD(value, part);
|
|
||||||
isOwn = !!desc;
|
|
||||||
|
|
||||||
// By convention, when a data property is converted to an accessor
|
|
||||||
// property to emulate a data property that does not suffer from
|
|
||||||
// the override mistake, that accessor's getter is marked with
|
|
||||||
// an `originalValue` property. Here, when we detect this, we
|
|
||||||
// uphold the illusion by pretending to see that original data
|
|
||||||
// property, i.e., returning the value rather than the getter
|
|
||||||
// itself.
|
|
||||||
if (isOwn && 'get' in desc && !('originalValue' in desc.get)) {
|
|
||||||
value = desc.get;
|
|
||||||
} else {
|
|
||||||
value = value[part];
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
isOwn = hasOwn(value, part);
|
|
||||||
value = value[part];
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isOwn && !skipFurtherCaching) {
|
|
||||||
INTRINSICS[intrinsicRealName] = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return value;
|
|
||||||
};
|
|
110
node_modules/get-intrinsic/package.json
generated
vendored
110
node_modules/get-intrinsic/package.json
generated
vendored
@ -1,110 +0,0 @@
|
|||||||
{
|
|
||||||
"_args": [
|
|
||||||
[
|
|
||||||
"get-intrinsic@1.1.1",
|
|
||||||
"."
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"_from": "get-intrinsic@1.1.1",
|
|
||||||
"_id": "get-intrinsic@1.1.1",
|
|
||||||
"_inBundle": false,
|
|
||||||
"_integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
|
|
||||||
"_location": "/get-intrinsic",
|
|
||||||
"_phantomChildren": {},
|
|
||||||
"_requested": {
|
|
||||||
"type": "version",
|
|
||||||
"registry": true,
|
|
||||||
"raw": "get-intrinsic@1.1.1",
|
|
||||||
"name": "get-intrinsic",
|
|
||||||
"escapedName": "get-intrinsic",
|
|
||||||
"rawSpec": "1.1.1",
|
|
||||||
"saveSpec": null,
|
|
||||||
"fetchSpec": "1.1.1"
|
|
||||||
},
|
|
||||||
"_requiredBy": [
|
|
||||||
"/call-bind",
|
|
||||||
"/side-channel"
|
|
||||||
],
|
|
||||||
"_resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
|
|
||||||
"_spec": "1.1.1",
|
|
||||||
"_where": ".",
|
|
||||||
"author": {
|
|
||||||
"name": "Jordan Harband",
|
|
||||||
"email": "ljharb@gmail.com"
|
|
||||||
},
|
|
||||||
"auto-changelog": {
|
|
||||||
"output": "CHANGELOG.md",
|
|
||||||
"template": "keepachangelog",
|
|
||||||
"unreleased": false,
|
|
||||||
"commitLimit": false,
|
|
||||||
"backfillLimit": false,
|
|
||||||
"hideCredit": true
|
|
||||||
},
|
|
||||||
"bugs": {
|
|
||||||
"url": "https://github.com/ljharb/get-intrinsic/issues"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"function-bind": "^1.1.1",
|
|
||||||
"has": "^1.0.3",
|
|
||||||
"has-symbols": "^1.0.1"
|
|
||||||
},
|
|
||||||
"description": "Get and robustly cache all JS language-level intrinsics at first require time",
|
|
||||||
"devDependencies": {
|
|
||||||
"@ljharb/eslint-config": "^17.5.0",
|
|
||||||
"aud": "^1.1.3",
|
|
||||||
"auto-changelog": "^2.2.1",
|
|
||||||
"call-bind": "^1.0.2",
|
|
||||||
"es-abstract": "^1.18.0-next.2",
|
|
||||||
"es-value-fixtures": "^1.0.0",
|
|
||||||
"eslint": "^7.19.0",
|
|
||||||
"evalmd": "^0.0.19",
|
|
||||||
"foreach": "^2.0.5",
|
|
||||||
"has-bigints": "^1.0.1",
|
|
||||||
"make-async-function": "^1.0.0",
|
|
||||||
"make-async-generator-function": "^1.0.0",
|
|
||||||
"make-generator-function": "^2.0.0",
|
|
||||||
"nyc": "^10.3.2",
|
|
||||||
"object-inspect": "^1.9.0",
|
|
||||||
"tape": "^5.1.1"
|
|
||||||
},
|
|
||||||
"exports": {
|
|
||||||
".": [
|
|
||||||
{
|
|
||||||
"default": "./index.js"
|
|
||||||
},
|
|
||||||
"./index.js"
|
|
||||||
],
|
|
||||||
"./package.json": "./package.json"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/ljharb"
|
|
||||||
},
|
|
||||||
"homepage": "https://github.com/ljharb/get-intrinsic#readme",
|
|
||||||
"keywords": [
|
|
||||||
"javascript",
|
|
||||||
"ecmascript",
|
|
||||||
"es",
|
|
||||||
"js",
|
|
||||||
"intrinsic",
|
|
||||||
"getintrinsic",
|
|
||||||
"es-abstract"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
|
||||||
"main": "index.js",
|
|
||||||
"name": "get-intrinsic",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git+https://github.com/ljharb/get-intrinsic.git"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"lint": "eslint --ext=.js,.mjs .",
|
|
||||||
"posttest": "aud --production",
|
|
||||||
"postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"",
|
|
||||||
"prelint": "evalmd README.md",
|
|
||||||
"pretest": "npm run lint",
|
|
||||||
"test": "npm run tests-only",
|
|
||||||
"tests-only": "nyc tape 'test/**/*.js'",
|
|
||||||
"version": "auto-changelog && git add CHANGELOG.md"
|
|
||||||
},
|
|
||||||
"version": "1.1.1"
|
|
||||||
}
|
|
260
node_modules/get-intrinsic/test/GetIntrinsic.js
generated
vendored
260
node_modules/get-intrinsic/test/GetIntrinsic.js
generated
vendored
@ -1,260 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
var GetIntrinsic = require('../');
|
|
||||||
|
|
||||||
var test = require('tape');
|
|
||||||
var forEach = require('foreach');
|
|
||||||
var debug = require('object-inspect');
|
|
||||||
var generatorFns = require('make-generator-function')();
|
|
||||||
var asyncFns = require('make-async-function').list();
|
|
||||||
var asyncGenFns = require('make-async-generator-function')();
|
|
||||||
|
|
||||||
var callBound = require('call-bind/callBound');
|
|
||||||
var v = require('es-value-fixtures');
|
|
||||||
var $gOPD = require('es-abstract/helpers/getOwnPropertyDescriptor');
|
|
||||||
var defineProperty = require('es-abstract/test/helpers/defineProperty');
|
|
||||||
|
|
||||||
var $isProto = callBound('%Object.prototype.isPrototypeOf%');
|
|
||||||
|
|
||||||
test('export', function (t) {
|
|
||||||
t.equal(typeof GetIntrinsic, 'function', 'it is a function');
|
|
||||||
t.equal(GetIntrinsic.length, 2, 'function has length of 2');
|
|
||||||
|
|
||||||
t.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('throws', function (t) {
|
|
||||||
t['throws'](
|
|
||||||
function () { GetIntrinsic('not an intrinsic'); },
|
|
||||||
SyntaxError,
|
|
||||||
'nonexistent intrinsic throws a syntax error'
|
|
||||||
);
|
|
||||||
|
|
||||||
t['throws'](
|
|
||||||
function () { GetIntrinsic(''); },
|
|
||||||
TypeError,
|
|
||||||
'empty string intrinsic throws a type error'
|
|
||||||
);
|
|
||||||
|
|
||||||
t['throws'](
|
|
||||||
function () { GetIntrinsic('.'); },
|
|
||||||
SyntaxError,
|
|
||||||
'"just a dot" intrinsic throws a syntax error'
|
|
||||||
);
|
|
||||||
|
|
||||||
t['throws'](
|
|
||||||
function () { GetIntrinsic('%String'); },
|
|
||||||
SyntaxError,
|
|
||||||
'Leading % without trailing % throws a syntax error'
|
|
||||||
);
|
|
||||||
|
|
||||||
t['throws'](
|
|
||||||
function () { GetIntrinsic('String%'); },
|
|
||||||
SyntaxError,
|
|
||||||
'Trailing % without leading % throws a syntax error'
|
|
||||||
);
|
|
||||||
|
|
||||||
t['throws'](
|
|
||||||
function () { GetIntrinsic("String['prototype]"); },
|
|
||||||
SyntaxError,
|
|
||||||
'Dynamic property access is disallowed for intrinsics (unterminated string)'
|
|
||||||
);
|
|
||||||
|
|
||||||
t['throws'](
|
|
||||||
function () { GetIntrinsic('%Proxy.prototype.undefined%'); },
|
|
||||||
TypeError,
|
|
||||||
"Throws when middle part doesn't exist (%Proxy.prototype.undefined%)"
|
|
||||||
);
|
|
||||||
|
|
||||||
forEach(v.nonStrings, function (nonString) {
|
|
||||||
t['throws'](
|
|
||||||
function () { GetIntrinsic(nonString); },
|
|
||||||
TypeError,
|
|
||||||
debug(nonString) + ' is not a String'
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
forEach(v.nonBooleans, function (nonBoolean) {
|
|
||||||
t['throws'](
|
|
||||||
function () { GetIntrinsic('%', nonBoolean); },
|
|
||||||
TypeError,
|
|
||||||
debug(nonBoolean) + ' is not a Boolean'
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
forEach([
|
|
||||||
'toString',
|
|
||||||
'propertyIsEnumerable',
|
|
||||||
'hasOwnProperty'
|
|
||||||
], function (objectProtoMember) {
|
|
||||||
t['throws'](
|
|
||||||
function () { GetIntrinsic(objectProtoMember); },
|
|
||||||
SyntaxError,
|
|
||||||
debug(objectProtoMember) + ' is not an intrinsic'
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
t.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('base intrinsics', function (t) {
|
|
||||||
t.equal(GetIntrinsic('%Object%'), Object, '%Object% yields Object');
|
|
||||||
t.equal(GetIntrinsic('Object'), Object, 'Object yields Object');
|
|
||||||
t.equal(GetIntrinsic('%Array%'), Array, '%Array% yields Array');
|
|
||||||
t.equal(GetIntrinsic('Array'), Array, 'Array yields Array');
|
|
||||||
|
|
||||||
t.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('dotted paths', function (t) {
|
|
||||||
t.equal(GetIntrinsic('%Object.prototype.toString%'), Object.prototype.toString, '%Object.prototype.toString% yields Object.prototype.toString');
|
|
||||||
t.equal(GetIntrinsic('Object.prototype.toString'), Object.prototype.toString, 'Object.prototype.toString yields Object.prototype.toString');
|
|
||||||
t.equal(GetIntrinsic('%Array.prototype.push%'), Array.prototype.push, '%Array.prototype.push% yields Array.prototype.push');
|
|
||||||
t.equal(GetIntrinsic('Array.prototype.push'), Array.prototype.push, 'Array.prototype.push yields Array.prototype.push');
|
|
||||||
|
|
||||||
test('underscore paths are aliases for dotted paths', { skip: !Object.isFrozen || Object.isFrozen(Object.prototype) }, function (st) {
|
|
||||||
var original = GetIntrinsic('%ObjProto_toString%');
|
|
||||||
|
|
||||||
forEach([
|
|
||||||
'%Object.prototype.toString%',
|
|
||||||
'Object.prototype.toString',
|
|
||||||
'%ObjectPrototype.toString%',
|
|
||||||
'ObjectPrototype.toString',
|
|
||||||
'%ObjProto_toString%',
|
|
||||||
'ObjProto_toString'
|
|
||||||
], function (name) {
|
|
||||||
defineProperty(Object.prototype, 'toString', {
|
|
||||||
value: function toString() {
|
|
||||||
return original.apply(this, arguments);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
st.equal(GetIntrinsic(name), original, name + ' yields original Object.prototype.toString');
|
|
||||||
});
|
|
||||||
|
|
||||||
defineProperty(Object.prototype, 'toString', { value: original });
|
|
||||||
st.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('dotted paths cache', { skip: !Object.isFrozen || Object.isFrozen(Object.prototype) }, function (st) {
|
|
||||||
var original = GetIntrinsic('%Object.prototype.propertyIsEnumerable%');
|
|
||||||
|
|
||||||
forEach([
|
|
||||||
'%Object.prototype.propertyIsEnumerable%',
|
|
||||||
'Object.prototype.propertyIsEnumerable',
|
|
||||||
'%ObjectPrototype.propertyIsEnumerable%',
|
|
||||||
'ObjectPrototype.propertyIsEnumerable'
|
|
||||||
], function (name) {
|
|
||||||
// eslint-disable-next-line no-extend-native
|
|
||||||
Object.prototype.propertyIsEnumerable = function propertyIsEnumerable() {
|
|
||||||
return original.apply(this, arguments);
|
|
||||||
};
|
|
||||||
st.equal(GetIntrinsic(name), original, name + ' yields cached Object.prototype.propertyIsEnumerable');
|
|
||||||
});
|
|
||||||
|
|
||||||
// eslint-disable-next-line no-extend-native
|
|
||||||
Object.prototype.propertyIsEnumerable = original;
|
|
||||||
st.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('dotted path reports correct error', function (st) {
|
|
||||||
st['throws'](function () {
|
|
||||||
GetIntrinsic('%NonExistentIntrinsic.prototype.property%');
|
|
||||||
}, /%NonExistentIntrinsic%/, 'The base intrinsic of %NonExistentIntrinsic.prototype.property% is %NonExistentIntrinsic%');
|
|
||||||
|
|
||||||
st['throws'](function () {
|
|
||||||
GetIntrinsic('%NonExistentIntrinsicPrototype.property%');
|
|
||||||
}, /%NonExistentIntrinsicPrototype%/, 'The base intrinsic of %NonExistentIntrinsicPrototype.property% is %NonExistentIntrinsicPrototype%');
|
|
||||||
|
|
||||||
st.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
t.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('accessors', { skip: !$gOPD || typeof Map !== 'function' }, function (t) {
|
|
||||||
var actual = $gOPD(Map.prototype, 'size');
|
|
||||||
t.ok(actual, 'Map.prototype.size has a descriptor');
|
|
||||||
t.equal(typeof actual.get, 'function', 'Map.prototype.size has a getter function');
|
|
||||||
t.equal(GetIntrinsic('%Map.prototype.size%'), actual.get, '%Map.prototype.size% yields the getter for it');
|
|
||||||
t.equal(GetIntrinsic('Map.prototype.size'), actual.get, 'Map.prototype.size yields the getter for it');
|
|
||||||
|
|
||||||
t.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('generator functions', { skip: !generatorFns.length }, function (t) {
|
|
||||||
var $GeneratorFunction = GetIntrinsic('%GeneratorFunction%');
|
|
||||||
var $GeneratorFunctionPrototype = GetIntrinsic('%Generator%');
|
|
||||||
var $GeneratorPrototype = GetIntrinsic('%GeneratorPrototype%');
|
|
||||||
|
|
||||||
forEach(generatorFns, function (genFn) {
|
|
||||||
var fnName = genFn.name;
|
|
||||||
fnName = fnName ? "'" + fnName + "'" : 'genFn';
|
|
||||||
|
|
||||||
t.ok(genFn instanceof $GeneratorFunction, fnName + ' instanceof %GeneratorFunction%');
|
|
||||||
t.ok($isProto($GeneratorFunctionPrototype, genFn), '%Generator% is prototype of ' + fnName);
|
|
||||||
t.ok($isProto($GeneratorPrototype, genFn.prototype), '%GeneratorPrototype% is prototype of ' + fnName + '.prototype');
|
|
||||||
});
|
|
||||||
|
|
||||||
t.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('async functions', { skip: !asyncFns.length }, function (t) {
|
|
||||||
var $AsyncFunction = GetIntrinsic('%AsyncFunction%');
|
|
||||||
var $AsyncFunctionPrototype = GetIntrinsic('%AsyncFunctionPrototype%');
|
|
||||||
|
|
||||||
forEach(asyncFns, function (asyncFn) {
|
|
||||||
var fnName = asyncFn.name;
|
|
||||||
fnName = fnName ? "'" + fnName + "'" : 'asyncFn';
|
|
||||||
|
|
||||||
t.ok(asyncFn instanceof $AsyncFunction, fnName + ' instanceof %AsyncFunction%');
|
|
||||||
t.ok($isProto($AsyncFunctionPrototype, asyncFn), '%AsyncFunctionPrototype% is prototype of ' + fnName);
|
|
||||||
});
|
|
||||||
|
|
||||||
t.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('async generator functions', { skip: asyncGenFns.length === 0 }, function (t) {
|
|
||||||
var $AsyncGeneratorFunction = GetIntrinsic('%AsyncGeneratorFunction%');
|
|
||||||
var $AsyncGeneratorFunctionPrototype = GetIntrinsic('%AsyncGenerator%');
|
|
||||||
var $AsyncGeneratorPrototype = GetIntrinsic('%AsyncGeneratorPrototype%');
|
|
||||||
|
|
||||||
forEach(asyncGenFns, function (asyncGenFn) {
|
|
||||||
var fnName = asyncGenFn.name;
|
|
||||||
fnName = fnName ? "'" + fnName + "'" : 'asyncGenFn';
|
|
||||||
|
|
||||||
t.ok(asyncGenFn instanceof $AsyncGeneratorFunction, fnName + ' instanceof %AsyncGeneratorFunction%');
|
|
||||||
t.ok($isProto($AsyncGeneratorFunctionPrototype, asyncGenFn), '%AsyncGenerator% is prototype of ' + fnName);
|
|
||||||
t.ok($isProto($AsyncGeneratorPrototype, asyncGenFn.prototype), '%AsyncGeneratorPrototype% is prototype of ' + fnName + '.prototype');
|
|
||||||
});
|
|
||||||
|
|
||||||
t.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('%ThrowTypeError%', function (t) {
|
|
||||||
var $ThrowTypeError = GetIntrinsic('%ThrowTypeError%');
|
|
||||||
|
|
||||||
t.equal(typeof $ThrowTypeError, 'function', 'is a function');
|
|
||||||
t['throws'](
|
|
||||||
$ThrowTypeError,
|
|
||||||
TypeError,
|
|
||||||
'%ThrowTypeError% throws a TypeError'
|
|
||||||
);
|
|
||||||
|
|
||||||
t.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('allowMissing', { skip: asyncGenFns.length > 0 }, function (t) {
|
|
||||||
t['throws'](
|
|
||||||
function () { GetIntrinsic('%AsyncGeneratorPrototype%'); },
|
|
||||||
TypeError,
|
|
||||||
'throws when missing'
|
|
||||||
);
|
|
||||||
|
|
||||||
t.equal(
|
|
||||||
GetIntrinsic('%AsyncGeneratorPrototype%', true),
|
|
||||||
undefined,
|
|
||||||
'does not throw when allowMissing'
|
|
||||||
);
|
|
||||||
|
|
||||||
t.end();
|
|
||||||
});
|
|
11
node_modules/has-symbols/.eslintrc
generated
vendored
11
node_modules/has-symbols/.eslintrc
generated
vendored
@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"root": true,
|
|
||||||
|
|
||||||
"extends": "@ljharb",
|
|
||||||
|
|
||||||
"rules": {
|
|
||||||
"max-statements-per-line": [2, { "max": 2 }],
|
|
||||||
"no-magic-numbers": 0,
|
|
||||||
"multiline-comment-style": 0,
|
|
||||||
}
|
|
||||||
}
|
|
12
node_modules/has-symbols/.github/FUNDING.yml
generated
vendored
12
node_modules/has-symbols/.github/FUNDING.yml
generated
vendored
@ -1,12 +0,0 @@
|
|||||||
# These are supported funding model platforms
|
|
||||||
|
|
||||||
github: [ljharb]
|
|
||||||
patreon: # Replace with a single Patreon username
|
|
||||||
open_collective: # Replace with a single Open Collective username
|
|
||||||
ko_fi: # Replace with a single Ko-fi username
|
|
||||||
tidelift: npm/has-symbols
|
|
||||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
|
||||||
liberapay: # Replace with a single Liberapay username
|
|
||||||
issuehunt: # Replace with a single IssueHunt username
|
|
||||||
otechie: # Replace with a single Otechie username
|
|
||||||
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
|
15
node_modules/has-symbols/.github/workflows/rebase.yml
generated
vendored
15
node_modules/has-symbols/.github/workflows/rebase.yml
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
name: Automatic Rebase
|
|
||||||
|
|
||||||
on: [pull_request]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
_:
|
|
||||||
name: "Automatic Rebase"
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v1
|
|
||||||
- uses: ljharb/rebase@master
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
12
node_modules/has-symbols/.travis.yml
generated
vendored
12
node_modules/has-symbols/.travis.yml
generated
vendored
@ -1,12 +0,0 @@
|
|||||||
version: ~> 1.0
|
|
||||||
language: node_js
|
|
||||||
os:
|
|
||||||
- linux
|
|
||||||
import:
|
|
||||||
- ljharb/travis-ci:node/all.yml
|
|
||||||
- ljharb/travis-ci:node/pretest.yml
|
|
||||||
- ljharb/travis-ci:node/posttest.yml
|
|
||||||
- ljharb/travis-ci:node/coverage.yml
|
|
||||||
matrix:
|
|
||||||
allow_failures:
|
|
||||||
- env: COVERAGE=true
|
|
34
node_modules/has-symbols/CHANGELOG.md
generated
vendored
34
node_modules/has-symbols/CHANGELOG.md
generated
vendored
@ -1,34 +0,0 @@
|
|||||||
# Changelog
|
|
||||||
|
|
||||||
All notable changes to this project will be documented in this file.
|
|
||||||
|
|
||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
|
|
||||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
||||||
|
|
||||||
Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|
||||||
|
|
||||||
## [v1.0.1](https://github.com/inspect-js/has-symbols/compare/v1.0.0...v1.0.1) - 2019-11-17
|
|
||||||
|
|
||||||
### Commits
|
|
||||||
|
|
||||||
- [Tests] use shared travis-ci configs [`ce396c9`](https://github.com/inspect-js/has-symbols/commit/ce396c9419ff11c43d0da5d05cdbb79f7fb42229)
|
|
||||||
- [Tests] up to `node` `v12.4`, `v11.15`, `v10.15`, `v9.11`, `v8.15`, `v7.10`, `v6.17`, `v4.9`; use `nvm install-latest-npm` [`0690732`](https://github.com/inspect-js/has-symbols/commit/0690732801f47ab429f39ba1962f522d5c462d6b)
|
|
||||||
- [meta] add `auto-changelog` [`2163d0b`](https://github.com/inspect-js/has-symbols/commit/2163d0b7f36343076b8f947cd1667dd1750f26fc)
|
|
||||||
- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `core-js`, `safe-publish-latest`, `tape` [`8e0951f`](https://github.com/inspect-js/has-symbols/commit/8e0951f1a7a2e52068222b7bb73511761e6e4d9c)
|
|
||||||
- [actions] add automatic rebasing / merge commit blocking [`b09cdb7`](https://github.com/inspect-js/has-symbols/commit/b09cdb7cd7ee39e7a769878f56e2d6066f5ccd1d)
|
|
||||||
- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `safe-publish-latest`, `core-js`, `get-own-property-symbols`, `tape` [`1dd42cd`](https://github.com/inspect-js/has-symbols/commit/1dd42cd86183ed0c50f99b1062345c458babca91)
|
|
||||||
- [meta] create FUNDING.yml [`aa57a17`](https://github.com/inspect-js/has-symbols/commit/aa57a17b19708906d1927f821ea8e73394d84ca4)
|
|
||||||
- Only apps should have lockfiles [`a2d8bea`](https://github.com/inspect-js/has-symbols/commit/a2d8bea23a97d15c09eaf60f5b107fcf9a4d57aa)
|
|
||||||
- [Tests] use `npx aud` instead of `nsp` or `npm audit` with hoops [`9e96cb7`](https://github.com/inspect-js/has-symbols/commit/9e96cb783746cbed0c10ef78e599a8eaa7ebe193)
|
|
||||||
- [meta] add `funding` field [`a0b32cf`](https://github.com/inspect-js/has-symbols/commit/a0b32cf68e803f963c1639b6d47b0a9d6440bab0)
|
|
||||||
- [Dev Deps] update `safe-publish-latest` [`cb9f0a5`](https://github.com/inspect-js/has-symbols/commit/cb9f0a521a3a1790f1064d437edd33bb6c3d6af0)
|
|
||||||
|
|
||||||
## v1.0.0 - 2016-09-19
|
|
||||||
|
|
||||||
### Commits
|
|
||||||
|
|
||||||
- Tests. [`ecb6eb9`](https://github.com/inspect-js/has-symbols/commit/ecb6eb934e4883137f3f93b965ba5e0a98df430d)
|
|
||||||
- package.json [`88a337c`](https://github.com/inspect-js/has-symbols/commit/88a337cee0864a0da35f5d19e69ff0ef0150e46a)
|
|
||||||
- Initial commit [`42e1e55`](https://github.com/inspect-js/has-symbols/commit/42e1e5502536a2b8ac529c9443984acd14836b1c)
|
|
||||||
- Initial implementation. [`33f5cc6`](https://github.com/inspect-js/has-symbols/commit/33f5cc6cdff86e2194b081ee842bfdc63caf43fb)
|
|
||||||
- read me [`01f1170`](https://github.com/inspect-js/has-symbols/commit/01f1170188ff7cb1558aa297f6ba5b516c6d7b0c)
|
|
21
node_modules/has-symbols/LICENSE
generated
vendored
21
node_modules/has-symbols/LICENSE
generated
vendored
@ -1,21 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2016 Jordan Harband
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
45
node_modules/has-symbols/README.md
generated
vendored
45
node_modules/has-symbols/README.md
generated
vendored
@ -1,45 +0,0 @@
|
|||||||
# has-symbols <sup>[![Version Badge][2]][1]</sup>
|
|
||||||
|
|
||||||
[![Build Status][3]][4]
|
|
||||||
[![dependency status][5]][6]
|
|
||||||
[![dev dependency status][7]][8]
|
|
||||||
[![License][license-image]][license-url]
|
|
||||||
[![Downloads][downloads-image]][downloads-url]
|
|
||||||
|
|
||||||
[![npm badge][11]][1]
|
|
||||||
|
|
||||||
Determine if the JS environment has Symbol support. Supports spec, or shams.
|
|
||||||
|
|
||||||
## Example
|
|
||||||
|
|
||||||
```js
|
|
||||||
var hasSymbols = require('has-symbols');
|
|
||||||
|
|
||||||
hasSymbols() === true; // if the environment has native Symbol support. Not polyfillable, not forgeable.
|
|
||||||
|
|
||||||
var hasSymbolsKinda = require('has-symbols/shams');
|
|
||||||
hasSymbolsKinda() === true; // if the environment has a Symbol sham that mostly follows the spec.
|
|
||||||
```
|
|
||||||
|
|
||||||
## Supported Symbol shams
|
|
||||||
- get-own-property-symbols [npm](https://www.npmjs.com/package/get-own-property-symbols) | [github](https://github.com/WebReflection/get-own-property-symbols)
|
|
||||||
- core-js [npm](https://www.npmjs.com/package/core-js) | [github](https://github.com/zloirock/core-js)
|
|
||||||
|
|
||||||
## Tests
|
|
||||||
Simply clone the repo, `npm install`, and run `npm test`
|
|
||||||
|
|
||||||
[1]: https://npmjs.org/package/has-symbols
|
|
||||||
[2]: http://versionbadg.es/ljharb/has-symbols.svg
|
|
||||||
[3]: https://travis-ci.org/ljharb/has-symbols.svg
|
|
||||||
[4]: https://travis-ci.org/ljharb/has-symbols
|
|
||||||
[5]: https://david-dm.org/ljharb/has-symbols.svg
|
|
||||||
[6]: https://david-dm.org/ljharb/has-symbols
|
|
||||||
[7]: https://david-dm.org/ljharb/has-symbols/dev-status.svg
|
|
||||||
[8]: https://david-dm.org/ljharb/has-symbols#info=devDependencies
|
|
||||||
[9]: https://ci.testling.com/ljharb/has-symbols.png
|
|
||||||
[10]: https://ci.testling.com/ljharb/has-symbols
|
|
||||||
[11]: https://nodei.co/npm/has-symbols.png?downloads=true&stars=true
|
|
||||||
[license-image]: http://img.shields.io/npm/l/has-symbols.svg
|
|
||||||
[license-url]: LICENSE
|
|
||||||
[downloads-image]: http://img.shields.io/npm/dm/has-symbols.svg
|
|
||||||
[downloads-url]: http://npm-stat.com/charts.html?package=has-symbols
|
|
13
node_modules/has-symbols/index.js
generated
vendored
13
node_modules/has-symbols/index.js
generated
vendored
@ -1,13 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
var origSymbol = global.Symbol;
|
|
||||||
var hasSymbolSham = require('./shams');
|
|
||||||
|
|
||||||
module.exports = function hasNativeSymbols() {
|
|
||||||
if (typeof origSymbol !== 'function') { return false; }
|
|
||||||
if (typeof Symbol !== 'function') { return false; }
|
|
||||||
if (typeof origSymbol('foo') !== 'symbol') { return false; }
|
|
||||||
if (typeof Symbol('bar') !== 'symbol') { return false; }
|
|
||||||
|
|
||||||
return hasSymbolSham();
|
|
||||||
};
|
|
121
node_modules/has-symbols/package.json
generated
vendored
121
node_modules/has-symbols/package.json
generated
vendored
@ -1,121 +0,0 @@
|
|||||||
{
|
|
||||||
"_args": [
|
|
||||||
[
|
|
||||||
"has-symbols@1.0.1",
|
|
||||||
"."
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"_from": "has-symbols@1.0.1",
|
|
||||||
"_id": "has-symbols@1.0.1",
|
|
||||||
"_inBundle": false,
|
|
||||||
"_integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
|
|
||||||
"_location": "/has-symbols",
|
|
||||||
"_phantomChildren": {},
|
|
||||||
"_requested": {
|
|
||||||
"type": "version",
|
|
||||||
"registry": true,
|
|
||||||
"raw": "has-symbols@1.0.1",
|
|
||||||
"name": "has-symbols",
|
|
||||||
"escapedName": "has-symbols",
|
|
||||||
"rawSpec": "1.0.1",
|
|
||||||
"saveSpec": null,
|
|
||||||
"fetchSpec": "1.0.1"
|
|
||||||
},
|
|
||||||
"_requiredBy": [
|
|
||||||
"/get-intrinsic"
|
|
||||||
],
|
|
||||||
"_resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
|
|
||||||
"_spec": "1.0.1",
|
|
||||||
"_where": ".",
|
|
||||||
"author": {
|
|
||||||
"name": "Jordan Harband",
|
|
||||||
"email": "ljharb@gmail.com",
|
|
||||||
"url": "http://ljharb.codes"
|
|
||||||
},
|
|
||||||
"auto-changelog": {
|
|
||||||
"output": "CHANGELOG.md",
|
|
||||||
"template": "keepachangelog",
|
|
||||||
"unreleased": false,
|
|
||||||
"commitLimit": false,
|
|
||||||
"backfillLimit": false
|
|
||||||
},
|
|
||||||
"bugs": {
|
|
||||||
"url": "https://github.com/ljharb/has-symbols/issues"
|
|
||||||
},
|
|
||||||
"contributors": [
|
|
||||||
{
|
|
||||||
"name": "Jordan Harband",
|
|
||||||
"email": "ljharb@gmail.com",
|
|
||||||
"url": "http://ljharb.codes"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dependencies": {},
|
|
||||||
"description": "Determine if the JS environment has Symbol support. Supports spec, or shams.",
|
|
||||||
"devDependencies": {
|
|
||||||
"@ljharb/eslint-config": "^15.0.1",
|
|
||||||
"auto-changelog": "^1.16.2",
|
|
||||||
"core-js": "^2.6.10",
|
|
||||||
"eslint": "^6.6.0",
|
|
||||||
"get-own-property-symbols": "^0.9.4",
|
|
||||||
"safe-publish-latest": "^1.1.4",
|
|
||||||
"tape": "^4.11.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">= 0.4"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/ljharb"
|
|
||||||
},
|
|
||||||
"homepage": "https://github.com/ljharb/has-symbols#readme",
|
|
||||||
"keywords": [
|
|
||||||
"Symbol",
|
|
||||||
"symbols",
|
|
||||||
"typeof",
|
|
||||||
"sham",
|
|
||||||
"polyfill",
|
|
||||||
"native",
|
|
||||||
"core-js",
|
|
||||||
"ES6"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
|
||||||
"main": "index.js",
|
|
||||||
"name": "has-symbols",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git://github.com/ljharb/has-symbols.git"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"lint": "eslint *.js",
|
|
||||||
"posttest": "npx aud",
|
|
||||||
"postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"",
|
|
||||||
"prepublish": "safe-publish-latest",
|
|
||||||
"pretest": "npm run --silent lint",
|
|
||||||
"test": "npm run --silent tests-only",
|
|
||||||
"test:shams": "npm run --silent test:shams:getownpropertysymbols && npm run --silent test:shams:corejs",
|
|
||||||
"test:shams:corejs": "node test/shams/core-js.js",
|
|
||||||
"test:shams:getownpropertysymbols": "node test/shams/get-own-property-symbols.js",
|
|
||||||
"test:staging": "node --harmony --es-staging test",
|
|
||||||
"test:stock": "node test",
|
|
||||||
"tests-only": "npm run --silent test:stock && npm run --silent test:staging && npm run --silent test:shams",
|
|
||||||
"version": "auto-changelog && git add CHANGELOG.md"
|
|
||||||
},
|
|
||||||
"testling": {
|
|
||||||
"files": "test/index.js",
|
|
||||||
"browsers": [
|
|
||||||
"iexplore/6.0..latest",
|
|
||||||
"firefox/3.0..6.0",
|
|
||||||
"firefox/15.0..latest",
|
|
||||||
"firefox/nightly",
|
|
||||||
"chrome/4.0..10.0",
|
|
||||||
"chrome/20.0..latest",
|
|
||||||
"chrome/canary",
|
|
||||||
"opera/10.0..latest",
|
|
||||||
"opera/next",
|
|
||||||
"safari/4.0..latest",
|
|
||||||
"ipad/6.0..latest",
|
|
||||||
"iphone/6.0..latest",
|
|
||||||
"android-browser/4.2"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"version": "1.0.1"
|
|
||||||
}
|
|
42
node_modules/has-symbols/shams.js
generated
vendored
42
node_modules/has-symbols/shams.js
generated
vendored
@ -1,42 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
/* eslint complexity: [2, 18], max-statements: [2, 33] */
|
|
||||||
module.exports = function hasSymbols() {
|
|
||||||
if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }
|
|
||||||
if (typeof Symbol.iterator === 'symbol') { return true; }
|
|
||||||
|
|
||||||
var obj = {};
|
|
||||||
var sym = Symbol('test');
|
|
||||||
var symObj = Object(sym);
|
|
||||||
if (typeof sym === 'string') { return false; }
|
|
||||||
|
|
||||||
if (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }
|
|
||||||
if (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }
|
|
||||||
|
|
||||||
// temp disabled per https://github.com/ljharb/object.assign/issues/17
|
|
||||||
// if (sym instanceof Symbol) { return false; }
|
|
||||||
// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4
|
|
||||||
// if (!(symObj instanceof Symbol)) { return false; }
|
|
||||||
|
|
||||||
// if (typeof Symbol.prototype.toString !== 'function') { return false; }
|
|
||||||
// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }
|
|
||||||
|
|
||||||
var symVal = 42;
|
|
||||||
obj[sym] = symVal;
|
|
||||||
for (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax
|
|
||||||
if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }
|
|
||||||
|
|
||||||
if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }
|
|
||||||
|
|
||||||
var syms = Object.getOwnPropertySymbols(obj);
|
|
||||||
if (syms.length !== 1 || syms[0] !== sym) { return false; }
|
|
||||||
|
|
||||||
if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }
|
|
||||||
|
|
||||||
if (typeof Object.getOwnPropertyDescriptor === 'function') {
|
|
||||||
var descriptor = Object.getOwnPropertyDescriptor(obj, sym);
|
|
||||||
if (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
};
|
|
22
node_modules/has-symbols/test/index.js
generated
vendored
22
node_modules/has-symbols/test/index.js
generated
vendored
@ -1,22 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
var test = require('tape');
|
|
||||||
var hasSymbols = require('../');
|
|
||||||
var runSymbolTests = require('./tests');
|
|
||||||
|
|
||||||
test('interface', function (t) {
|
|
||||||
t.equal(typeof hasSymbols, 'function', 'is a function');
|
|
||||||
t.equal(typeof hasSymbols(), 'boolean', 'returns a boolean');
|
|
||||||
t.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('Symbols are supported', { skip: !hasSymbols() }, function (t) {
|
|
||||||
runSymbolTests(t);
|
|
||||||
t.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('Symbols are not supported', { skip: hasSymbols() }, function (t) {
|
|
||||||
t.equal(typeof Symbol, 'undefined', 'global Symbol is undefined');
|
|
||||||
t.equal(typeof Object.getOwnPropertySymbols, 'undefined', 'Object.getOwnPropertySymbols does not exist');
|
|
||||||
t.end();
|
|
||||||
});
|
|
28
node_modules/has-symbols/test/shams/core-js.js
generated
vendored
28
node_modules/has-symbols/test/shams/core-js.js
generated
vendored
@ -1,28 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
var test = require('tape');
|
|
||||||
|
|
||||||
if (typeof Symbol === 'function' && typeof Symbol() === 'symbol') {
|
|
||||||
test('has native Symbol support', function (t) {
|
|
||||||
t.equal(typeof Symbol, 'function');
|
|
||||||
t.equal(typeof Symbol(), 'symbol');
|
|
||||||
t.end();
|
|
||||||
});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var hasSymbols = require('../../shams');
|
|
||||||
|
|
||||||
test('polyfilled Symbols', function (t) {
|
|
||||||
/* eslint-disable global-require */
|
|
||||||
t.equal(hasSymbols(), false, 'hasSymbols is false before polyfilling');
|
|
||||||
require('core-js/fn/symbol');
|
|
||||||
require('core-js/fn/symbol/to-string-tag');
|
|
||||||
|
|
||||||
require('../tests')(t);
|
|
||||||
|
|
||||||
var hasSymbolsAfter = hasSymbols();
|
|
||||||
t.equal(hasSymbolsAfter, true, 'hasSymbols is true after polyfilling');
|
|
||||||
/* eslint-enable global-require */
|
|
||||||
t.end();
|
|
||||||
});
|
|
28
node_modules/has-symbols/test/shams/get-own-property-symbols.js
generated
vendored
28
node_modules/has-symbols/test/shams/get-own-property-symbols.js
generated
vendored
@ -1,28 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
var test = require('tape');
|
|
||||||
|
|
||||||
if (typeof Symbol === 'function' && typeof Symbol() === 'symbol') {
|
|
||||||
test('has native Symbol support', function (t) {
|
|
||||||
t.equal(typeof Symbol, 'function');
|
|
||||||
t.equal(typeof Symbol(), 'symbol');
|
|
||||||
t.end();
|
|
||||||
});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var hasSymbols = require('../../shams');
|
|
||||||
|
|
||||||
test('polyfilled Symbols', function (t) {
|
|
||||||
/* eslint-disable global-require */
|
|
||||||
t.equal(hasSymbols(), false, 'hasSymbols is false before polyfilling');
|
|
||||||
|
|
||||||
require('get-own-property-symbols');
|
|
||||||
|
|
||||||
require('../tests')(t);
|
|
||||||
|
|
||||||
var hasSymbolsAfter = hasSymbols();
|
|
||||||
t.equal(hasSymbolsAfter, true, 'hasSymbols is true after polyfilling');
|
|
||||||
/* eslint-enable global-require */
|
|
||||||
t.end();
|
|
||||||
});
|
|
54
node_modules/has-symbols/test/tests.js
generated
vendored
54
node_modules/has-symbols/test/tests.js
generated
vendored
@ -1,54 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
module.exports = function runSymbolTests(t) {
|
|
||||||
t.equal(typeof Symbol, 'function', 'global Symbol is a function');
|
|
||||||
|
|
||||||
if (typeof Symbol !== 'function') { return false };
|
|
||||||
|
|
||||||
t.notEqual(Symbol(), Symbol(), 'two symbols are not equal');
|
|
||||||
|
|
||||||
/*
|
|
||||||
t.equal(
|
|
||||||
Symbol.prototype.toString.call(Symbol('foo')),
|
|
||||||
Symbol.prototype.toString.call(Symbol('foo')),
|
|
||||||
'two symbols with the same description stringify the same'
|
|
||||||
);
|
|
||||||
*/
|
|
||||||
|
|
||||||
var foo = Symbol('foo');
|
|
||||||
|
|
||||||
/*
|
|
||||||
t.notEqual(
|
|
||||||
String(foo),
|
|
||||||
String(Symbol('bar')),
|
|
||||||
'two symbols with different descriptions do not stringify the same'
|
|
||||||
);
|
|
||||||
*/
|
|
||||||
|
|
||||||
t.equal(typeof Symbol.prototype.toString, 'function', 'Symbol#toString is a function');
|
|
||||||
// t.equal(String(foo), Symbol.prototype.toString.call(foo), 'Symbol#toString equals String of the same symbol');
|
|
||||||
|
|
||||||
t.equal(typeof Object.getOwnPropertySymbols, 'function', 'Object.getOwnPropertySymbols is a function');
|
|
||||||
|
|
||||||
var obj = {};
|
|
||||||
var sym = Symbol('test');
|
|
||||||
var symObj = Object(sym);
|
|
||||||
t.notEqual(typeof sym, 'string', 'Symbol is not a string');
|
|
||||||
t.equal(Object.prototype.toString.call(sym), '[object Symbol]', 'symbol primitive Object#toStrings properly');
|
|
||||||
t.equal(Object.prototype.toString.call(symObj), '[object Symbol]', 'symbol primitive Object#toStrings properly');
|
|
||||||
|
|
||||||
var symVal = 42;
|
|
||||||
obj[sym] = symVal;
|
|
||||||
for (sym in obj) { t.fail('symbol property key was found in for..in of object'); }
|
|
||||||
|
|
||||||
t.deepEqual(Object.keys(obj), [], 'no enumerable own keys on symbol-valued object');
|
|
||||||
t.deepEqual(Object.getOwnPropertyNames(obj), [], 'no own names on symbol-valued object');
|
|
||||||
t.deepEqual(Object.getOwnPropertySymbols(obj), [sym], 'one own symbol on symbol-valued object');
|
|
||||||
t.equal(Object.prototype.propertyIsEnumerable.call(obj, sym), true, 'symbol is enumerable');
|
|
||||||
t.deepEqual(Object.getOwnPropertyDescriptor(obj, sym), {
|
|
||||||
configurable: true,
|
|
||||||
enumerable: true,
|
|
||||||
value: 42,
|
|
||||||
writable: true
|
|
||||||
}, 'property descriptor is correct');
|
|
||||||
};
|
|
22
node_modules/has/LICENSE-MIT
generated
vendored
22
node_modules/has/LICENSE-MIT
generated
vendored
@ -1,22 +0,0 @@
|
|||||||
Copyright (c) 2013 Thiago de Arruda
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person
|
|
||||||
obtaining a copy of this software and associated documentation
|
|
||||||
files (the "Software"), to deal in the Software without
|
|
||||||
restriction, including without limitation the rights to use,
|
|
||||||
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the
|
|
||||||
Software is furnished to do so, subject to the following
|
|
||||||
conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be
|
|
||||||
included in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
|
||||||
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
||||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
||||||
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
||||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
||||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
||||||
OTHER DEALINGS IN THE SOFTWARE.
|
|
18
node_modules/has/README.md
generated
vendored
18
node_modules/has/README.md
generated
vendored
@ -1,18 +0,0 @@
|
|||||||
# has
|
|
||||||
|
|
||||||
> Object.prototype.hasOwnProperty.call shortcut
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
```sh
|
|
||||||
npm install --save has
|
|
||||||
```
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
```js
|
|
||||||
var has = require('has');
|
|
||||||
|
|
||||||
has({}, 'hasOwnProperty'); // false
|
|
||||||
has(Object.prototype, 'hasOwnProperty'); // true
|
|
||||||
```
|
|
76
node_modules/has/package.json
generated
vendored
76
node_modules/has/package.json
generated
vendored
@ -1,76 +0,0 @@
|
|||||||
{
|
|
||||||
"_args": [
|
|
||||||
[
|
|
||||||
"has@1.0.3",
|
|
||||||
"."
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"_from": "has@1.0.3",
|
|
||||||
"_id": "has@1.0.3",
|
|
||||||
"_inBundle": false,
|
|
||||||
"_integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
|
|
||||||
"_location": "/has",
|
|
||||||
"_phantomChildren": {},
|
|
||||||
"_requested": {
|
|
||||||
"type": "version",
|
|
||||||
"registry": true,
|
|
||||||
"raw": "has@1.0.3",
|
|
||||||
"name": "has",
|
|
||||||
"escapedName": "has",
|
|
||||||
"rawSpec": "1.0.3",
|
|
||||||
"saveSpec": null,
|
|
||||||
"fetchSpec": "1.0.3"
|
|
||||||
},
|
|
||||||
"_requiredBy": [
|
|
||||||
"/get-intrinsic"
|
|
||||||
],
|
|
||||||
"_resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
|
|
||||||
"_spec": "1.0.3",
|
|
||||||
"_where": ".",
|
|
||||||
"author": {
|
|
||||||
"name": "Thiago de Arruda",
|
|
||||||
"email": "tpadilha84@gmail.com"
|
|
||||||
},
|
|
||||||
"bugs": {
|
|
||||||
"url": "https://github.com/tarruda/has/issues"
|
|
||||||
},
|
|
||||||
"contributors": [
|
|
||||||
{
|
|
||||||
"name": "Jordan Harband",
|
|
||||||
"email": "ljharb@gmail.com",
|
|
||||||
"url": "http://ljharb.codes"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dependencies": {
|
|
||||||
"function-bind": "^1.1.1"
|
|
||||||
},
|
|
||||||
"description": "Object.prototype.hasOwnProperty.call shortcut",
|
|
||||||
"devDependencies": {
|
|
||||||
"@ljharb/eslint-config": "^12.2.1",
|
|
||||||
"eslint": "^4.19.1",
|
|
||||||
"tape": "^4.9.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">= 0.4.0"
|
|
||||||
},
|
|
||||||
"homepage": "https://github.com/tarruda/has",
|
|
||||||
"license": "MIT",
|
|
||||||
"licenses": [
|
|
||||||
{
|
|
||||||
"type": "MIT",
|
|
||||||
"url": "https://github.com/tarruda/has/blob/master/LICENSE-MIT"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"main": "./src",
|
|
||||||
"name": "has",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git://github.com/tarruda/has.git"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"lint": "eslint .",
|
|
||||||
"pretest": "npm run lint",
|
|
||||||
"test": "tape test"
|
|
||||||
},
|
|
||||||
"version": "1.0.3"
|
|
||||||
}
|
|
5
node_modules/has/src/index.js
generated
vendored
5
node_modules/has/src/index.js
generated
vendored
@ -1,5 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
var bind = require('function-bind');
|
|
||||||
|
|
||||||
module.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);
|
|
10
node_modules/has/test/index.js
generated
vendored
10
node_modules/has/test/index.js
generated
vendored
@ -1,10 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
var test = require('tape');
|
|
||||||
var has = require('../');
|
|
||||||
|
|
||||||
test('has', function (t) {
|
|
||||||
t.equal(has({}, 'hasOwnProperty'), false, 'object literal does not have own property "hasOwnProperty"');
|
|
||||||
t.equal(has(Object.prototype, 'hasOwnProperty'), true, 'Object.prototype has own property "hasOwnProperty"');
|
|
||||||
t.end();
|
|
||||||
});
|
|
1
node_modules/side-channel/.eslintignore
generated
vendored
1
node_modules/side-channel/.eslintignore
generated
vendored
@ -1 +0,0 @@
|
|||||||
coverage/
|
|
11
node_modules/side-channel/.eslintrc
generated
vendored
11
node_modules/side-channel/.eslintrc
generated
vendored
@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"root": true,
|
|
||||||
|
|
||||||
"extends": "@ljharb",
|
|
||||||
|
|
||||||
"rules": {
|
|
||||||
"max-lines-per-function": 0,
|
|
||||||
"max-params": 0,
|
|
||||||
"new-cap": [2, { "capIsNewExceptions": ["GetIntrinsic"] }],
|
|
||||||
},
|
|
||||||
}
|
|
12
node_modules/side-channel/.github/FUNDING.yml
generated
vendored
12
node_modules/side-channel/.github/FUNDING.yml
generated
vendored
@ -1,12 +0,0 @@
|
|||||||
# These are supported funding model platforms
|
|
||||||
|
|
||||||
github: [ljharb]
|
|
||||||
patreon: # Replace with a single Patreon username
|
|
||||||
open_collective: # Replace with a single Open Collective username
|
|
||||||
ko_fi: # Replace with a single Ko-fi username
|
|
||||||
tidelift: npm/side-channel
|
|
||||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
|
||||||
liberapay: # Replace with a single Liberapay username
|
|
||||||
issuehunt: # Replace with a single IssueHunt username
|
|
||||||
otechie: # Replace with a single Otechie username
|
|
||||||
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
|
13
node_modules/side-channel/.nycrc
generated
vendored
13
node_modules/side-channel/.nycrc
generated
vendored
@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
"all": true,
|
|
||||||
"check-coverage": false,
|
|
||||||
"reporter": ["text-summary", "text", "html", "json"],
|
|
||||||
"lines": 86,
|
|
||||||
"statements": 85.93,
|
|
||||||
"functions": 82.43,
|
|
||||||
"branches": 76.06,
|
|
||||||
"exclude": [
|
|
||||||
"coverage",
|
|
||||||
"test"
|
|
||||||
]
|
|
||||||
}
|
|
65
node_modules/side-channel/CHANGELOG.md
generated
vendored
65
node_modules/side-channel/CHANGELOG.md
generated
vendored
@ -1,65 +0,0 @@
|
|||||||
# Changelog
|
|
||||||
|
|
||||||
All notable changes to this project will be documented in this file.
|
|
||||||
|
|
||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
|
|
||||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
||||||
|
|
||||||
## [v1.0.4](https://github.com/ljharb/side-channel/compare/v1.0.3...v1.0.4) - 2020-12-29
|
|
||||||
|
|
||||||
### Commits
|
|
||||||
|
|
||||||
- [Tests] migrate tests to Github Actions [`10909cb`](https://github.com/ljharb/side-channel/commit/10909cbf8ce9c0bf96f604cf13d7ffd5a22c2d40)
|
|
||||||
- [Refactor] Use a linked list rather than an array, and move accessed nodes to the beginning [`195613f`](https://github.com/ljharb/side-channel/commit/195613f28b5c1e6072ef0b61b5beebaf2b6a304e)
|
|
||||||
- [meta] do not publish github action workflow files [`290ec29`](https://github.com/ljharb/side-channel/commit/290ec29cd21a60585145b4a7237ec55228c52c27)
|
|
||||||
- [Tests] run `nyc` on all tests; use `tape` runner [`ea6d030`](https://github.com/ljharb/side-channel/commit/ea6d030ff3fe6be2eca39e859d644c51ecd88869)
|
|
||||||
- [actions] add "Allow Edits" workflow [`d464d8f`](https://github.com/ljharb/side-channel/commit/d464d8fe52b5eddf1504a0ed97f0941a90f32c15)
|
|
||||||
- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `auto-changelog` [`02daca8`](https://github.com/ljharb/side-channel/commit/02daca87c6809821c97be468d1afa2f5ef447383)
|
|
||||||
- [Refactor] use `call-bind` and `get-intrinsic` instead of `es-abstract` [`e09d481`](https://github.com/ljharb/side-channel/commit/e09d481528452ebafa5cdeae1af665c35aa2deee)
|
|
||||||
- [Deps] update `object.assign` [`ee83aa8`](https://github.com/ljharb/side-channel/commit/ee83aa81df313b5e46319a63adb05cf0c179079a)
|
|
||||||
- [actions] update rebase action to use checkout v2 [`7726b0b`](https://github.com/ljharb/side-channel/commit/7726b0b058b632fccea709f58960871defaaa9d7)
|
|
||||||
|
|
||||||
## [v1.0.3](https://github.com/ljharb/side-channel/compare/v1.0.2...v1.0.3) - 2020-08-23
|
|
||||||
|
|
||||||
### Commits
|
|
||||||
|
|
||||||
- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `auto-changelog`, `tape` [`1f10561`](https://github.com/ljharb/side-channel/commit/1f105611ef3acf32dec8032ae5c0baa5e56bb868)
|
|
||||||
- [Deps] update `es-abstract`, `object-inspect` [`bc20159`](https://github.com/ljharb/side-channel/commit/bc201597949a505e37cef9eaf24c7010831e6f03)
|
|
||||||
- [Dev Deps] update `@ljharb/eslint-config`, `tape` [`b9b2b22`](https://github.com/ljharb/side-channel/commit/b9b2b225f9e0ea72a6ec2b89348f0bd690bc9ed1)
|
|
||||||
- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape` [`7055ab4`](https://github.com/ljharb/side-channel/commit/7055ab4de0860606efd2003674a74f1fe6ebc07e)
|
|
||||||
- [Dev Deps] update `auto-changelog`; add `aud` [`d278c37`](https://github.com/ljharb/side-channel/commit/d278c37d08227be4f84aa769fcd919e73feeba40)
|
|
||||||
- [actions] switch Automatic Rebase workflow to `pull_request_target` event [`3bcf982`](https://github.com/ljharb/side-channel/commit/3bcf982faa122745b39c33ce83d32fdf003741c6)
|
|
||||||
- [Tests] only audit prod deps [`18d01c4`](https://github.com/ljharb/side-channel/commit/18d01c4015b82a3d75044c4d5ba7917b2eac01ec)
|
|
||||||
- [Deps] update `es-abstract` [`6ab096d`](https://github.com/ljharb/side-channel/commit/6ab096d9de2b482cf5e0717e34e212f5b2b9bc9a)
|
|
||||||
- [Dev Deps] update `tape` [`9dc174c`](https://github.com/ljharb/side-channel/commit/9dc174cc651dfd300b4b72da936a0a7eda5f9452)
|
|
||||||
- [Deps] update `es-abstract` [`431d0f0`](https://github.com/ljharb/side-channel/commit/431d0f0ff11fbd2ae6f3115582a356d3a1cfce82)
|
|
||||||
- [Deps] update `es-abstract` [`49869fd`](https://github.com/ljharb/side-channel/commit/49869fd323bf4453f0ba515c0fb265cf5ab7b932)
|
|
||||||
- [meta] Add package.json to package's exports [`77d9cdc`](https://github.com/ljharb/side-channel/commit/77d9cdceb2a9e47700074f2ae0c0a202e7dac0d4)
|
|
||||||
|
|
||||||
## [v1.0.2](https://github.com/ljharb/side-channel/compare/v1.0.1...v1.0.2) - 2019-12-20
|
|
||||||
|
|
||||||
### Commits
|
|
||||||
|
|
||||||
- [Dev Deps] update `@ljharb/eslint-config`, `tape` [`4a526df`](https://github.com/ljharb/side-channel/commit/4a526df44e4701566ed001ec78546193f818b082)
|
|
||||||
- [Deps] update `es-abstract` [`d4f6e62`](https://github.com/ljharb/side-channel/commit/d4f6e629b6fb93a07415db7f30d3c90fd7f264fe)
|
|
||||||
|
|
||||||
## [v1.0.1](https://github.com/ljharb/side-channel/compare/v1.0.0...v1.0.1) - 2019-12-01
|
|
||||||
|
|
||||||
### Commits
|
|
||||||
|
|
||||||
- [Fix] add missing "exports" [`d212907`](https://github.com/ljharb/side-channel/commit/d2129073abf0701a5343bf28aa2145617604dc2e)
|
|
||||||
|
|
||||||
## v1.0.0 - 2019-12-01
|
|
||||||
|
|
||||||
### Commits
|
|
||||||
|
|
||||||
- Initial implementation [`dbebd3a`](https://github.com/ljharb/side-channel/commit/dbebd3a4b5ed64242f9a6810efe7c4214cd8cde4)
|
|
||||||
- Initial tests [`73bdefe`](https://github.com/ljharb/side-channel/commit/73bdefe568c9076cf8c0b8719bc2141aec0e19b8)
|
|
||||||
- Initial commit [`43c03e1`](https://github.com/ljharb/side-channel/commit/43c03e1c2849ec50a87b7a5cd76238a62b0b8770)
|
|
||||||
- npm init [`5c090a7`](https://github.com/ljharb/side-channel/commit/5c090a765d66a5527d9889b89aeff78dee91348c)
|
|
||||||
- [meta] add `auto-changelog` [`a5c4e56`](https://github.com/ljharb/side-channel/commit/a5c4e5675ec02d5eb4d84b4243aeea2a1d38fbec)
|
|
||||||
- [actions] add automatic rebasing / merge commit blocking [`bab1683`](https://github.com/ljharb/side-channel/commit/bab1683d8f9754b086e94397699fdc645e0d7077)
|
|
||||||
- [meta] add `funding` field; create FUNDING.yml [`63d7aea`](https://github.com/ljharb/side-channel/commit/63d7aeaf34f5650650ae97ca4b9fae685bd0937c)
|
|
||||||
- [Tests] add `npm run lint` [`46a5a81`](https://github.com/ljharb/side-channel/commit/46a5a81705cd2664f83df232c01dbbf2ee952885)
|
|
||||||
- Only apps should have lockfiles [`8b16b03`](https://github.com/ljharb/side-channel/commit/8b16b0305f00895d90c4e2e5773c854cfea0e448)
|
|
||||||
- [meta] add `safe-publish-latest` [`2f098ef`](https://github.com/ljharb/side-channel/commit/2f098ef092a39399cfe548b19a1fc03c2fd2f490)
|
|
21
node_modules/side-channel/LICENSE
generated
vendored
21
node_modules/side-channel/LICENSE
generated
vendored
@ -1,21 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2019 Jordan Harband
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
2
node_modules/side-channel/README.md
generated
vendored
2
node_modules/side-channel/README.md
generated
vendored
@ -1,2 +0,0 @@
|
|||||||
# side-channel
|
|
||||||
Store information about any JS value in a side channel. Uses WeakMap if available.
|
|
124
node_modules/side-channel/index.js
generated
vendored
124
node_modules/side-channel/index.js
generated
vendored
@ -1,124 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
var GetIntrinsic = require('get-intrinsic');
|
|
||||||
var callBound = require('call-bind/callBound');
|
|
||||||
var inspect = require('object-inspect');
|
|
||||||
|
|
||||||
var $TypeError = GetIntrinsic('%TypeError%');
|
|
||||||
var $WeakMap = GetIntrinsic('%WeakMap%', true);
|
|
||||||
var $Map = GetIntrinsic('%Map%', true);
|
|
||||||
|
|
||||||
var $weakMapGet = callBound('WeakMap.prototype.get', true);
|
|
||||||
var $weakMapSet = callBound('WeakMap.prototype.set', true);
|
|
||||||
var $weakMapHas = callBound('WeakMap.prototype.has', true);
|
|
||||||
var $mapGet = callBound('Map.prototype.get', true);
|
|
||||||
var $mapSet = callBound('Map.prototype.set', true);
|
|
||||||
var $mapHas = callBound('Map.prototype.has', true);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This function traverses the list returning the node corresponding to the
|
|
||||||
* given key.
|
|
||||||
*
|
|
||||||
* That node is also moved to the head of the list, so that if it's accessed
|
|
||||||
* again we don't need to traverse the whole list. By doing so, all the recently
|
|
||||||
* used nodes can be accessed relatively quickly.
|
|
||||||
*/
|
|
||||||
var listGetNode = function (list, key) { // eslint-disable-line consistent-return
|
|
||||||
for (var prev = list, curr; (curr = prev.next) !== null; prev = curr) {
|
|
||||||
if (curr.key === key) {
|
|
||||||
prev.next = curr.next;
|
|
||||||
curr.next = list.next;
|
|
||||||
list.next = curr; // eslint-disable-line no-param-reassign
|
|
||||||
return curr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
var listGet = function (objects, key) {
|
|
||||||
var node = listGetNode(objects, key);
|
|
||||||
return node && node.value;
|
|
||||||
};
|
|
||||||
var listSet = function (objects, key, value) {
|
|
||||||
var node = listGetNode(objects, key);
|
|
||||||
if (node) {
|
|
||||||
node.value = value;
|
|
||||||
} else {
|
|
||||||
// Prepend the new node to the beginning of the list
|
|
||||||
objects.next = { // eslint-disable-line no-param-reassign
|
|
||||||
key: key,
|
|
||||||
next: objects.next,
|
|
||||||
value: value
|
|
||||||
};
|
|
||||||
}
|
|
||||||
};
|
|
||||||
var listHas = function (objects, key) {
|
|
||||||
return !!listGetNode(objects, key);
|
|
||||||
};
|
|
||||||
|
|
||||||
module.exports = function getSideChannel() {
|
|
||||||
var $wm;
|
|
||||||
var $m;
|
|
||||||
var $o;
|
|
||||||
var channel = {
|
|
||||||
assert: function (key) {
|
|
||||||
if (!channel.has(key)) {
|
|
||||||
throw new $TypeError('Side channel does not contain ' + inspect(key));
|
|
||||||
}
|
|
||||||
},
|
|
||||||
get: function (key) { // eslint-disable-line consistent-return
|
|
||||||
if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {
|
|
||||||
if ($wm) {
|
|
||||||
return $weakMapGet($wm, key);
|
|
||||||
}
|
|
||||||
} else if ($Map) {
|
|
||||||
if ($m) {
|
|
||||||
return $mapGet($m, key);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if ($o) { // eslint-disable-line no-lonely-if
|
|
||||||
return listGet($o, key);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
has: function (key) {
|
|
||||||
if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {
|
|
||||||
if ($wm) {
|
|
||||||
return $weakMapHas($wm, key);
|
|
||||||
}
|
|
||||||
} else if ($Map) {
|
|
||||||
if ($m) {
|
|
||||||
return $mapHas($m, key);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if ($o) { // eslint-disable-line no-lonely-if
|
|
||||||
return listHas($o, key);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
},
|
|
||||||
set: function (key, value) {
|
|
||||||
if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {
|
|
||||||
if (!$wm) {
|
|
||||||
$wm = new $WeakMap();
|
|
||||||
}
|
|
||||||
$weakMapSet($wm, key, value);
|
|
||||||
} else if ($Map) {
|
|
||||||
if (!$m) {
|
|
||||||
$m = new $Map();
|
|
||||||
}
|
|
||||||
$mapSet($m, key, value);
|
|
||||||
} else {
|
|
||||||
if (!$o) {
|
|
||||||
/*
|
|
||||||
* Initialize the linked list as an empty node, so that we don't have
|
|
||||||
* to special-case handling of the first node: we can always refer to
|
|
||||||
* it as (previous node).next, instead of something like (list).head
|
|
||||||
*/
|
|
||||||
$o = { key: {}, next: null };
|
|
||||||
}
|
|
||||||
listSet($o, key, value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
return channel;
|
|
||||||
};
|
|
1
node_modules/side-channel/node_modules/object-inspect/.eslintignore
generated
vendored
1
node_modules/side-channel/node_modules/object-inspect/.eslintignore
generated
vendored
@ -1 +0,0 @@
|
|||||||
coverage/
|
|
64
node_modules/side-channel/node_modules/object-inspect/.eslintrc
generated
vendored
64
node_modules/side-channel/node_modules/object-inspect/.eslintrc
generated
vendored
@ -1,64 +0,0 @@
|
|||||||
{
|
|
||||||
"root": true,
|
|
||||||
"extends": "@ljharb",
|
|
||||||
"rules": {
|
|
||||||
"complexity": 0,
|
|
||||||
"func-style": [2, "declaration"],
|
|
||||||
"indent": [2, 4],
|
|
||||||
"max-lines": 1,
|
|
||||||
"max-lines-per-function": 1,
|
|
||||||
"max-params": [2, 4],
|
|
||||||
"max-statements": 0,
|
|
||||||
"max-statements-per-line": [2, { "max": 2 }],
|
|
||||||
"no-magic-numbers": 0,
|
|
||||||
"no-param-reassign": 1,
|
|
||||||
"operator-linebreak": [2, "before"],
|
|
||||||
"strict": 0, // TODO
|
|
||||||
},
|
|
||||||
"globals": {
|
|
||||||
"BigInt": false,
|
|
||||||
"WeakSet": false,
|
|
||||||
"WeakMap": false,
|
|
||||||
},
|
|
||||||
"overrides": [
|
|
||||||
{
|
|
||||||
"files": ["test/**", "test-*", "example/**"],
|
|
||||||
"rules": {
|
|
||||||
"array-bracket-newline": 0,
|
|
||||||
"id-length": 0,
|
|
||||||
"max-params": 0,
|
|
||||||
"max-statements": 0,
|
|
||||||
"max-statements-per-line": 0,
|
|
||||||
"object-curly-newline": 0,
|
|
||||||
"sort-keys": 0,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"files": ["example/**"],
|
|
||||||
"rules": {
|
|
||||||
"no-console": 0,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"files": ["test/browser/**"],
|
|
||||||
"env": {
|
|
||||||
"browser": true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"files": ["test/bigint*"],
|
|
||||||
"rules": {
|
|
||||||
"new-cap": [2, { "capIsNewExceptions": ["BigInt"] }],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"files": "index.js",
|
|
||||||
"globals": {
|
|
||||||
"HTMLElement": false,
|
|
||||||
},
|
|
||||||
"rules": {
|
|
||||||
"no-use-before-define": 1,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
}
|
|
12
node_modules/side-channel/node_modules/object-inspect/.github/FUNDING.yml
generated
vendored
12
node_modules/side-channel/node_modules/object-inspect/.github/FUNDING.yml
generated
vendored
@ -1,12 +0,0 @@
|
|||||||
# These are supported funding model platforms
|
|
||||||
|
|
||||||
github: [ljharb]
|
|
||||||
patreon: # Replace with a single Patreon username
|
|
||||||
open_collective: # Replace with a single Open Collective username
|
|
||||||
ko_fi: # Replace with a single Ko-fi username
|
|
||||||
tidelift: npm/object-inspect
|
|
||||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
|
||||||
liberapay: # Replace with a single Liberapay username
|
|
||||||
issuehunt: # Replace with a single IssueHunt username
|
|
||||||
otechie: # Replace with a single Otechie username
|
|
||||||
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
|
13
node_modules/side-channel/node_modules/object-inspect/.nycrc
generated
vendored
13
node_modules/side-channel/node_modules/object-inspect/.nycrc
generated
vendored
@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
"all": true,
|
|
||||||
"check-coverage": false,
|
|
||||||
"instrumentation": false,
|
|
||||||
"sourceMap": false,
|
|
||||||
"reporter": ["text-summary", "text", "html", "json"],
|
|
||||||
"exclude": [
|
|
||||||
"coverage",
|
|
||||||
"example",
|
|
||||||
"test",
|
|
||||||
"test-core-js.js"
|
|
||||||
]
|
|
||||||
}
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user