Compare commits

..

50 Commits

Author SHA1 Message Date
Cornelius Riemenschneider a92229a995 Debug workflow. 2022-07-12 10:40:13 +00:00
Henry Mercer 688508d8cb Merge pull request #1099 from github/henrymercer/run-unit-tests-on-windows
Run unit tests on Windows too
2022-07-12 11:06:41 +01:00
Henry Mercer fc926423a5 Merge remote-tracking branch 'origin/main' into henrymercer/run-unit-tests-on-windows 2022-07-11 17:57:19 +01:00
Henry Mercer ea8fb214de Merge pull request #1104 from github/henrymercer/remove-toolcache-decorator
Remove toolcache decorator
2022-07-11 17:54:54 +01:00
Henry Mercer b1742f8919 Add instructions to remove deleted JS / source map files in PR check 2022-06-30 09:16:11 +01:00
Henry Mercer c736697abf Remove toolcache decorator
This decorator enabled us to use the functionality of the Actions
toolcache within the runner too.
Now that we've deleted the runner we no longer need it.
2022-06-30 09:16:10 +01:00
Arthur Baars ca8a203b51 Merge pull request #1126 from github/aibaars/python-setup-no-pycache
Python-Setup: run auto_install_packages.py with -B flag
2022-06-30 10:08:46 +02:00
Arthur Baars 53bc5e6c78 Merge remote-tracking branch 'origin/main' into aibaars/python-setup-no-pycache 2022-06-30 09:10:41 +02:00
Henry Mercer 130a51dbc6 Handle Windows absolute paths in resolveUriToFile 2022-06-29 18:59:33 +01:00
Henry Mercer c2fd5d10f6 Don't make temporary directories symlinks
`toolcache.extractTar` currently falls over when `ACTIONS_TEMP` contains
a symlink, and the runner no longer exists, so it's unlikely our
customers would be running with temporary directories that contain
symlinks.
2022-06-29 18:59:33 +01:00
Henry Mercer 30681e79db Separate paths with / in resolveUriToFile 2022-06-29 18:59:32 +01:00
Henry Mercer c15604920a Workaround PATH casing issues on Windows 2022-06-29 18:59:32 +01:00
Henry Mercer 4792297702 Fix test failures on Windows related to path separators 2022-06-29 18:59:32 +01:00
Henry Mercer 79ec03f3e5 Run npm scripts on using bash so Windows can find commands 2022-06-29 18:58:38 +01:00
Henry Mercer 7ebbfcbbdd Run unit tests on Windows too 2022-06-29 10:07:31 +01:00
Chuan-kai Lin 3ea10cc7b5 Merge pull request #1130 from github/mergeback/v2.1.15-to-main-3f62b754
Mergeback v2.1.15 refs/heads/releases/v2 into main
2022-06-28 14:11:56 -07:00
github-actions[bot] 4a887ca920 Update checked-in dependencies 2022-06-28 19:26:38 +00:00
github-actions[bot] 7c1b9e6b1a Update changelog and version after v2.1.15 2022-06-28 19:04:16 +00:00
Chuan-kai Lin 3f62b754e2 Merge pull request #1129 from github/update-v2.1.15-e8c48cc8
Merge main into releases/v2
2022-06-28 12:02:35 -07:00
github-actions[bot] 26a69806cf Update changelog for v2.1.15 2022-06-28 18:00:58 +00:00
Henry Mercer 9953936347 Add instructions to remove deleted JS / source map files in PR check 2022-06-28 18:24:18 +01:00
Henry Mercer 41d6ac4d2a Remove toolcache decorator
This decorator enabled us to use the functionality of the Actions
toolcache within the runner too.
Now that we've deleted the runner we no longer need it.
2022-06-28 18:22:09 +01:00
Cornelius Riemenschneider e8c48cc8cf Merge pull request #1128 from github/criemen/lua-tracer-ff-2
Simplify tests for the Lua tracer FF in analyze-action.
2022-06-28 12:52:24 +02:00
Cornelius Riemenschneider 1616e0ef98 Simplify tests for the Lua tracer FF in analyze-action. 2022-06-28 10:29:00 +00:00
Cornelius Riemenschneider b40cd0390c Merge pull request #1120 from github/criemen/lua-tracer-ff-2
Honor the Lua tracer FF for `database trace-command` invocations for scanned languages.
2022-06-28 11:19:44 +02:00
Cornelius Riemenschneider 821fe9b476 Merge branch 'main' into criemen/lua-tracer-ff-2 2022-06-28 10:43:04 +02:00
Chuan-kai Lin 37d8b5142f Merge pull request #1123 from github/cklin/codeql-cli-2.10.0
Update default CodeQL version to 2.10.0
2022-06-27 10:20:30 -07:00
Cornelius Riemenschneider ab7316e0c5 Implement unit tests for reading the Lua tracer FF in analyze-action. 2022-06-27 16:04:29 +00:00
Cornelius Riemenschneider f422a50448 Honor the Lua tracer FF for database trace-command invocations for scanned languages.
In theory, a scanned language will not setup the build tracer, and so
shouldn't care about lua versus legacy tracing. However, `go` is a
special case where the autobuilder runs under the build tracer, that
then gets disabled immediately again, unless a special environment
variable is used.
Therefore, we need to thread through the feature flag to this
`database trace-command` invocation. For other scanned languages,
this should be a no-op, as no tracing is ever set up.
2022-06-27 16:04:29 +00:00
Chuan-kai Lin ed40e306f5 Update default CodeQL version to 2.10.0 2022-06-27 09:01:12 -07:00
Arthur Baars cae9a1f462 Run npm build 2022-06-27 16:40:40 +02:00
Arthur Baars 11a46b8856 Python-Setup: run auto_install_packages.py with -B flag
This avoids creating a __pycache__ folder in the _actions folder, which
may cause file ownership problems on self-hosted runners
when run in a docker container.
2022-06-27 16:39:19 +02:00
Arthur Baars 95673cf9a2 Revert "Python-Setup: set PYTHONDONTWRITEBYTECODE=1"
This reverts commit 3ff1fd9192.
2022-06-27 16:34:35 +02:00
Arthur Baars 3ff1fd9192 Python-Setup: set PYTHONDONTWRITEBYTECODE=1 2022-06-27 16:34:25 +02:00
Andrew Eisenberg 47bcabd3e8 Merge pull request #1116 from github/aeisenberg/multi-lang-packs
Allow scans with packs for languages not being scanned
2022-06-24 16:47:56 -07:00
Andrew Eisenberg b9deefbe0a Merge branch 'main' into aeisenberg/multi-lang-packs 2022-06-24 15:12:24 -07:00
Andrew Eisenberg 7c4d0e0f6e Merge pull request #1124 from github/aeisenberg/poetry-python2
Disable python2 + poetry
2022-06-24 13:50:46 -07:00
Andrew Eisenberg b38dc80666 Merge branch 'main' into aeisenberg/multi-lang-packs 2022-06-24 11:20:12 -07:00
Andrew Eisenberg e0411511a5 Update CHANGELOG.md
Co-authored-by: Aditya Sharad <6874315+adityasharad@users.noreply.github.com>
2022-06-24 11:20:06 -07:00
Andrew Eisenberg c08ab55e3d Merge branch 'main' into aeisenberg/poetry-python2 2022-06-24 10:44:08 -07:00
Andrew Eisenberg 934c0340a7 Update CHANGELOG.md 2022-06-24 10:21:24 -07:00
Andrew Eisenberg c18b1d6732 Update changelog 2022-06-24 10:16:08 -07:00
Andrew Eisenberg 8bfe3c6be5 Disable python2 + poetry 2022-06-24 10:09:46 -07:00
Andrew Eisenberg 4efa7d6115 Merge pull request #1119 from github/aeisenberg/runner-dependabot-fix
Fix dependabot warnings in runner
2022-06-24 09:09:13 -07:00
Andrew Eisenberg c699821722 Update runner dependencies 2022-06-23 11:46:42 -07:00
Andrew Eisenberg 7fa4dc3512 Fix dependabot warnings in runner
Note that this changes the lock file format
from 1 to 2, so there are many changes here.
2022-06-23 10:33:54 -07:00
Andrew Eisenberg a965b69658 Merge pull request #1118 from github/mergeback/v2.1.14-to-main-41a4ada3
Mergeback v2.1.14 refs/heads/releases/v2 into main
2022-06-22 21:28:54 -07:00
github-actions[bot] 3b151b1bde Update checked-in dependencies 2022-06-23 00:11:35 +00:00
github-actions[bot] f9fd90ed60 Update changelog and version after v2.1.14 2022-06-22 23:54:13 +00:00
Andrew Eisenberg 1653a84fbc Allow scans with packs for languages not being scanned
Previously, we were being too strict about checking that a pack's
language was being scanned. It was a failure if a pack language
was specified for a language not being scanned.
2022-06-22 14:37:31 -07:00
277 changed files with 12624 additions and 10410 deletions
+13 -47
View File
@@ -13,6 +13,7 @@ on:
- main - main
- releases/v1 - releases/v1
- releases/v2 - releases/v2
- criemen/debug-action
pull_request: pull_request:
types: types:
- opened - opened
@@ -25,30 +26,8 @@ jobs:
strategy: strategy:
matrix: matrix:
include: include:
- os: ubuntu-latest
version: stable-20210308
- os: macos-latest
version: stable-20210308
- os: ubuntu-latest
version: stable-20210319
- os: macos-latest
version: stable-20210319
- os: ubuntu-latest
version: stable-20210809
- os: macos-latest
version: stable-20210809
- os: ubuntu-latest
version: cached
- os: macos-latest - os: macos-latest
version: cached version: cached
- os: ubuntu-latest
version: latest
- os: macos-latest
version: latest
- os: ubuntu-latest
version: nightly-latest
- os: macos-latest
version: nightly-latest
name: Debug artifact upload name: Debug artifact upload
timeout-minutes: 45 timeout-minutes: 45
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
@@ -63,34 +42,21 @@ jobs:
- uses: ./../action/init - uses: ./../action/init
with: with:
tools: ${{ steps.prepare-test.outputs.tools-url }} tools: ${{ steps.prepare-test.outputs.tools-url }}
debug: true languages: csharp, go
debug-artifact-name: my-debug-artifacts
debug-database-name: my-db
- name: Build code - name: Build code
shell: bash shell: bash
run: ./build.sh run: ./build.sh
env:
SEMMLE_DEBUG_TRACER: 10000
- uses: ./../action/analyze - uses: ./../action/analyze
id: analysis id: analysis
- uses: actions/download-artifact@v3 timeout-minutes: 1
env:
SEMMLE_DEBUG_TRACER: 10000
- uses: actions/upload-artifact@v3
if: always()
with: with:
name: my-debug-artifacts-${{ matrix.os }}-${{ matrix.version }} name: debug-artifact-log
- shell: bash path: |
run: | /Users/runner/work/_temp/codeql_databases/
LANGUAGES="cpp csharp go java javascript python" !/Users/runner/work/_temp/codeql_databases/working/copy-root
for language in $LANGUAGES; do
echo "Checking $language"
if [[ ! -f "$language.sarif" ]] ; then
echo "Missing a SARIF file for $language"
exit 1
fi
if [[ ! -f "my-db-$language.zip" ]] ; then
echo "Missing a database bundle for $language"
exit 1
fi
if [[ ! -d "$language/log" ]] ; then
echo "Missing logs for $language"
exit 1
fi
done
env:
INTERNAL_CODEQL_ACTION_DEBUG_LOC: true
+7 -3
View File
@@ -90,14 +90,18 @@ jobs:
needs: [check-js, check-node-modules] needs: [check-js, check-node-modules]
strategy: strategy:
matrix: matrix:
os: [ubuntu-latest, macos-latest] os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
timeout-minutes: 45 timeout-minutes: 45
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- name: npm run-script test - name: npm test
run: npm run-script test run: |
# Run any commands referenced in package.json using Bash, otherwise
# we won't be able to find them on Windows.
npm config set script-shell bash
npm test
runner-analyze-javascript-ubuntu: runner-analyze-javascript-ubuntu:
name: Runner ubuntu JS analyze name: Runner ubuntu JS analyze
+9
View File
@@ -18,6 +18,11 @@ jobs:
os: [ubuntu-latest, macos-latest] os: [ubuntu-latest, macos-latest]
python_deps_type: [pipenv, poetry, requirements, setup_py] python_deps_type: [pipenv, poetry, requirements, setup_py]
python_version: [2, 3] python_version: [2, 3]
exclude:
# Python2 and poetry are not supported. See https://github.com/actions/setup-python/issues/374
- python_version: 2
python_deps_type: poetry
env: env:
PYTHON_DEPS_TYPE: ${{ matrix.python_deps_type }} PYTHON_DEPS_TYPE: ${{ matrix.python_deps_type }}
@@ -115,6 +120,10 @@ jobs:
matrix: matrix:
python_deps_type: [pipenv, poetry, requirements, setup_py] python_deps_type: [pipenv, poetry, requirements, setup_py]
python_version: [2, 3] python_version: [2, 3]
exclude:
# Python2 and poetry are not supported. See https://github.com/actions/setup-python/issues/374
- python_version: 2
python_deps_type: poetry
env: env:
PYTHON_DEPS_TYPE: ${{ matrix.python_deps_type }} PYTHON_DEPS_TYPE: ${{ matrix.python_deps_type }}
+2 -2
View File
@@ -14,8 +14,8 @@ npm run-script build
# Check that repo is still clean # Check that repo is still clean
if [ ! -z "$(git status --porcelain)" ]; then if [ ! -z "$(git status --porcelain)" ]; then
# If we get a fail here then the PR needs attention # If we get a fail here then the PR needs attention
>&2 echo "Failed: JavaScript files are not up to date. Run 'npm run-script build' to update" >&2 echo "Failed: JavaScript files are not up to date. Run 'rm -rf lib && npm run-script build' to update"
git status git status
exit 1 exit 1
fi fi
echo "Success: JavaScript files are up to date" echo "Success: JavaScript files are up to date"
+10
View File
@@ -1,5 +1,15 @@
# CodeQL Action Changelog # CodeQL Action Changelog
## [UNRELEASED]
No user facing changes.
## 2.1.15 - 28 Jun 2022
- CodeQL query packs listed in the `packs` configuration field will be skipped if their target language is not being analyzed in the current Actions job. Previously, this would throw an error. [#1116](https://github.com/github/codeql-action/pull/1116)
- The combination of python2 and poetry is no longer supported. See https://github.com/actions/setup-python/issues/374 for more details. [#1124](https://github.com/github/codeql-action/pull/1124)
- Update default CodeQL bundle version to 2.10.0. [#1123](https://github.com/github/codeql-action/pull/1123)
## 2.1.14 - 22 Jun 2022 ## 2.1.14 - 22 Jun 2022
No user facing changes. No user facing changes.
+1 -8
View File
@@ -19,7 +19,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
return result; return result;
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.sanitizeArifactName = exports.isAnalyzingDefaultBranch = exports.getRelativeScriptPath = exports.isRunningLocalAction = exports.sendStatusReport = exports.createStatusReportBase = exports.getActionsStatus = exports.getRef = exports.computeAutomationID = exports.getAutomationID = exports.getAnalysisKey = exports.getWorkflowRunID = exports.getWorkflow = exports.formatWorkflowCause = exports.formatWorkflowErrors = exports.validateWorkflow = exports.getWorkflowErrors = exports.WorkflowErrors = exports.patternIsSuperset = exports.determineMergeBaseCommitOid = exports.getCommitOid = exports.getToolCacheDirectory = exports.getTemporaryDirectory = exports.getOptionalInput = exports.getRequiredInput = void 0; exports.sanitizeArifactName = exports.isAnalyzingDefaultBranch = exports.getRelativeScriptPath = exports.isRunningLocalAction = exports.sendStatusReport = exports.createStatusReportBase = exports.getActionsStatus = exports.getRef = exports.computeAutomationID = exports.getAutomationID = exports.getAnalysisKey = exports.getWorkflowRunID = exports.getWorkflow = exports.formatWorkflowCause = exports.formatWorkflowErrors = exports.validateWorkflow = exports.getWorkflowErrors = exports.WorkflowErrors = exports.patternIsSuperset = exports.determineMergeBaseCommitOid = exports.getCommitOid = exports.getTemporaryDirectory = exports.getOptionalInput = exports.getRequiredInput = void 0;
const fs = __importStar(require("fs")); const fs = __importStar(require("fs"));
const os = __importStar(require("os")); const os = __importStar(require("os"));
const path = __importStar(require("path")); const path = __importStar(require("path"));
@@ -66,13 +66,6 @@ function getTemporaryDirectory() {
: (0, util_1.getRequiredEnvParam)("RUNNER_TEMP"); : (0, util_1.getRequiredEnvParam)("RUNNER_TEMP");
} }
exports.getTemporaryDirectory = getTemporaryDirectory; exports.getTemporaryDirectory = getTemporaryDirectory;
function getToolCacheDirectory() {
const value = process.env["CODEQL_ACTION_TOOL_CACHE"];
return value !== undefined && value !== ""
? value
: (0, util_1.getRequiredEnvParam)("RUNNER_TOOL_CACHE");
}
exports.getToolCacheDirectory = getToolCacheDirectory;
/** /**
* Gets the SHA of the commit that is currently checked out. * Gets the SHA of the commit that is currently checked out.
*/ */
File diff suppressed because one or more lines are too long
+2 -5
View File
@@ -58,14 +58,11 @@ function includeAndExcludeAnalysisPaths(config) {
} }
// If the temporary or tools directory is in the working directory ignore that too. // If the temporary or tools directory is in the working directory ignore that too.
const tempRelativeToWorking = path.relative(process.cwd(), config.tempDir); const tempRelativeToWorking = path.relative(process.cwd(), config.tempDir);
const toolsRelativeToWorking = path.relative(process.cwd(), config.toolCacheDir);
let pathsIgnore = config.pathsIgnore; let pathsIgnore = config.pathsIgnore;
if (!tempRelativeToWorking.startsWith("..")) { if (!tempRelativeToWorking.startsWith("..") &&
!path.isAbsolute(tempRelativeToWorking)) {
pathsIgnore = pathsIgnore.concat(tempRelativeToWorking); pathsIgnore = pathsIgnore.concat(tempRelativeToWorking);
} }
if (!toolsRelativeToWorking.startsWith("..")) {
pathsIgnore = pathsIgnore.concat(toolsRelativeToWorking);
}
if (pathsIgnore.length !== 0) { if (pathsIgnore.length !== 0) {
process.env["LGTM_INDEX_EXCLUDE"] = buildIncludeExcludeEnvVar(pathsIgnore); process.env["LGTM_INDEX_EXCLUDE"] = buildIncludeExcludeEnvVar(pathsIgnore);
} }
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"analysis-paths.js","sourceRoot":"","sources":["../src/analysis-paths.ts"],"names":[],"mappings":"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"} {"version":3,"file":"analysis-paths.js","sourceRoot":"","sources":["../src/analysis-paths.ts"],"names":[],"mappings":"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"}
+21 -26
View File
@@ -37,7 +37,6 @@ const util = __importStar(require("./util"));
paths: [], paths: [],
originalUserInput: {}, originalUserInput: {},
tempDir: tmpDir, tempDir: tmpDir,
toolCacheDir: tmpDir,
codeQLCmd: "", codeQLCmd: "",
gitHubVersion: { type: util.GitHubVariant.DOTCOM }, gitHubVersion: { type: util.GitHubVariant.DOTCOM },
dbLocation: path.resolve(tmpDir, "codeql_databases"), dbLocation: path.resolve(tmpDir, "codeql_databases"),
@@ -62,7 +61,6 @@ const util = __importStar(require("./util"));
pathsIgnore: ["path4", "path5", "path6/**"], pathsIgnore: ["path4", "path5", "path6/**"],
originalUserInput: {}, originalUserInput: {},
tempDir: tmpDir, tempDir: tmpDir,
toolCacheDir: tmpDir,
codeQLCmd: "", codeQLCmd: "",
gitHubVersion: { type: util.GitHubVariant.DOTCOM }, gitHubVersion: { type: util.GitHubVariant.DOTCOM },
dbLocation: path.resolve(tmpDir, "codeql_databases"), dbLocation: path.resolve(tmpDir, "codeql_databases"),
@@ -79,29 +77,26 @@ const util = __importStar(require("./util"));
}); });
}); });
(0, ava_1.default)("exclude temp dir", async (t) => { (0, ava_1.default)("exclude temp dir", async (t) => {
return await util.withTmpDir(async (toolCacheDir) => { const tempDir = path.join(process.cwd(), "codeql-runner-temp");
const tempDir = path.join(process.cwd(), "codeql-runner-temp"); const config = {
const config = { languages: [],
languages: [], queries: {},
queries: {}, pathsIgnore: [],
pathsIgnore: [], paths: [],
paths: [], originalUserInput: {},
originalUserInput: {}, tempDir,
tempDir, codeQLCmd: "",
toolCacheDir, gitHubVersion: { type: util.GitHubVariant.DOTCOM },
codeQLCmd: "", dbLocation: path.resolve(tempDir, "codeql_databases"),
gitHubVersion: { type: util.GitHubVariant.DOTCOM }, packs: {},
dbLocation: path.resolve(tempDir, "codeql_databases"), debugMode: false,
packs: {}, debugArtifactName: util.DEFAULT_DEBUG_ARTIFACT_NAME,
debugMode: false, debugDatabaseName: util.DEFAULT_DEBUG_DATABASE_NAME,
debugArtifactName: util.DEFAULT_DEBUG_ARTIFACT_NAME, injectedMlQueries: false,
debugDatabaseName: util.DEFAULT_DEBUG_DATABASE_NAME, };
injectedMlQueries: false, analysisPaths.includeAndExcludeAnalysisPaths(config);
}; t.is(process.env["LGTM_INDEX_INCLUDE"], undefined);
analysisPaths.includeAndExcludeAnalysisPaths(config); t.is(process.env["LGTM_INDEX_EXCLUDE"], "codeql-runner-temp");
t.is(process.env["LGTM_INDEX_INCLUDE"], undefined); t.is(process.env["LGTM_INDEX_FILTERS"], undefined);
t.is(process.env["LGTM_INDEX_EXCLUDE"], "codeql-runner-temp");
t.is(process.env["LGTM_INDEX_FILTERS"], undefined);
});
}); });
//# sourceMappingURL=analysis-paths.test.js.map //# sourceMappingURL=analysis-paths.test.js.map
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"analysis-paths.test.js","sourceRoot":"","sources":["../src/analysis-paths.test.ts"],"names":[],"mappings":"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"} {"version":3,"file":"analysis-paths.test.js","sourceRoot":"","sources":["../src/analysis-paths.test.ts"],"names":[],"mappings":"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"}
+5 -1
View File
@@ -26,9 +26,11 @@ const artifact = __importStar(require("@actions/artifact"));
const core = __importStar(require("@actions/core")); const core = __importStar(require("@actions/core"));
const actionsUtil = __importStar(require("./actions-util")); const actionsUtil = __importStar(require("./actions-util"));
const analyze_1 = require("./analyze"); const analyze_1 = require("./analyze");
const api_client_1 = require("./api-client");
const codeql_1 = require("./codeql"); const codeql_1 = require("./codeql");
const config_utils_1 = require("./config-utils"); const config_utils_1 = require("./config-utils");
const database_upload_1 = require("./database-upload"); const database_upload_1 = require("./database-upload");
const feature_flags_1 = require("./feature-flags");
const logging_1 = require("./logging"); const logging_1 = require("./logging");
const repository_1 = require("./repository"); const repository_1 = require("./repository");
const upload_lib = __importStar(require("./upload-lib")); const upload_lib = __importStar(require("./upload-lib"));
@@ -76,7 +78,9 @@ async function run() {
const threads = util.getThreadsFlag(actionsUtil.getOptionalInput("threads") || process.env["CODEQL_THREADS"], logger); const threads = util.getThreadsFlag(actionsUtil.getOptionalInput("threads") || process.env["CODEQL_THREADS"], logger);
const memory = util.getMemoryFlag(actionsUtil.getOptionalInput("ram") || process.env["CODEQL_RAM"]); const memory = util.getMemoryFlag(actionsUtil.getOptionalInput("ram") || process.env["CODEQL_RAM"]);
const repositoryNwo = (0, repository_1.parseRepositoryNwo)(util.getRequiredEnvParam("GITHUB_REPOSITORY")); const repositoryNwo = (0, repository_1.parseRepositoryNwo)(util.getRequiredEnvParam("GITHUB_REPOSITORY"));
await (0, analyze_1.runFinalize)(outputDir, threads, memory, config, logger); const gitHubVersion = await (0, api_client_1.getGitHubVersionActionsOnly)();
const featureFlags = new feature_flags_1.GitHubFeatureFlags(gitHubVersion, apiDetails, repositoryNwo, logger);
await (0, analyze_1.runFinalize)(outputDir, threads, memory, config, logger, featureFlags);
if (actionsUtil.getRequiredInput("skip-queries") !== "true") { if (actionsUtil.getRequiredInput("skip-queries") !== "true") {
runStats = await (0, analyze_1.runQueries)(outputDir, memory, util.getAddSnippetsFlag(actionsUtil.getRequiredInput("add-snippets")), threads, actionsUtil.getOptionalInput("category"), config, logger); runStats = await (0, analyze_1.runQueries)(outputDir, memory, util.getAddSnippetsFlag(actionsUtil.getRequiredInput("add-snippets")), threads, actionsUtil.getOptionalInput("category"), config, logger);
if (config.debugMode) { if (config.debugMode) {
File diff suppressed because one or more lines are too long
+19 -17
View File
@@ -22,7 +22,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod }; return (mod && mod.__esModule) ? mod : { "default": mod };
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.runCleanup = exports.runFinalize = exports.runQueries = exports.CodeQLAnalysisError = void 0; exports.runCleanup = exports.runFinalize = exports.runQueries = exports.createdDBForScannedLanguages = exports.CodeQLAnalysisError = void 0;
const fs = __importStar(require("fs")); const fs = __importStar(require("fs"));
const path = __importStar(require("path")); const path = __importStar(require("path"));
const toolrunner = __importStar(require("@actions/exec/lib/toolrunner")); const toolrunner = __importStar(require("@actions/exec/lib/toolrunner"));
@@ -68,11 +68,10 @@ async function setupPythonExtractor(logger) {
logger.info(`Setting LGTM_PYTHON_SETUP_VERSION=${output}`); logger.info(`Setting LGTM_PYTHON_SETUP_VERSION=${output}`);
process.env["LGTM_PYTHON_SETUP_VERSION"] = output; process.env["LGTM_PYTHON_SETUP_VERSION"] = output;
} }
async function createdDBForScannedLanguages(config, logger) { async function createdDBForScannedLanguages(codeql, config, logger, featureFlags) {
// Insert the LGTM_INDEX_X env vars at this point so they are set when // Insert the LGTM_INDEX_X env vars at this point so they are set when
// we extract any scanned languages. // we extract any scanned languages.
analysisPaths.includeAndExcludeAnalysisPaths(config); analysisPaths.includeAndExcludeAnalysisPaths(config);
const codeql = await (0, codeql_1.getCodeQL)(config.codeQLCmd);
for (const language of config.languages) { for (const language of config.languages) {
if ((0, languages_1.isScannedLanguage)(language) && if ((0, languages_1.isScannedLanguage)(language) &&
!dbIsFinalized(config, language, logger)) { !dbIsFinalized(config, language, logger)) {
@@ -80,11 +79,12 @@ async function createdDBForScannedLanguages(config, logger) {
if (language === languages_1.Language.python) { if (language === languages_1.Language.python) {
await setupPythonExtractor(logger); await setupPythonExtractor(logger);
} }
await codeql.extractScannedLanguage(util.getCodeQLDatabasePath(config, language), language); await codeql.extractScannedLanguage(util.getCodeQLDatabasePath(config, language), language, featureFlags);
logger.endGroup(); logger.endGroup();
} }
} }
} }
exports.createdDBForScannedLanguages = createdDBForScannedLanguages;
function dbIsFinalized(config, language, logger) { function dbIsFinalized(config, language, logger) {
const dbPath = util.getCodeQLDatabasePath(config, language); const dbPath = util.getCodeQLDatabasePath(config, language);
try { try {
@@ -96,9 +96,9 @@ function dbIsFinalized(config, language, logger) {
return false; return false;
} }
} }
async function finalizeDatabaseCreation(config, threadsFlag, memoryFlag, logger) { async function finalizeDatabaseCreation(config, threadsFlag, memoryFlag, logger, featureFlags) {
await createdDBForScannedLanguages(config, logger);
const codeql = await (0, codeql_1.getCodeQL)(config.codeQLCmd); const codeql = await (0, codeql_1.getCodeQL)(config.codeQLCmd);
await createdDBForScannedLanguages(codeql, config, logger, featureFlags);
for (const language of config.languages) { for (const language of config.languages) {
if (dbIsFinalized(config, language, logger)) { if (dbIsFinalized(config, language, logger)) {
logger.info(`There is already a finalized database for ${language} at the location where the CodeQL Action places databases, so we did not create one.`); logger.info(`There is already a finalized database for ${language} at the location where the CodeQL Action places databases, so we did not create one.`);
@@ -238,16 +238,7 @@ exports.runQueries = runQueries;
function createQuerySuiteContents(queries) { function createQuerySuiteContents(queries) {
return queries.map((q) => `- query: ${q}`).join("\n"); return queries.map((q) => `- query: ${q}`).join("\n");
} }
async function runFinalize(outputDir, threadsFlag, memoryFlag, config, logger) { async function runFinalize(outputDir, threadsFlag, memoryFlag, config, logger, featureFlags) {
const codeql = await (0, codeql_1.getCodeQL)(config.codeQLCmd);
if (await util.codeQlVersionAbove(codeql, codeql_1.CODEQL_VERSION_NEW_TRACING)) {
// Delete variables as specified by the end-tracing script
await (0, tracer_config_1.endTracingForCluster)(config);
}
else {
// Delete the tracer config env var to avoid tracing ourselves
delete process.env[sharedEnv.ODASA_TRACER_CONFIGURATION];
}
try { try {
await (0, del_1.default)(outputDir, { force: true }); await (0, del_1.default)(outputDir, { force: true });
} }
@@ -257,7 +248,18 @@ async function runFinalize(outputDir, threadsFlag, memoryFlag, config, logger) {
} }
} }
await fs.promises.mkdir(outputDir, { recursive: true }); await fs.promises.mkdir(outputDir, { recursive: true });
await finalizeDatabaseCreation(config, threadsFlag, memoryFlag, logger); await finalizeDatabaseCreation(config, threadsFlag, memoryFlag, logger, featureFlags);
const codeql = await (0, codeql_1.getCodeQL)(config.codeQLCmd);
if (await util.codeQlVersionAbove(codeql, codeql_1.CODEQL_VERSION_NEW_TRACING)) {
// Delete variables as specified by the end-tracing script
await (0, codeql_1.runTool)("bash", ["-c", "export"]);
await (0, tracer_config_1.endTracingForCluster)(config);
await (0, codeql_1.runTool)("bash", ["-c", "export"]);
}
else {
// Delete the tracer config env var to avoid tracing ourselves
delete process.env[sharedEnv.ODASA_TRACER_CONFIGURATION];
}
} }
exports.runFinalize = runFinalize; exports.runFinalize = runFinalize;
async function runCleanup(config, cleanupLevel, logger) { async function runCleanup(config, cleanupLevel, logger) {
+1 -1
View File
File diff suppressed because one or more lines are too long
+69 -1
View File
@@ -29,7 +29,9 @@ const yaml = __importStar(require("js-yaml"));
const sinon = __importStar(require("sinon")); const sinon = __importStar(require("sinon"));
const analyze_1 = require("./analyze"); const analyze_1 = require("./analyze");
const codeql_1 = require("./codeql"); const codeql_1 = require("./codeql");
const codeql_test_1 = require("./codeql.test");
const count = __importStar(require("./count-loc")); const count = __importStar(require("./count-loc"));
const feature_flags_1 = require("./feature-flags");
const languages_1 = require("./languages"); const languages_1 = require("./languages");
const logging_1 = require("./logging"); const logging_1 = require("./logging");
const testing_utils_1 = require("./testing-utils"); const testing_utils_1 = require("./testing-utils");
@@ -107,7 +109,6 @@ const util = __importStar(require("./util"));
paths: [], paths: [],
originalUserInput: {}, originalUserInput: {},
tempDir: tmpDir, tempDir: tmpDir,
toolCacheDir: tmpDir,
codeQLCmd: "", codeQLCmd: "",
gitHubVersion: { gitHubVersion: {
type: util.GitHubVariant.DOTCOM, type: util.GitHubVariant.DOTCOM,
@@ -210,4 +211,71 @@ const util = __importStar(require("./util"));
} }
} }
}); });
const stubConfig = {
languages: [languages_1.Language.cpp, languages_1.Language.go],
queries: {},
pathsIgnore: [],
paths: [],
originalUserInput: {},
tempDir: "",
codeQLCmd: "",
gitHubVersion: {
type: util.GitHubVariant.DOTCOM,
},
dbLocation: "",
packs: {},
debugMode: false,
debugArtifactName: util.DEFAULT_DEBUG_ARTIFACT_NAME,
debugDatabaseName: util.DEFAULT_DEBUG_DATABASE_NAME,
injectedMlQueries: false,
};
for (const options of [
{
name: "Lua feature flag enabled, but old CLI",
version: "2.9.0",
featureFlags: [feature_flags_1.FeatureFlag.LuaTracerConfigEnabled],
yesFlagSet: false,
noFlagSet: false,
},
{
name: "Lua feature flag disabled, with old CLI",
version: "2.9.0",
featureFlags: [],
yesFlagSet: false,
noFlagSet: false,
},
{
name: "Lua feature flag enabled, with new CLI",
version: "2.10.0",
featureFlags: [feature_flags_1.FeatureFlag.LuaTracerConfigEnabled],
yesFlagSet: true,
noFlagSet: false,
},
{
name: "Lua feature flag disabled, with new CLI",
version: "2.10.0",
featureFlags: [],
yesFlagSet: false,
noFlagSet: true,
},
]) {
(0, ava_1.default)(`createdDBForScannedLanguages() ${options.name}`, async (t) => {
const runnerConstructorStub = (0, codeql_test_1.stubToolRunnerConstructor)();
const codeqlObject = await (0, codeql_1.getCodeQLForTesting)("codeql/for-testing");
sinon.stub(codeqlObject, "getVersion").resolves(options.version);
const promise = (0, analyze_1.createdDBForScannedLanguages)(codeqlObject, stubConfig, (0, logging_1.getRunnerLogger)(true), (0, feature_flags_1.createFeatureFlags)(options.featureFlags));
// call listener on `codeql resolve extractor`
const mockToolRunner = runnerConstructorStub.getCall(0);
mockToolRunner.args[2].listeners.stdout('"/path/to/extractor"');
await promise;
if (options.yesFlagSet)
t.true(runnerConstructorStub.secondCall.args[1].includes("--internal-use-lua-tracing"), "--internal-use-lua-tracing should be present, but it is absent");
else
t.false(runnerConstructorStub.secondCall.args[1].includes("--internal-use-lua-tracing"), "--internal-use-lua-tracing should be absent, but it is present");
if (options.noFlagSet)
t.true(runnerConstructorStub.secondCall.args[1].includes("--no-internal-use-lua-tracing"), "--no-internal-use-lua-tracing should be present, but it is absent");
else
t.false(runnerConstructorStub.secondCall.args[1].includes("--no-internal-use-lua-tracing"), "--no-internal-use-lua-tracing should be absent, but it is present");
});
}
//# sourceMappingURL=analyze.test.js.map //# sourceMappingURL=analyze.test.js.map
File diff suppressed because one or more lines are too long
Generated
+31 -16
View File
@@ -22,20 +22,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod }; return (mod && mod.__esModule) ? mod : { "default": mod };
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.getExtraOptions = exports.getCodeQLForTesting = exports.getCachedCodeQL = exports.setCodeQL = exports.getCodeQL = exports.convertToSemVer = exports.getCodeQLURLVersion = exports.setupCodeQL = exports.getCodeQLActionRepository = exports.CODEQL_VERSION_ML_POWERED_QUERIES_WINDOWS = exports.CODEQL_VERSION_NEW_TRACING = exports.CODEQL_VERSION_ML_POWERED_QUERIES = exports.CODEQL_VERSION_COUNTS_LINES = exports.CommandInvocationError = void 0; exports.runTool = exports.getExtraOptions = exports.getCodeQLForTesting = exports.getCachedCodeQL = exports.setCodeQL = exports.getCodeQL = exports.convertToSemVer = exports.getCodeQLURLVersion = exports.setupCodeQL = exports.getCodeQLActionRepository = exports.CODEQL_VERSION_ML_POWERED_QUERIES_WINDOWS = exports.CODEQL_VERSION_NEW_TRACING = exports.CODEQL_VERSION_ML_POWERED_QUERIES = exports.CODEQL_VERSION_COUNTS_LINES = exports.CommandInvocationError = void 0;
const fs = __importStar(require("fs")); const fs = __importStar(require("fs"));
const path = __importStar(require("path")); const path = __importStar(require("path"));
const toolrunner = __importStar(require("@actions/exec/lib/toolrunner")); const toolrunner = __importStar(require("@actions/exec/lib/toolrunner"));
const toolcache = __importStar(require("@actions/tool-cache"));
const fast_deep_equal_1 = __importDefault(require("fast-deep-equal")); const fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
const query_string_1 = __importDefault(require("query-string")); const query_string_1 = __importDefault(require("query-string"));
const semver = __importStar(require("semver")); const semver = __importStar(require("semver"));
const uuid_1 = require("uuid");
const actions_util_1 = require("./actions-util"); const actions_util_1 = require("./actions-util");
const api = __importStar(require("./api-client")); const api = __importStar(require("./api-client"));
const defaults = __importStar(require("./defaults.json")); // Referenced from codeql-action-sync-tool! const defaults = __importStar(require("./defaults.json")); // Referenced from codeql-action-sync-tool!
const error_matcher_1 = require("./error-matcher"); const error_matcher_1 = require("./error-matcher");
const feature_flags_1 = require("./feature-flags"); const feature_flags_1 = require("./feature-flags");
const languages_1 = require("./languages"); const languages_1 = require("./languages");
const toolcache = __importStar(require("./toolcache"));
const toolrunner_error_catcher_1 = require("./toolrunner-error-catcher"); const toolrunner_error_catcher_1 = require("./toolrunner-error-catcher");
const util = __importStar(require("./util")); const util = __importStar(require("./util"));
const util_1 = require("./util"); const util_1 = require("./util");
@@ -208,14 +209,13 @@ async function getCodeQLBundleDownloadURL(apiDetails, variant, logger) {
* @param codeqlURL * @param codeqlURL
* @param apiDetails * @param apiDetails
* @param tempDir * @param tempDir
* @param toolCacheDir
* @param variant * @param variant
* @param logger * @param logger
* @param checkVersion Whether to check that CodeQL CLI meets the minimum * @param checkVersion Whether to check that CodeQL CLI meets the minimum
* version requirement. Must be set to true outside tests. * version requirement. Must be set to true outside tests.
* @returns * @returns
*/ */
async function setupCodeQL(codeqlURL, apiDetails, tempDir, toolCacheDir, variant, logger, checkVersion) { async function setupCodeQL(codeqlURL, apiDetails, tempDir, variant, logger, checkVersion) {
try { try {
// We use the special value of 'latest' to prioritize the version in the // We use the special value of 'latest' to prioritize the version in the
// defaults over any pinned cached version. // defaults over any pinned cached version.
@@ -226,21 +226,21 @@ async function setupCodeQL(codeqlURL, apiDetails, tempDir, toolCacheDir, variant
let codeqlFolder; let codeqlFolder;
let codeqlURLVersion; let codeqlURLVersion;
if (codeqlURL && !codeqlURL.startsWith("http")) { if (codeqlURL && !codeqlURL.startsWith("http")) {
codeqlFolder = await toolcache.extractTar(codeqlURL, tempDir, logger); codeqlFolder = await toolcache.extractTar(codeqlURL);
codeqlURLVersion = "local"; codeqlURLVersion = "local";
} }
else { else {
codeqlURLVersion = getCodeQLURLVersion(codeqlURL || `/${CODEQL_BUNDLE_VERSION}/`); codeqlURLVersion = getCodeQLURLVersion(codeqlURL || `/${CODEQL_BUNDLE_VERSION}/`);
const codeqlURLSemVer = convertToSemVer(codeqlURLVersion, logger); const codeqlURLSemVer = convertToSemVer(codeqlURLVersion, logger);
// If we find the specified version, we always use that. // If we find the specified version, we always use that.
codeqlFolder = toolcache.find("CodeQL", codeqlURLSemVer, toolCacheDir, logger); codeqlFolder = toolcache.find("CodeQL", codeqlURLSemVer);
// If we don't find the requested version, in some cases we may allow a // If we don't find the requested version, in some cases we may allow a
// different version to save download time if the version hasn't been // different version to save download time if the version hasn't been
// specified explicitly (in which case we always honor it). // specified explicitly (in which case we always honor it).
if (!codeqlFolder && !codeqlURL && !forceLatest) { if (!codeqlFolder && !codeqlURL && !forceLatest) {
const codeqlVersions = toolcache.findAllVersions("CodeQL", toolCacheDir, logger); const codeqlVersions = toolcache.findAllVersions("CodeQL");
if (codeqlVersions.length === 1 && (0, util_1.isGoodVersion)(codeqlVersions[0])) { if (codeqlVersions.length === 1 && (0, util_1.isGoodVersion)(codeqlVersions[0])) {
const tmpCodeqlFolder = toolcache.find("CodeQL", codeqlVersions[0], toolCacheDir, logger); const tmpCodeqlFolder = toolcache.find("CodeQL", codeqlVersions[0]);
if (fs.existsSync(path.join(tmpCodeqlFolder, "pinned-version"))) { if (fs.existsSync(path.join(tmpCodeqlFolder, "pinned-version"))) {
logger.debug(`CodeQL in cache overriding the default ${CODEQL_BUNDLE_VERSION}`); logger.debug(`CodeQL in cache overriding the default ${CODEQL_BUNDLE_VERSION}`);
codeqlFolder = tmpCodeqlFolder; codeqlFolder = tmpCodeqlFolder;
@@ -272,10 +272,12 @@ async function setupCodeQL(codeqlURL, apiDetails, tempDir, toolCacheDir, variant
logger.debug("Downloading CodeQL bundle without token."); logger.debug("Downloading CodeQL bundle without token.");
} }
logger.info(`Downloading CodeQL tools from ${codeqlURL}. This may take a while.`); logger.info(`Downloading CodeQL tools from ${codeqlURL}. This may take a while.`);
const codeqlPath = await toolcache.downloadTool(codeqlURL, tempDir, headers); const dest = path.join(tempDir, (0, uuid_1.v4)());
const finalHeaders = Object.assign({ "User-Agent": "CodeQL Action" }, headers);
const codeqlPath = await toolcache.downloadTool(codeqlURL, dest, undefined, finalHeaders);
logger.debug(`CodeQL bundle download to ${codeqlPath} complete.`); logger.debug(`CodeQL bundle download to ${codeqlPath} complete.`);
const codeqlExtracted = await toolcache.extractTar(codeqlPath, tempDir, logger); const codeqlExtracted = await toolcache.extractTar(codeqlPath);
codeqlFolder = await toolcache.cacheDir(codeqlExtracted, "CodeQL", codeqlURLSemVer, toolCacheDir, logger); codeqlFolder = await toolcache.cacheDir(codeqlExtracted, "CodeQL", codeqlURLSemVer);
} }
} }
let codeqlCmd = path.join(codeqlFolder, "codeql", "codeql"); let codeqlCmd = path.join(codeqlFolder, "codeql", "codeql");
@@ -384,8 +386,8 @@ exports.getCachedCodeQL = getCachedCodeQL;
* a non-existent placeholder codeql command, so tests that use this function * a non-existent placeholder codeql command, so tests that use this function
* should also stub the toolrunner.ToolRunner constructor. * should also stub the toolrunner.ToolRunner constructor.
*/ */
async function getCodeQLForTesting() { async function getCodeQLForTesting(cmd = "codeql-for-testing") {
return getCodeQLForCmd("codeql-for-testing", false); return getCodeQLForCmd(cmd, false);
} }
exports.getCodeQLForTesting = getCodeQLForTesting; exports.getCodeQLForTesting = getCodeQLForTesting;
/** /**
@@ -475,12 +477,13 @@ async function getCodeQLForCmd(cmd, checkVersion) {
// because that always passes in a process name. // because that always passes in a process name.
extraArgs.push(`--trace-process-level=${processLevel || 3}`); extraArgs.push(`--trace-process-level=${processLevel || 3}`);
} }
extraArgs.push("--internal-use-lua-tracing");
if (await util.codeQlVersionAbove(this, CODEQL_VERSION_LUA_TRACER_CONFIG)) { if (await util.codeQlVersionAbove(this, CODEQL_VERSION_LUA_TRACER_CONFIG)) {
if (await featureFlags.getValue(feature_flags_1.FeatureFlag.LuaTracerConfigEnabled)) { if (await featureFlags.getValue(feature_flags_1.FeatureFlag.LuaTracerConfigEnabled)) {
extraArgs.push("--internal-use-lua-tracing"); //
} }
else { else {
extraArgs.push("--no-internal-use-lua-tracing"); // extraArgs.push("--no-internal-use-lua-tracing");
} }
} }
} }
@@ -510,7 +513,7 @@ async function getCodeQLForCmd(cmd, checkVersion) {
].join(" "); ].join(" ");
await runTool(autobuildCmd); await runTool(autobuildCmd);
}, },
async extractScannedLanguage(databasePath, language) { async extractScannedLanguage(databasePath, language, featureFlags) {
// Get extractor location // Get extractor location
let extractorPath = ""; let extractorPath = "";
await new toolrunner.ToolRunner(cmd, [ await new toolrunner.ToolRunner(cmd, [
@@ -533,10 +536,21 @@ async function getCodeQLForCmd(cmd, checkVersion) {
// Set trace command // Set trace command
const ext = process.platform === "win32" ? ".cmd" : ".sh"; const ext = process.platform === "win32" ? ".cmd" : ".sh";
const traceCommand = path.resolve(JSON.parse(extractorPath), "tools", `autobuild${ext}`); const traceCommand = path.resolve(JSON.parse(extractorPath), "tools", `autobuild${ext}`);
const extraArgs = [];
if (await util.codeQlVersionAbove(this, CODEQL_VERSION_LUA_TRACER_CONFIG)) {
extraArgs.push("--internal-use-lua-tracing");
if (await featureFlags.getValue(feature_flags_1.FeatureFlag.LuaTracerConfigEnabled)) {
// extraArgs.push("--internal-use-lua-tracing");
}
else {
// extraArgs.push("--no-internal-use-lua-tracing");
}
}
// Run trace command // Run trace command
await (0, toolrunner_error_catcher_1.toolrunnerErrorCatcher)(cmd, [ await (0, toolrunner_error_catcher_1.toolrunnerErrorCatcher)(cmd, [
"database", "database",
"trace-command", "trace-command",
...extraArgs,
...getExtraOptionsFromEnv(["database", "trace-command"]), ...getExtraOptionsFromEnv(["database", "trace-command"]),
databasePath, databasePath,
"--", "--",
@@ -790,4 +804,5 @@ async function runTool(cmd, args = []) {
throw new CommandInvocationError(cmd, args, exitCode, error); throw new CommandInvocationError(cmd, args, exitCode, error);
return output; return output;
} }
exports.runTool = runTool;
//# sourceMappingURL=codeql.js.map //# sourceMappingURL=codeql.js.map
+1 -1
View File
File diff suppressed because one or more lines are too long
+12 -11
View File
@@ -22,6 +22,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod }; return (mod && mod.__esModule) ? mod : { "default": mod };
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.stubToolRunnerConstructor = void 0;
const path = __importStar(require("path")); const path = __importStar(require("path"));
const toolrunner = __importStar(require("@actions/exec/lib/toolrunner")); const toolrunner = __importStar(require("@actions/exec/lib/toolrunner"));
const toolcache = __importStar(require("@actions/tool-cache")); const toolcache = __importStar(require("@actions/tool-cache"));
@@ -57,7 +58,7 @@ ava_1.default.beforeEach(() => {
(0, nock_1.default)("https://example.com") (0, nock_1.default)("https://example.com")
.get(`/download/codeql-bundle-${version}/codeql-bundle.tar.gz`) .get(`/download/codeql-bundle-${version}/codeql-bundle.tar.gz`)
.replyWithFile(200, path.join(__dirname, `/../src/testdata/codeql-bundle.tar.gz`)); .replyWithFile(200, path.join(__dirname, `/../src/testdata/codeql-bundle.tar.gz`));
await codeql.setupCodeQL(`https://example.com/download/codeql-bundle-${version}/codeql-bundle.tar.gz`, sampleApiDetails, tmpDir, tmpDir, util.GitHubVariant.DOTCOM, (0, logging_1.getRunnerLogger)(true), false); await codeql.setupCodeQL(`https://example.com/download/codeql-bundle-${version}/codeql-bundle.tar.gz`, sampleApiDetails, tmpDir, util.GitHubVariant.DOTCOM, (0, logging_1.getRunnerLogger)(true), false);
t.assert(toolcache.find("CodeQL", `0.0.0-${version}`)); t.assert(toolcache.find("CodeQL", `0.0.0-${version}`));
} }
const cachedVersions = toolcache.findAllVersions("CodeQL"); const cachedVersions = toolcache.findAllVersions("CodeQL");
@@ -70,12 +71,12 @@ ava_1.default.beforeEach(() => {
(0, nock_1.default)("https://example.com") (0, nock_1.default)("https://example.com")
.get(`/download/codeql-bundle-20200601/codeql-bundle.tar.gz`) .get(`/download/codeql-bundle-20200601/codeql-bundle.tar.gz`)
.replyWithFile(200, path.join(__dirname, `/../src/testdata/codeql-bundle-pinned.tar.gz`)); .replyWithFile(200, path.join(__dirname, `/../src/testdata/codeql-bundle-pinned.tar.gz`));
await codeql.setupCodeQL("https://example.com/download/codeql-bundle-20200601/codeql-bundle.tar.gz", sampleApiDetails, tmpDir, tmpDir, util.GitHubVariant.DOTCOM, (0, logging_1.getRunnerLogger)(true), false); await codeql.setupCodeQL("https://example.com/download/codeql-bundle-20200601/codeql-bundle.tar.gz", sampleApiDetails, tmpDir, util.GitHubVariant.DOTCOM, (0, logging_1.getRunnerLogger)(true), false);
t.assert(toolcache.find("CodeQL", "0.0.0-20200601")); t.assert(toolcache.find("CodeQL", "0.0.0-20200601"));
(0, nock_1.default)("https://example.com") (0, nock_1.default)("https://example.com")
.get(`/download/codeql-bundle-20200610/codeql-bundle.tar.gz`) .get(`/download/codeql-bundle-20200610/codeql-bundle.tar.gz`)
.replyWithFile(200, path.join(__dirname, `/../src/testdata/codeql-bundle.tar.gz`)); .replyWithFile(200, path.join(__dirname, `/../src/testdata/codeql-bundle.tar.gz`));
await codeql.setupCodeQL("https://example.com/download/codeql-bundle-20200610/codeql-bundle.tar.gz", sampleApiDetails, tmpDir, tmpDir, util.GitHubVariant.DOTCOM, (0, logging_1.getRunnerLogger)(true), false); await codeql.setupCodeQL("https://example.com/download/codeql-bundle-20200610/codeql-bundle.tar.gz", sampleApiDetails, tmpDir, util.GitHubVariant.DOTCOM, (0, logging_1.getRunnerLogger)(true), false);
t.assert(toolcache.find("CodeQL", "0.0.0-20200610")); t.assert(toolcache.find("CodeQL", "0.0.0-20200610"));
}); });
}); });
@@ -85,9 +86,9 @@ ava_1.default.beforeEach(() => {
(0, nock_1.default)("https://example.com") (0, nock_1.default)("https://example.com")
.get(`/download/codeql-bundle-20200601/codeql-bundle.tar.gz`) .get(`/download/codeql-bundle-20200601/codeql-bundle.tar.gz`)
.replyWithFile(200, path.join(__dirname, `/../src/testdata/codeql-bundle-pinned.tar.gz`)); .replyWithFile(200, path.join(__dirname, `/../src/testdata/codeql-bundle-pinned.tar.gz`));
await codeql.setupCodeQL("https://example.com/download/codeql-bundle-20200601/codeql-bundle.tar.gz", sampleApiDetails, tmpDir, tmpDir, util.GitHubVariant.DOTCOM, (0, logging_1.getRunnerLogger)(true), false); await codeql.setupCodeQL("https://example.com/download/codeql-bundle-20200601/codeql-bundle.tar.gz", sampleApiDetails, tmpDir, util.GitHubVariant.DOTCOM, (0, logging_1.getRunnerLogger)(true), false);
t.assert(toolcache.find("CodeQL", "0.0.0-20200601")); t.assert(toolcache.find("CodeQL", "0.0.0-20200601"));
await codeql.setupCodeQL(undefined, sampleApiDetails, tmpDir, tmpDir, util.GitHubVariant.DOTCOM, (0, logging_1.getRunnerLogger)(true), false); await codeql.setupCodeQL(undefined, sampleApiDetails, tmpDir, util.GitHubVariant.DOTCOM, (0, logging_1.getRunnerLogger)(true), false);
const cachedVersions = toolcache.findAllVersions("CodeQL"); const cachedVersions = toolcache.findAllVersions("CodeQL");
t.is(cachedVersions.length, 1); t.is(cachedVersions.length, 1);
}); });
@@ -98,7 +99,7 @@ ava_1.default.beforeEach(() => {
(0, nock_1.default)("https://example.com") (0, nock_1.default)("https://example.com")
.get(`/download/codeql-bundle-20200601/codeql-bundle.tar.gz`) .get(`/download/codeql-bundle-20200601/codeql-bundle.tar.gz`)
.replyWithFile(200, path.join(__dirname, `/../src/testdata/codeql-bundle.tar.gz`)); .replyWithFile(200, path.join(__dirname, `/../src/testdata/codeql-bundle.tar.gz`));
await codeql.setupCodeQL("https://example.com/download/codeql-bundle-20200601/codeql-bundle.tar.gz", sampleApiDetails, tmpDir, tmpDir, util.GitHubVariant.DOTCOM, (0, logging_1.getRunnerLogger)(true), false); await codeql.setupCodeQL("https://example.com/download/codeql-bundle-20200601/codeql-bundle.tar.gz", sampleApiDetails, tmpDir, util.GitHubVariant.DOTCOM, (0, logging_1.getRunnerLogger)(true), false);
t.assert(toolcache.find("CodeQL", "0.0.0-20200601")); t.assert(toolcache.find("CodeQL", "0.0.0-20200601"));
const platform = process.platform === "win32" const platform = process.platform === "win32"
? "win64" ? "win64"
@@ -108,7 +109,7 @@ ava_1.default.beforeEach(() => {
(0, nock_1.default)("https://github.com") (0, nock_1.default)("https://github.com")
.get(`/github/codeql-action/releases/download/${defaults.bundleVersion}/codeql-bundle-${platform}.tar.gz`) .get(`/github/codeql-action/releases/download/${defaults.bundleVersion}/codeql-bundle-${platform}.tar.gz`)
.replyWithFile(200, path.join(__dirname, `/../src/testdata/codeql-bundle.tar.gz`)); .replyWithFile(200, path.join(__dirname, `/../src/testdata/codeql-bundle.tar.gz`));
await codeql.setupCodeQL(undefined, sampleApiDetails, tmpDir, tmpDir, util.GitHubVariant.DOTCOM, (0, logging_1.getRunnerLogger)(true), false); await codeql.setupCodeQL(undefined, sampleApiDetails, tmpDir, util.GitHubVariant.DOTCOM, (0, logging_1.getRunnerLogger)(true), false);
const cachedVersions = toolcache.findAllVersions("CodeQL"); const cachedVersions = toolcache.findAllVersions("CodeQL");
t.is(cachedVersions.length, 2); t.is(cachedVersions.length, 2);
}); });
@@ -119,7 +120,7 @@ ava_1.default.beforeEach(() => {
(0, nock_1.default)("https://example.com") (0, nock_1.default)("https://example.com")
.get(`/download/codeql-bundle-20200601/codeql-bundle.tar.gz`) .get(`/download/codeql-bundle-20200601/codeql-bundle.tar.gz`)
.replyWithFile(200, path.join(__dirname, `/../src/testdata/codeql-bundle-pinned.tar.gz`)); .replyWithFile(200, path.join(__dirname, `/../src/testdata/codeql-bundle-pinned.tar.gz`));
await codeql.setupCodeQL("https://example.com/download/codeql-bundle-20200601/codeql-bundle.tar.gz", sampleApiDetails, tmpDir, tmpDir, util.GitHubVariant.DOTCOM, (0, logging_1.getRunnerLogger)(true), false); await codeql.setupCodeQL("https://example.com/download/codeql-bundle-20200601/codeql-bundle.tar.gz", sampleApiDetails, tmpDir, util.GitHubVariant.DOTCOM, (0, logging_1.getRunnerLogger)(true), false);
t.assert(toolcache.find("CodeQL", "0.0.0-20200601")); t.assert(toolcache.find("CodeQL", "0.0.0-20200601"));
const platform = process.platform === "win32" const platform = process.platform === "win32"
? "win64" ? "win64"
@@ -129,7 +130,7 @@ ava_1.default.beforeEach(() => {
(0, nock_1.default)("https://github.com") (0, nock_1.default)("https://github.com")
.get(`/github/codeql-action/releases/download/${defaults.bundleVersion}/codeql-bundle-${platform}.tar.gz`) .get(`/github/codeql-action/releases/download/${defaults.bundleVersion}/codeql-bundle-${platform}.tar.gz`)
.replyWithFile(200, path.join(__dirname, `/../src/testdata/codeql-bundle.tar.gz`)); .replyWithFile(200, path.join(__dirname, `/../src/testdata/codeql-bundle.tar.gz`));
await codeql.setupCodeQL("latest", sampleApiDetails, tmpDir, tmpDir, util.GitHubVariant.DOTCOM, (0, logging_1.getRunnerLogger)(true), false); await codeql.setupCodeQL("latest", sampleApiDetails, tmpDir, util.GitHubVariant.DOTCOM, (0, logging_1.getRunnerLogger)(true), false);
const cachedVersions = toolcache.findAllVersions("CodeQL"); const cachedVersions = toolcache.findAllVersions("CodeQL");
t.is(cachedVersions.length, 2); t.is(cachedVersions.length, 2);
}); });
@@ -157,7 +158,7 @@ ava_1.default.beforeEach(() => {
(0, nock_1.default)("https://example.githubenterprise.com") (0, nock_1.default)("https://example.githubenterprise.com")
.get(`/github/codeql-action/releases/download/${defaults.bundleVersion}/${codeQLBundleName}`) .get(`/github/codeql-action/releases/download/${defaults.bundleVersion}/${codeQLBundleName}`)
.replyWithFile(200, path.join(__dirname, `/../src/testdata/codeql-bundle-pinned.tar.gz`)); .replyWithFile(200, path.join(__dirname, `/../src/testdata/codeql-bundle-pinned.tar.gz`));
await codeql.setupCodeQL(undefined, sampleGHAEApiDetails, tmpDir, tmpDir, util.GitHubVariant.GHAE, (0, logging_1.getRunnerLogger)(true), false); await codeql.setupCodeQL(undefined, sampleGHAEApiDetails, tmpDir, util.GitHubVariant.GHAE, (0, logging_1.getRunnerLogger)(true), false);
const cachedVersions = toolcache.findAllVersions("CodeQL"); const cachedVersions = toolcache.findAllVersions("CodeQL");
t.is(cachedVersions.length, 1); t.is(cachedVersions.length, 1);
}); });
@@ -242,7 +243,6 @@ const stubConfig = {
paths: [], paths: [],
originalUserInput: {}, originalUserInput: {},
tempDir: "", tempDir: "",
toolCacheDir: "",
codeQLCmd: "", codeQLCmd: "",
gitHubVersion: { gitHubVersion: {
type: util.GitHubVariant.DOTCOM, type: util.GitHubVariant.DOTCOM,
@@ -291,4 +291,5 @@ function stubToolRunnerConstructor() {
runnerConstructorStub.returns(runnerObjectStub); runnerConstructorStub.returns(runnerObjectStub);
return runnerConstructorStub; return runnerConstructorStub;
} }
exports.stubToolRunnerConstructor = stubToolRunnerConstructor;
//# sourceMappingURL=codeql.test.js.map //# sourceMappingURL=codeql.test.js.map
File diff suppressed because one or more lines are too long
+27 -16
View File
@@ -19,7 +19,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
return result; return result;
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.getConfig = exports.getPathToParsedConfigFile = exports.initConfig = exports.parsePacks = exports.validatePacksSpecification = exports.parsePacksFromConfig = exports.getDefaultConfig = exports.getUnknownLanguagesError = exports.getNoLanguagesError = exports.getConfigFileDirectoryGivenMessage = exports.getConfigFileFormatInvalidMessage = exports.getConfigFileRepoFormatInvalidMessage = exports.getConfigFileDoesNotExistErrorMessage = exports.getConfigFileOutsideWorkspaceErrorMessage = exports.getLocalPathDoesNotExist = exports.getLocalPathOutsideOfRepository = exports.getPacksStrInvalid = exports.getPacksInvalid = exports.getPacksInvalidSplit = exports.getPacksRequireLanguage = exports.getPathsInvalid = exports.getPathsIgnoreInvalid = exports.getQueryUsesInvalid = exports.getQueriesInvalid = exports.getDisableDefaultQueriesInvalid = exports.getNameInvalid = exports.validateAndSanitisePath = void 0; exports.getConfig = exports.getPathToParsedConfigFile = exports.initConfig = exports.parsePacks = exports.validatePacksSpecification = exports.parsePacksFromConfig = exports.getDefaultConfig = exports.getUnknownLanguagesError = exports.getNoLanguagesError = exports.getConfigFileDirectoryGivenMessage = exports.getConfigFileFormatInvalidMessage = exports.getConfigFileRepoFormatInvalidMessage = exports.getConfigFileDoesNotExistErrorMessage = exports.getConfigFileOutsideWorkspaceErrorMessage = exports.getLocalPathDoesNotExist = exports.getLocalPathOutsideOfRepository = exports.getPacksStrInvalid = exports.getPacksInvalid = exports.getPacksInvalidSplit = exports.getPathsInvalid = exports.getPathsIgnoreInvalid = exports.getQueryUsesInvalid = exports.getQueriesInvalid = exports.getDisableDefaultQueriesInvalid = exports.getNameInvalid = exports.validateAndSanitisePath = void 0;
const fs = __importStar(require("fs")); const fs = __importStar(require("fs"));
const path = __importStar(require("path")); const path = __importStar(require("path"));
const yaml = __importStar(require("js-yaml")); const yaml = __importStar(require("js-yaml"));
@@ -306,9 +306,8 @@ function getPathsInvalid(configFile) {
} }
exports.getPathsInvalid = getPathsInvalid; exports.getPathsInvalid = getPathsInvalid;
function getPacksRequireLanguage(lang, configFile) { function getPacksRequireLanguage(lang, configFile) {
return getConfigFilePropertyError(configFile, PACKS_PROPERTY, `has "${lang}", but it is not one of the languages to analyze`); return getConfigFilePropertyError(configFile, PACKS_PROPERTY, `has "${lang}", but it is not a valid language.`);
} }
exports.getPacksRequireLanguage = getPacksRequireLanguage;
function getPacksInvalidSplit(configFile) { function getPacksInvalidSplit(configFile) {
return getConfigFilePropertyError(configFile, PACKS_PROPERTY, "must split packages by language"); return getConfigFilePropertyError(configFile, PACKS_PROPERTY, "must split packages by language");
} }
@@ -463,7 +462,7 @@ function shouldAddConfigFileQueries(queriesInput) {
/** /**
* Get the default config for when the user has not supplied one. * Get the default config for when the user has not supplied one.
*/ */
async function getDefaultConfig(languagesInput, queriesInput, packsInput, dbLocation, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, toolCacheDir, codeQL, workspacePath, gitHubVersion, apiDetails, featureFlags, logger) { async function getDefaultConfig(languagesInput, queriesInput, packsInput, dbLocation, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, codeQL, workspacePath, gitHubVersion, apiDetails, featureFlags, logger) {
var _a; var _a;
const languages = await getLanguages(codeQL, languagesInput, repository, apiDetails, logger); const languages = await getLanguages(codeQL, languagesInput, repository, apiDetails, logger);
const queries = {}; const queries = {};
@@ -487,7 +486,6 @@ async function getDefaultConfig(languagesInput, queriesInput, packsInput, dbLoca
packs, packs,
originalUserInput: {}, originalUserInput: {},
tempDir, tempDir,
toolCacheDir,
codeQLCmd: codeQL.getPath(), codeQLCmd: codeQL.getPath(),
gitHubVersion, gitHubVersion,
dbLocation: dbLocationOrDefault(dbLocation, tempDir), dbLocation: dbLocationOrDefault(dbLocation, tempDir),
@@ -501,7 +499,7 @@ exports.getDefaultConfig = getDefaultConfig;
/** /**
* Load the config from the given file. * Load the config from the given file.
*/ */
async function loadConfig(languagesInput, queriesInput, packsInput, configFile, dbLocation, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, toolCacheDir, codeQL, workspacePath, gitHubVersion, apiDetails, featureFlags, logger) { async function loadConfig(languagesInput, queriesInput, packsInput, configFile, dbLocation, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, codeQL, workspacePath, gitHubVersion, apiDetails, featureFlags, logger) {
var _a; var _a;
let parsedYAML; let parsedYAML;
if (isLocal(configFile)) { if (isLocal(configFile)) {
@@ -542,7 +540,7 @@ async function loadConfig(languagesInput, queriesInput, packsInput, configFile,
if (!disableDefaultQueries) { if (!disableDefaultQueries) {
await addDefaultQueries(codeQL, languages, queries); await addDefaultQueries(codeQL, languages, queries);
} }
const packs = parsePacks((_a = parsedYAML[PACKS_PROPERTY]) !== null && _a !== void 0 ? _a : {}, packsInput, languages, configFile); const packs = parsePacks((_a = parsedYAML[PACKS_PROPERTY]) !== null && _a !== void 0 ? _a : {}, packsInput, languages, configFile, logger);
// If queries were provided using `with` in the action configuration, // If queries were provided using `with` in the action configuration,
// they should take precedence over the queries in the config file // they should take precedence over the queries in the config file
// unless they're prefixed with "+", in which case they supplement those // unless they're prefixed with "+", in which case they supplement those
@@ -595,7 +593,6 @@ async function loadConfig(languagesInput, queriesInput, packsInput, configFile,
packs, packs,
originalUserInput: parsedYAML, originalUserInput: parsedYAML,
tempDir, tempDir,
toolCacheDir,
codeQLCmd: codeQL.getPath(), codeQLCmd: codeQL.getPath(),
gitHubVersion, gitHubVersion,
dbLocation: dbLocationOrDefault(dbLocation, tempDir), dbLocation: dbLocationOrDefault(dbLocation, tempDir),
@@ -616,7 +613,7 @@ const PACK_IDENTIFIER_PATTERN = (function () {
return new RegExp(`^${component}/${component}$`); return new RegExp(`^${component}/${component}$`);
})(); })();
// Exported for testing // Exported for testing
function parsePacksFromConfig(packsByLanguage, languages, configFile) { function parsePacksFromConfig(packsByLanguage, languages, configFile, logger) {
const packs = {}; const packs = {};
if (Array.isArray(packsByLanguage)) { if (Array.isArray(packsByLanguage)) {
if (languages.length === 1) { if (languages.length === 1) {
@@ -636,7 +633,15 @@ function parsePacksFromConfig(packsByLanguage, languages, configFile) {
throw new Error(getPacksInvalid(configFile)); throw new Error(getPacksInvalid(configFile));
} }
if (!languages.includes(lang)) { if (!languages.includes(lang)) {
throw new Error(getPacksRequireLanguage(lang, configFile)); // This particular language is not being analyzed in this run.
if (languages_1.Language[lang]) {
logger.info(`Ignoring packs for ${lang} since this language is not being analyzed in this run.`);
continue;
}
else {
// This language is invalid, probably a misspelling
throw new Error(getPacksRequireLanguage(configFile, lang));
}
} }
packs[lang] = []; packs[lang] = [];
for (const packStr of packsArr) { for (const packStr of packsArr) {
@@ -723,7 +728,13 @@ function validatePacksSpecification(packStr, configFile) {
} }
} }
if (packPath && if (packPath &&
(path.isAbsolute(packPath) || path.normalize(packPath) !== packPath)) { (path.isAbsolute(packPath) ||
// Permit using "/" instead of "\" on Windows
// Use `x.split(y).join(z)` as a polyfill for `x.replaceAll(y, z)` since
// if we used a regex we'd need to escape the path separator on Windows
// which seems more awkward.
path.normalize(packPath).split(path.sep).join("/") !==
packPath.split(path.sep).join("/"))) {
throw new Error(getPacksStrInvalid(packStr, configFile)); throw new Error(getPacksStrInvalid(packStr, configFile));
} }
if (!packPath && pathStart) { if (!packPath && pathStart) {
@@ -734,9 +745,9 @@ function validatePacksSpecification(packStr, configFile) {
} }
exports.validatePacksSpecification = validatePacksSpecification; exports.validatePacksSpecification = validatePacksSpecification;
// exported for testing // exported for testing
function parsePacks(rawPacksFromConfig, rawPacksInput, languages, configFile) { function parsePacks(rawPacksFromConfig, rawPacksInput, languages, configFile, logger) {
const packsFromInput = parsePacksFromInput(rawPacksInput, languages); const packsFromInput = parsePacksFromInput(rawPacksInput, languages);
const packsFomConfig = parsePacksFromConfig(rawPacksFromConfig, languages, configFile); const packsFomConfig = parsePacksFromConfig(rawPacksFromConfig, languages, configFile, logger);
if (!packsFromInput) { if (!packsFromInput) {
return packsFomConfig; return packsFomConfig;
} }
@@ -770,16 +781,16 @@ function dbLocationOrDefault(dbLocation, tempDir) {
* This will parse the config from the user input if present, or generate * This will parse the config from the user input if present, or generate
* a default config. The parsed config is then stored to a known location. * a default config. The parsed config is then stored to a known location.
*/ */
async function initConfig(languagesInput, queriesInput, packsInput, configFile, dbLocation, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, toolCacheDir, codeQL, workspacePath, gitHubVersion, apiDetails, featureFlags, logger) { async function initConfig(languagesInput, queriesInput, packsInput, configFile, dbLocation, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, codeQL, workspacePath, gitHubVersion, apiDetails, featureFlags, logger) {
var _a, _b, _c; var _a, _b, _c;
let config; let config;
// If no config file was provided create an empty one // If no config file was provided create an empty one
if (!configFile) { if (!configFile) {
logger.debug("No configuration file was provided"); logger.debug("No configuration file was provided");
config = await getDefaultConfig(languagesInput, queriesInput, packsInput, dbLocation, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, toolCacheDir, codeQL, workspacePath, gitHubVersion, apiDetails, featureFlags, logger); config = await getDefaultConfig(languagesInput, queriesInput, packsInput, dbLocation, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, codeQL, workspacePath, gitHubVersion, apiDetails, featureFlags, logger);
} }
else { else {
config = await loadConfig(languagesInput, queriesInput, packsInput, configFile, dbLocation, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, toolCacheDir, codeQL, workspacePath, gitHubVersion, apiDetails, featureFlags, logger); config = await loadConfig(languagesInput, queriesInput, packsInput, configFile, dbLocation, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, codeQL, workspacePath, gitHubVersion, apiDetails, featureFlags, logger);
} }
// The list of queries should not be empty for any language. If it is then // The list of queries should not be empty for any language. If it is then
// it is a user configuration error. // it is a user configuration error.
File diff suppressed because one or more lines are too long
+58 -49
View File
@@ -88,8 +88,8 @@ function mockListLanguages(languages) {
}; };
}, },
}); });
const config = await configUtils.initConfig(languages, undefined, undefined, undefined, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), logger); const config = await configUtils.initConfig(languages, undefined, undefined, undefined, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), logger);
t.deepEqual(config, await configUtils.getDefaultConfig(languages, undefined, undefined, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), logger)); t.deepEqual(config, await configUtils.getDefaultConfig(languages, undefined, undefined, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), logger));
}); });
}); });
(0, ava_1.default)("loading config saves config", async (t) => { (0, ava_1.default)("loading config saves config", async (t) => {
@@ -111,7 +111,7 @@ function mockListLanguages(languages) {
t.false(fs.existsSync(configUtils.getPathToParsedConfigFile(tmpDir))); t.false(fs.existsSync(configUtils.getPathToParsedConfigFile(tmpDir)));
// Sanity check that getConfig returns undefined before we have called initConfig // Sanity check that getConfig returns undefined before we have called initConfig
t.deepEqual(await configUtils.getConfig(tmpDir, logger), undefined); t.deepEqual(await configUtils.getConfig(tmpDir, logger), undefined);
const config1 = await configUtils.initConfig("javascript,python", undefined, undefined, undefined, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), logger); const config1 = await configUtils.initConfig("javascript,python", undefined, undefined, undefined, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), logger);
// The saved config file should now exist // The saved config file should now exist
t.true(fs.existsSync(configUtils.getPathToParsedConfigFile(tmpDir))); t.true(fs.existsSync(configUtils.getPathToParsedConfigFile(tmpDir)));
// And that same newly-initialised config should now be returned by getConfig // And that same newly-initialised config should now be returned by getConfig
@@ -125,7 +125,7 @@ function mockListLanguages(languages) {
(0, ava_1.default)("load input outside of workspace", async (t) => { (0, ava_1.default)("load input outside of workspace", async (t) => {
return await util.withTmpDir(async (tmpDir) => { return await util.withTmpDir(async (tmpDir) => {
try { try {
await configUtils.initConfig(undefined, undefined, undefined, "../input", undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, tmpDir, (0, codeql_1.getCachedCodeQL)(), tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); await configUtils.initConfig(undefined, undefined, undefined, "../input", undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, (0, codeql_1.getCachedCodeQL)(), tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true));
throw new Error("initConfig did not throw error"); throw new Error("initConfig did not throw error");
} }
catch (err) { catch (err) {
@@ -138,7 +138,7 @@ function mockListLanguages(languages) {
// no filename given, just a repo // no filename given, just a repo
const configFile = "octo-org/codeql-config@main"; const configFile = "octo-org/codeql-config@main";
try { try {
await configUtils.initConfig(undefined, undefined, undefined, configFile, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, tmpDir, (0, codeql_1.getCachedCodeQL)(), tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); await configUtils.initConfig(undefined, undefined, undefined, configFile, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, (0, codeql_1.getCachedCodeQL)(), tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true));
throw new Error("initConfig did not throw error"); throw new Error("initConfig did not throw error");
} }
catch (err) { catch (err) {
@@ -152,7 +152,7 @@ function mockListLanguages(languages) {
const configFile = "input"; const configFile = "input";
t.false(fs.existsSync(path.join(tmpDir, configFile))); t.false(fs.existsSync(path.join(tmpDir, configFile)));
try { try {
await configUtils.initConfig(languages, undefined, undefined, configFile, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, tmpDir, (0, codeql_1.getCachedCodeQL)(), tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); await configUtils.initConfig(languages, undefined, undefined, configFile, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, (0, codeql_1.getCachedCodeQL)(), tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true));
throw new Error("initConfig did not throw error"); throw new Error("initConfig did not throw error");
} }
catch (err) { catch (err) {
@@ -212,7 +212,6 @@ function mockListLanguages(languages) {
paths: ["c/d"], paths: ["c/d"],
}, },
tempDir: tmpDir, tempDir: tmpDir,
toolCacheDir: tmpDir,
codeQLCmd: codeQL.getPath(), codeQLCmd: codeQL.getPath(),
gitHubVersion, gitHubVersion,
dbLocation: path.resolve(tmpDir, "codeql_databases"), dbLocation: path.resolve(tmpDir, "codeql_databases"),
@@ -224,7 +223,7 @@ function mockListLanguages(languages) {
}; };
const languages = "javascript"; const languages = "javascript";
const configFilePath = createConfigFile(inputFileContents, tmpDir); const configFilePath = createConfigFile(inputFileContents, tmpDir);
const actualConfig = await configUtils.initConfig(languages, undefined, undefined, configFilePath, undefined, false, "my-artifact", "my-db", { owner: "github", repo: "example " }, tmpDir, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); const actualConfig = await configUtils.initConfig(languages, undefined, undefined, configFilePath, undefined, false, "my-artifact", "my-db", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true));
// Should exactly equal the object we constructed earlier // Should exactly equal the object we constructed earlier
t.deepEqual(actualConfig, expectedConfig); t.deepEqual(actualConfig, expectedConfig);
}); });
@@ -260,7 +259,7 @@ function mockListLanguages(languages) {
fs.mkdirSync(path.join(tmpDir, "foo")); fs.mkdirSync(path.join(tmpDir, "foo"));
const languages = "javascript"; const languages = "javascript";
const configFilePath = createConfigFile(inputFileContents, tmpDir); const configFilePath = createConfigFile(inputFileContents, tmpDir);
await configUtils.initConfig(languages, undefined, undefined, configFilePath, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); await configUtils.initConfig(languages, undefined, undefined, configFilePath, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true));
// Check resolve queries was called correctly // Check resolve queries was called correctly
t.deepEqual(resolveQueriesArgs.length, 1); t.deepEqual(resolveQueriesArgs.length, 1);
t.deepEqual(resolveQueriesArgs[0].queries, [ t.deepEqual(resolveQueriesArgs[0].queries, [
@@ -303,18 +302,18 @@ function queriesToResolvedQueryForm(queries) {
}, },
}); });
const languages = "javascript"; const languages = "javascript";
const config = await configUtils.initConfig(languages, undefined, undefined, configFilePath, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); const config = await configUtils.initConfig(languages, undefined, undefined, configFilePath, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true));
// Check resolveQueries was called correctly // Check resolveQueries was called correctly
// It'll be called once for the default queries // It'll be called once for the default queries
// and once for `./foo` from the config file. // and once for `./foo` from the config file.
t.deepEqual(resolveQueriesArgs.length, 2); t.deepEqual(resolveQueriesArgs.length, 2);
t.deepEqual(resolveQueriesArgs[1].queries.length, 1); t.deepEqual(resolveQueriesArgs[1].queries.length, 1);
t.regex(resolveQueriesArgs[1].queries[0], /.*\/foo$/); t.true(resolveQueriesArgs[1].queries[0].endsWith(`${path.sep}foo`));
// Now check that the end result contains the default queries and the query from config // Now check that the end result contains the default queries and the query from config
t.deepEqual(config.queries["javascript"].builtin.length, 1); t.deepEqual(config.queries["javascript"].builtin.length, 1);
t.deepEqual(config.queries["javascript"].custom.length, 1); t.deepEqual(config.queries["javascript"].custom.length, 1);
t.regex(config.queries["javascript"].builtin[0], /javascript-code-scanning.qls$/); t.true(config.queries["javascript"].builtin[0].endsWith("javascript-code-scanning.qls"));
t.regex(config.queries["javascript"].custom[0].queries[0], /.*\/foo$/); t.true(config.queries["javascript"].custom[0].queries[0].endsWith(`${path.sep}foo`));
}); });
}); });
(0, ava_1.default)("Queries from config file can be overridden in workflow file", async (t) => { (0, ava_1.default)("Queries from config file can be overridden in workflow file", async (t) => {
@@ -336,18 +335,18 @@ function queriesToResolvedQueryForm(queries) {
}, },
}); });
const languages = "javascript"; const languages = "javascript";
const config = await configUtils.initConfig(languages, testQueries, undefined, configFilePath, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); const config = await configUtils.initConfig(languages, testQueries, undefined, configFilePath, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true));
// Check resolveQueries was called correctly // Check resolveQueries was called correctly
// It'll be called once for the default queries and once for `./override`, // It'll be called once for the default queries and once for `./override`,
// but won't be called for './foo' from the config file. // but won't be called for './foo' from the config file.
t.deepEqual(resolveQueriesArgs.length, 2); t.deepEqual(resolveQueriesArgs.length, 2);
t.deepEqual(resolveQueriesArgs[1].queries.length, 1); t.deepEqual(resolveQueriesArgs[1].queries.length, 1);
t.regex(resolveQueriesArgs[1].queries[0], /.*\/override$/); t.true(resolveQueriesArgs[1].queries[0].endsWith(`${path.sep}override`));
// Now check that the end result contains only the default queries and the override query // Now check that the end result contains only the default queries and the override query
t.deepEqual(config.queries["javascript"].builtin.length, 1); t.deepEqual(config.queries["javascript"].builtin.length, 1);
t.deepEqual(config.queries["javascript"].custom.length, 1); t.deepEqual(config.queries["javascript"].custom.length, 1);
t.regex(config.queries["javascript"].builtin[0], /javascript-code-scanning.qls$/); t.true(config.queries["javascript"].builtin[0].endsWith("javascript-code-scanning.qls"));
t.regex(config.queries["javascript"].custom[0].queries[0], /.*\/override$/); t.true(config.queries["javascript"].custom[0].queries[0].endsWith(`${path.sep}override`));
}); });
}); });
(0, ava_1.default)("Queries in workflow file can be used in tandem with the 'disable default queries' option", async (t) => { (0, ava_1.default)("Queries in workflow file can be used in tandem with the 'disable default queries' option", async (t) => {
@@ -368,17 +367,17 @@ function queriesToResolvedQueryForm(queries) {
}, },
}); });
const languages = "javascript"; const languages = "javascript";
const config = await configUtils.initConfig(languages, testQueries, undefined, configFilePath, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); const config = await configUtils.initConfig(languages, testQueries, undefined, configFilePath, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true));
// Check resolveQueries was called correctly // Check resolveQueries was called correctly
// It'll be called once for `./workflow-query`, // It'll be called once for `./workflow-query`,
// but won't be called for the default one since that was disabled // but won't be called for the default one since that was disabled
t.deepEqual(resolveQueriesArgs.length, 1); t.deepEqual(resolveQueriesArgs.length, 1);
t.deepEqual(resolveQueriesArgs[0].queries.length, 1); t.deepEqual(resolveQueriesArgs[0].queries.length, 1);
t.regex(resolveQueriesArgs[0].queries[0], /.*\/workflow-query$/); t.true(resolveQueriesArgs[0].queries[0].endsWith(`${path.sep}workflow-query`));
// Now check that the end result contains only the workflow query, and not the default one // Now check that the end result contains only the workflow query, and not the default one
t.deepEqual(config.queries["javascript"].builtin.length, 0); t.deepEqual(config.queries["javascript"].builtin.length, 0);
t.deepEqual(config.queries["javascript"].custom.length, 1); t.deepEqual(config.queries["javascript"].custom.length, 1);
t.regex(config.queries["javascript"].custom[0].queries[0], /.*\/workflow-query$/); t.true(config.queries["javascript"].custom[0].queries[0].endsWith(`${path.sep}workflow-query`));
}); });
}); });
(0, ava_1.default)("Multiple queries can be specified in workflow file, no config file required", async (t) => { (0, ava_1.default)("Multiple queries can be specified in workflow file, no config file required", async (t) => {
@@ -394,21 +393,21 @@ function queriesToResolvedQueryForm(queries) {
}, },
}); });
const languages = "javascript"; const languages = "javascript";
const config = await configUtils.initConfig(languages, testQueries, undefined, undefined, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); const config = await configUtils.initConfig(languages, testQueries, undefined, undefined, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true));
// Check resolveQueries was called correctly: // Check resolveQueries was called correctly:
// It'll be called once for the default queries, // It'll be called once for the default queries,
// and then once for each of the two queries from the workflow // and then once for each of the two queries from the workflow
t.deepEqual(resolveQueriesArgs.length, 3); t.deepEqual(resolveQueriesArgs.length, 3);
t.deepEqual(resolveQueriesArgs[1].queries.length, 1); t.deepEqual(resolveQueriesArgs[1].queries.length, 1);
t.deepEqual(resolveQueriesArgs[2].queries.length, 1); t.deepEqual(resolveQueriesArgs[2].queries.length, 1);
t.regex(resolveQueriesArgs[1].queries[0], /.*\/override1$/); t.true(resolveQueriesArgs[1].queries[0].endsWith(`${path.sep}override1`));
t.regex(resolveQueriesArgs[2].queries[0], /.*\/override2$/); t.true(resolveQueriesArgs[2].queries[0].endsWith(`${path.sep}override2`));
// Now check that the end result contains both the queries from the workflow, as well as the defaults // Now check that the end result contains both the queries from the workflow, as well as the defaults
t.deepEqual(config.queries["javascript"].builtin.length, 1); t.deepEqual(config.queries["javascript"].builtin.length, 1);
t.deepEqual(config.queries["javascript"].custom.length, 2); t.deepEqual(config.queries["javascript"].custom.length, 2);
t.regex(config.queries["javascript"].builtin[0], /javascript-code-scanning.qls$/); t.true(config.queries["javascript"].builtin[0].endsWith("javascript-code-scanning.qls"));
t.regex(config.queries["javascript"].custom[0].queries[0], /.*\/override1$/); t.true(config.queries["javascript"].custom[0].queries[0].endsWith(`${path.sep}override1`));
t.regex(config.queries["javascript"].custom[1].queries[0], /.*\/override2$/); t.true(config.queries["javascript"].custom[1].queries[0].endsWith(`${path.sep}override2`));
}); });
}); });
(0, ava_1.default)("Queries in workflow file can be added to the set of queries without overriding config file", async (t) => { (0, ava_1.default)("Queries in workflow file can be added to the set of queries without overriding config file", async (t) => {
@@ -433,25 +432,25 @@ function queriesToResolvedQueryForm(queries) {
}, },
}); });
const languages = "javascript"; const languages = "javascript";
const config = await configUtils.initConfig(languages, testQueries, undefined, configFilePath, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); const config = await configUtils.initConfig(languages, testQueries, undefined, configFilePath, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true));
// Check resolveQueries was called correctly // Check resolveQueries was called correctly
// It'll be called once for the default queries, // It'll be called once for the default queries,
// once for each of additional1 and additional2, // once for each of additional1 and additional2,
// and once for './foo' from the config file // and once for './foo' from the config file
t.deepEqual(resolveQueriesArgs.length, 4); t.deepEqual(resolveQueriesArgs.length, 4);
t.deepEqual(resolveQueriesArgs[1].queries.length, 1); t.deepEqual(resolveQueriesArgs[1].queries.length, 1);
t.regex(resolveQueriesArgs[1].queries[0], /.*\/additional1$/); t.true(resolveQueriesArgs[1].queries[0].endsWith(`${path.sep}additional1`));
t.deepEqual(resolveQueriesArgs[2].queries.length, 1); t.deepEqual(resolveQueriesArgs[2].queries.length, 1);
t.regex(resolveQueriesArgs[2].queries[0], /.*\/additional2$/); t.true(resolveQueriesArgs[2].queries[0].endsWith(`${path.sep}additional2`));
t.deepEqual(resolveQueriesArgs[3].queries.length, 1); t.deepEqual(resolveQueriesArgs[3].queries.length, 1);
t.regex(resolveQueriesArgs[3].queries[0], /.*\/foo$/); t.true(resolveQueriesArgs[3].queries[0].endsWith(`${path.sep}foo`));
// Now check that the end result contains all the queries // Now check that the end result contains all the queries
t.deepEqual(config.queries["javascript"].builtin.length, 1); t.deepEqual(config.queries["javascript"].builtin.length, 1);
t.deepEqual(config.queries["javascript"].custom.length, 3); t.deepEqual(config.queries["javascript"].custom.length, 3);
t.regex(config.queries["javascript"].builtin[0], /javascript-code-scanning.qls$/); t.true(config.queries["javascript"].builtin[0].endsWith("javascript-code-scanning.qls"));
t.regex(config.queries["javascript"].custom[0].queries[0], /.*\/additional1$/); t.true(config.queries["javascript"].custom[0].queries[0].endsWith(`${path.sep}additional1`));
t.regex(config.queries["javascript"].custom[1].queries[0], /.*\/additional2$/); t.true(config.queries["javascript"].custom[1].queries[0].endsWith(`${path.sep}additional2`));
t.regex(config.queries["javascript"].custom[2].queries[0], /.*\/foo$/); t.true(config.queries["javascript"].custom[2].queries[0].endsWith(`${path.sep}foo`));
}); });
}); });
(0, ava_1.default)("Invalid queries in workflow file handled correctly", async (t) => { (0, ava_1.default)("Invalid queries in workflow file handled correctly", async (t) => {
@@ -472,7 +471,7 @@ function queriesToResolvedQueryForm(queries) {
}, },
}); });
try { try {
await configUtils.initConfig(languages, queries, undefined, undefined, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); await configUtils.initConfig(languages, queries, undefined, undefined, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true));
t.fail("initConfig did not throw error"); t.fail("initConfig did not throw error");
} }
catch (err) { catch (err) {
@@ -515,7 +514,7 @@ function queriesToResolvedQueryForm(queries) {
fs.mkdirSync(path.join(tmpDir, "foo/bar/dev"), { recursive: true }); fs.mkdirSync(path.join(tmpDir, "foo/bar/dev"), { recursive: true });
const configFile = "octo-org/codeql-config/config.yaml@main"; const configFile = "octo-org/codeql-config/config.yaml@main";
const languages = "javascript"; const languages = "javascript";
await configUtils.initConfig(languages, undefined, undefined, configFile, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); await configUtils.initConfig(languages, undefined, undefined, configFile, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true));
t.assert(spyGetContents.called); t.assert(spyGetContents.called);
}); });
}); });
@@ -525,7 +524,7 @@ function queriesToResolvedQueryForm(queries) {
mockGetContents(dummyResponse); mockGetContents(dummyResponse);
const repoReference = "octo-org/codeql-config/config.yaml@main"; const repoReference = "octo-org/codeql-config/config.yaml@main";
try { try {
await configUtils.initConfig(undefined, undefined, undefined, repoReference, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, tmpDir, (0, codeql_1.getCachedCodeQL)(), tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); await configUtils.initConfig(undefined, undefined, undefined, repoReference, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, (0, codeql_1.getCachedCodeQL)(), tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true));
throw new Error("initConfig did not throw error"); throw new Error("initConfig did not throw error");
} }
catch (err) { catch (err) {
@@ -541,7 +540,7 @@ function queriesToResolvedQueryForm(queries) {
mockGetContents(dummyResponse); mockGetContents(dummyResponse);
const repoReference = "octo-org/codeql-config/config.yaml@main"; const repoReference = "octo-org/codeql-config/config.yaml@main";
try { try {
await configUtils.initConfig(undefined, undefined, undefined, repoReference, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, tmpDir, (0, codeql_1.getCachedCodeQL)(), tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); await configUtils.initConfig(undefined, undefined, undefined, repoReference, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, (0, codeql_1.getCachedCodeQL)(), tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true));
throw new Error("initConfig did not throw error"); throw new Error("initConfig did not throw error");
} }
catch (err) { catch (err) {
@@ -558,7 +557,7 @@ function queriesToResolvedQueryForm(queries) {
}, },
}); });
try { try {
await configUtils.initConfig(undefined, undefined, undefined, undefined, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); await configUtils.initConfig(undefined, undefined, undefined, undefined, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true));
throw new Error("initConfig did not throw error"); throw new Error("initConfig did not throw error");
} }
catch (err) { catch (err) {
@@ -570,7 +569,7 @@ function queriesToResolvedQueryForm(queries) {
return await util.withTmpDir(async (tmpDir) => { return await util.withTmpDir(async (tmpDir) => {
const languages = "rubbish,english"; const languages = "rubbish,english";
try { try {
await configUtils.initConfig(languages, undefined, undefined, undefined, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, tmpDir, (0, codeql_1.getCachedCodeQL)(), tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); await configUtils.initConfig(languages, undefined, undefined, undefined, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, (0, codeql_1.getCachedCodeQL)(), tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true));
throw new Error("initConfig did not throw error"); throw new Error("initConfig did not throw error");
} }
catch (err) { catch (err) {
@@ -598,7 +597,7 @@ function queriesToResolvedQueryForm(queries) {
const configFile = path.join(tmpDir, "codeql-config.yaml"); const configFile = path.join(tmpDir, "codeql-config.yaml");
fs.writeFileSync(configFile, inputFileContents); fs.writeFileSync(configFile, inputFileContents);
const languages = "javascript"; const languages = "javascript";
const { packs } = await configUtils.initConfig(languages, undefined, undefined, configFile, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); const { packs } = await configUtils.initConfig(languages, undefined, undefined, configFile, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true));
t.deepEqual(packs, { t.deepEqual(packs, {
[languages_1.Language.javascript]: ["a/b@1.2.3"], [languages_1.Language.javascript]: ["a/b@1.2.3"],
}); });
@@ -632,7 +631,7 @@ function queriesToResolvedQueryForm(queries) {
fs.writeFileSync(configFile, inputFileContents); fs.writeFileSync(configFile, inputFileContents);
fs.mkdirSync(path.join(tmpDir, "foo")); fs.mkdirSync(path.join(tmpDir, "foo"));
const languages = "javascript,python,cpp"; const languages = "javascript,python,cpp";
const { packs, queries } = await configUtils.initConfig(languages, undefined, undefined, configFile, undefined, false, "", "", { owner: "github", repo: "example" }, tmpDir, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); const { packs, queries } = await configUtils.initConfig(languages, undefined, undefined, configFile, undefined, false, "", "", { owner: "github", repo: "example" }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true));
t.deepEqual(packs, { t.deepEqual(packs, {
[languages_1.Language.javascript]: ["a/b@1.2.3"], [languages_1.Language.javascript]: ["a/b@1.2.3"],
[languages_1.Language.python]: ["c/d@1.2.3"], [languages_1.Language.python]: ["c/d@1.2.3"],
@@ -675,7 +674,7 @@ function doInvalidInputTest(testName, inputFileContents, expectedErrorMessageGen
const inputFile = path.join(tmpDir, configFile); const inputFile = path.join(tmpDir, configFile);
fs.writeFileSync(inputFile, inputFileContents, "utf8"); fs.writeFileSync(inputFile, inputFileContents, "utf8");
try { try {
await configUtils.initConfig(languages, undefined, undefined, configFile, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); await configUtils.initConfig(languages, undefined, undefined, configFile, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true));
throw new Error("initConfig did not throw error"); throw new Error("initConfig did not throw error");
} }
catch (err) { catch (err) {
@@ -749,14 +748,14 @@ const invalidPaths = ["a/***/b", "a/**b", "a/b**", "**"];
* Test macro for ensuring the packs block is valid * Test macro for ensuring the packs block is valid
*/ */
const parsePacksMacro = ava_1.default.macro({ const parsePacksMacro = ava_1.default.macro({
exec: (t, packsByLanguage, languages, expected) => t.deepEqual(configUtils.parsePacksFromConfig(packsByLanguage, languages, "/a/b"), expected), exec: (t, packsByLanguage, languages, expected) => t.deepEqual(configUtils.parsePacksFromConfig(packsByLanguage, languages, "/a/b", mockLogger), expected),
title: (providedTitle = "") => `Parse Packs: ${providedTitle}`, title: (providedTitle = "") => `Parse Packs: ${providedTitle}`,
}); });
/** /**
* Test macro for testing when the packs block is invalid * Test macro for testing when the packs block is invalid
*/ */
const parsePacksErrorMacro = ava_1.default.macro({ const parsePacksErrorMacro = ava_1.default.macro({
exec: (t, packsByLanguage, languages, expected) => t.throws(() => configUtils.parsePacksFromConfig(packsByLanguage, languages, "/a/b"), { exec: (t, packsByLanguage, languages, expected) => t.throws(() => configUtils.parsePacksFromConfig(packsByLanguage, languages, "/a/b", {}), {
message: expected, message: expected,
}), }),
title: (providedTitle = "") => `Parse Packs Error: ${providedTitle}`, title: (providedTitle = "") => `Parse Packs Error: ${providedTitle}`,
@@ -782,6 +781,12 @@ const invalidPackNameMacro = ava_1.default.macro({
[languages_1.Language.cpp]: ["a/b", "c/d@1.2.3"], [languages_1.Language.cpp]: ["a/b", "c/d@1.2.3"],
[languages_1.Language.java]: ["d/e", "f/g@1.2.3"], [languages_1.Language.java]: ["d/e", "f/g@1.2.3"],
}); });
(0, ava_1.default)("two packs with unused language in config", parsePacksMacro, {
[languages_1.Language.cpp]: ["a/b", "c/d@1.2.3"],
[languages_1.Language.java]: ["d/e", "f/g@1.2.3"],
}, [languages_1.Language.cpp, languages_1.Language.csharp], {
[languages_1.Language.cpp]: ["a/b", "c/d@1.2.3"],
});
(0, ava_1.default)("packs with other valid names", parsePacksMacro, [ (0, ava_1.default)("packs with other valid names", parsePacksMacro, [
// ranges are ok // ranges are ok
"c/d@1.0", "c/d@1.0",
@@ -814,7 +819,6 @@ const invalidPackNameMacro = ava_1.default.macro({
], ],
}); });
(0, ava_1.default)("no language", parsePacksErrorMacro, ["a/b@1.2.3"], [languages_1.Language.java, languages_1.Language.python], /The configuration file "\/a\/b" is invalid: property "packs" must split packages by language/); (0, ava_1.default)("no language", parsePacksErrorMacro, ["a/b@1.2.3"], [languages_1.Language.java, languages_1.Language.python], /The configuration file "\/a\/b" is invalid: property "packs" must split packages by language/);
(0, ava_1.default)("invalid language", parsePacksErrorMacro, { [languages_1.Language.java]: ["c/d"] }, [languages_1.Language.cpp], /The configuration file "\/a\/b" is invalid: property "packs" has "java", but it is not one of the languages to analyze/);
(0, ava_1.default)("not an array", parsePacksErrorMacro, { [languages_1.Language.cpp]: "c/d" }, [languages_1.Language.cpp], /The configuration file "\/a\/b" is invalid: property "packs" must be an array of non-empty strings/); (0, ava_1.default)("not an array", parsePacksErrorMacro, { [languages_1.Language.cpp]: "c/d" }, [languages_1.Language.cpp], /The configuration file "\/a\/b" is invalid: property "packs" must be an array of non-empty strings/);
(0, ava_1.default)(invalidPackNameMacro, "c"); // all packs require at least a scope and a name (0, ava_1.default)(invalidPackNameMacro, "c"); // all packs require at least a scope and a name
(0, ava_1.default)(invalidPackNameMacro, "c-/d"); (0, ava_1.default)(invalidPackNameMacro, "c-/d");
@@ -832,12 +836,17 @@ const invalidPackNameMacro = ava_1.default.macro({
* Test macro for testing the packs block and the packs input * Test macro for testing the packs block and the packs input
*/ */
function parseInputAndConfigMacro(t, packsFromConfig, packsFromInput, languages, expected) { function parseInputAndConfigMacro(t, packsFromConfig, packsFromInput, languages, expected) {
t.deepEqual(configUtils.parsePacks(packsFromConfig, packsFromInput, languages, "/a/b"), expected); t.deepEqual(configUtils.parsePacks(packsFromConfig, packsFromInput, languages, "/a/b", mockLogger), expected);
} }
parseInputAndConfigMacro.title = (providedTitle) => `Parse Packs input and config: ${providedTitle}`; parseInputAndConfigMacro.title = (providedTitle) => `Parse Packs input and config: ${providedTitle}`;
const mockLogger = {
info: (message) => {
console.log(message);
},
};
function parseInputAndConfigErrorMacro(t, packsFromConfig, packsFromInput, languages, expected) { function parseInputAndConfigErrorMacro(t, packsFromConfig, packsFromInput, languages, expected) {
t.throws(() => { t.throws(() => {
configUtils.parsePacks(packsFromConfig, packsFromInput, languages, "/a/b"); configUtils.parsePacks(packsFromConfig, packsFromInput, languages, "/a/b", mockLogger);
}, { }, {
message: expected, message: expected,
}); });
@@ -882,7 +891,7 @@ const mlPoweredQueriesMacro = ava_1.default.macro({
}; };
}, },
}); });
const { packs } = await configUtils.initConfig("javascript", queriesInput, packsInput, undefined, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)(isMlPoweredQueriesFlagEnabled const { packs } = await configUtils.initConfig("javascript", queriesInput, packsInput, undefined, undefined, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)(isMlPoweredQueriesFlagEnabled
? [feature_flags_1.FeatureFlag.MlPoweredQueriesEnabled] ? [feature_flags_1.FeatureFlag.MlPoweredQueriesEnabled]
: []), (0, logging_1.getRunnerLogger)(true)); : []), (0, logging_1.getRunnerLogger)(true));
if (expectedVersionString !== undefined) { if (expectedVersionString !== undefined) {
File diff suppressed because one or more lines are too long
-1
View File
@@ -50,7 +50,6 @@ function getTestConfig(tmpDir) {
paths: [], paths: [],
originalUserInput: {}, originalUserInput: {},
tempDir: tmpDir, tempDir: tmpDir,
toolCacheDir: tmpDir,
codeQLCmd: "foo", codeQLCmd: "foo",
gitHubVersion: { type: util_1.GitHubVariant.DOTCOM }, gitHubVersion: { type: util_1.GitHubVariant.DOTCOM },
dbLocation: tmpDir, dbLocation: tmpDir,
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,3 +1,3 @@
{ {
"bundleVersion": "codeql-bundle-20220615" "bundleVersion": "codeql-bundle-20220623"
} }
+2 -1
View File
@@ -24,6 +24,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.addFingerprints = exports.resolveUriToFile = exports.hash = void 0; exports.addFingerprints = exports.resolveUriToFile = exports.hash = void 0;
const fs = __importStar(require("fs")); const fs = __importStar(require("fs"));
const path_1 = __importDefault(require("path"));
const long_1 = __importDefault(require("long")); const long_1 = __importDefault(require("long"));
const tab = "\t".charCodeAt(0); const tab = "\t".charCodeAt(0);
const space = " ".charCodeAt(0); const space = " ".charCodeAt(0);
@@ -209,7 +210,7 @@ function resolveUriToFile(location, artifacts, sourceRoot, logger) {
// Just assume a relative path is relative to the src root. // Just assume a relative path is relative to the src root.
// This is not necessarily true but should be a good approximation // This is not necessarily true but should be a good approximation
// and here we likely want to err on the side of handling more cases. // and here we likely want to err on the side of handling more cases.
if (!uri.startsWith("/")) { if (!path_1.default.isAbsolute(uri)) {
uri = srcRootPrefix + uri; uri = srcRootPrefix + uri;
} }
// Check the file exists // Check the file exists
File diff suppressed because one or more lines are too long
+8 -6
View File
@@ -131,20 +131,22 @@ function testResolveUriToFile(uri, index, artifactsURIs) {
return fingerprints.resolveUriToFile(location, artifacts, process.cwd(), (0, logging_1.getRunnerLogger)(true)); return fingerprints.resolveUriToFile(location, artifacts, process.cwd(), (0, logging_1.getRunnerLogger)(true));
} }
(0, ava_1.default)("resolveUriToFile", (t) => { (0, ava_1.default)("resolveUriToFile", (t) => {
var _a, _b;
// The resolveUriToFile method checks that the file exists and is in the right directory // The resolveUriToFile method checks that the file exists and is in the right directory
// so we need to give it real files to look at. We will use this file as an example. // so we need to give it real files to look at. We will use this file as an example.
// For this to work we require the current working directory to be a parent, but this // For this to work we require the current working directory to be a parent, but this
// should generally always be the case so this is fine. // should generally always be the case so this is fine.
const cwd = process.cwd(); const filepath = __filename.split(path.sep).join("/");
const filepath = __filename; const relativeFilepath = path
t.true(filepath.startsWith(`${cwd}/`)); .relative(process.cwd(), __filename)
const relativeFilepath = filepath.substring(cwd.length + 1); .split(path.sep)
.join("/");
// Absolute paths are unmodified // Absolute paths are unmodified
t.is(testResolveUriToFile(filepath, undefined, []), filepath); t.is(testResolveUriToFile(filepath, undefined, []), filepath);
t.is(testResolveUriToFile(`file://${filepath}`, undefined, []), filepath); t.is(testResolveUriToFile(`file://${filepath}`, undefined, []), filepath);
// Relative paths are made absolute // Relative paths are made absolute
t.is(testResolveUriToFile(relativeFilepath, undefined, []), filepath); t.is((_a = testResolveUriToFile(relativeFilepath, undefined, [])) === null || _a === void 0 ? void 0 : _a.split(path.sep).join("/"), filepath);
t.is(testResolveUriToFile(`file://${relativeFilepath}`, undefined, []), filepath); t.is((_b = testResolveUriToFile(`file://${relativeFilepath}`, undefined, [])) === null || _b === void 0 ? void 0 : _b.split(path.sep).join("/"), filepath);
// Absolute paths outside the src root are discarded // Absolute paths outside the src root are discarded
t.is(testResolveUriToFile("/src/foo/bar.js", undefined, []), undefined); t.is(testResolveUriToFile("/src/foo/bar.js", undefined, []), undefined);
t.is(testResolveUriToFile("file:///src/foo/bar.js", undefined, []), undefined); t.is(testResolveUriToFile("file:///src/foo/bar.js", undefined, []), undefined);
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -89,11 +89,11 @@ async function run() {
if (!(await (0, actions_util_1.sendStatusReport)(await (0, actions_util_1.createStatusReportBase)("init", "starting", startedAt, workflowErrors)))) { if (!(await (0, actions_util_1.sendStatusReport)(await (0, actions_util_1.createStatusReportBase)("init", "starting", startedAt, workflowErrors)))) {
return; return;
} }
const initCodeQLResult = await (0, init_1.initCodeQL)((0, actions_util_1.getOptionalInput)("tools"), apiDetails, (0, actions_util_1.getTemporaryDirectory)(), (0, actions_util_1.getToolCacheDirectory)(), gitHubVersion.type, logger); const initCodeQLResult = await (0, init_1.initCodeQL)((0, actions_util_1.getOptionalInput)("tools"), apiDetails, (0, actions_util_1.getTemporaryDirectory)(), gitHubVersion.type, logger);
codeql = initCodeQLResult.codeql; codeql = initCodeQLResult.codeql;
toolsVersion = initCodeQLResult.toolsVersion; toolsVersion = initCodeQLResult.toolsVersion;
await (0, util_1.enrichEnvironment)(util_1.Mode.actions, codeql); await (0, util_1.enrichEnvironment)(util_1.Mode.actions, codeql);
config = await (0, init_1.initConfig)((0, actions_util_1.getOptionalInput)("languages"), (0, actions_util_1.getOptionalInput)("queries"), (0, actions_util_1.getOptionalInput)("packs"), (0, actions_util_1.getOptionalInput)("config-file"), (0, actions_util_1.getOptionalInput)("db-location"), (0, actions_util_1.getOptionalInput)("debug") === "true", (0, actions_util_1.getOptionalInput)("debug-artifact-name") || util_1.DEFAULT_DEBUG_ARTIFACT_NAME, (0, actions_util_1.getOptionalInput)("debug-database-name") || util_1.DEFAULT_DEBUG_DATABASE_NAME, repositoryNwo, (0, actions_util_1.getTemporaryDirectory)(), (0, util_1.getRequiredEnvParam)("RUNNER_TOOL_CACHE"), codeql, (0, util_1.getRequiredEnvParam)("GITHUB_WORKSPACE"), gitHubVersion, apiDetails, featureFlags, logger); config = await (0, init_1.initConfig)((0, actions_util_1.getOptionalInput)("languages"), (0, actions_util_1.getOptionalInput)("queries"), (0, actions_util_1.getOptionalInput)("packs"), (0, actions_util_1.getOptionalInput)("config-file"), (0, actions_util_1.getOptionalInput)("db-location"), (0, actions_util_1.getOptionalInput)("debug") === "true", (0, actions_util_1.getOptionalInput)("debug-artifact-name") || util_1.DEFAULT_DEBUG_ARTIFACT_NAME, (0, actions_util_1.getOptionalInput)("debug-database-name") || util_1.DEFAULT_DEBUG_DATABASE_NAME, repositoryNwo, (0, actions_util_1.getTemporaryDirectory)(), codeql, (0, util_1.getRequiredEnvParam)("GITHUB_WORKSPACE"), gitHubVersion, apiDetails, featureFlags, logger);
if (config.languages.includes(languages_1.Language.python) && if (config.languages.includes(languages_1.Language.python) &&
(0, actions_util_1.getRequiredInput)("setup-python-dependencies") === "true") { (0, actions_util_1.getRequiredInput)("setup-python-dependencies") === "true") {
try { try {
File diff suppressed because one or more lines are too long
Generated
+8 -5
View File
@@ -30,17 +30,17 @@ const configUtils = __importStar(require("./config-utils"));
const tracer_config_1 = require("./tracer-config"); const tracer_config_1 = require("./tracer-config");
const util = __importStar(require("./util")); const util = __importStar(require("./util"));
const util_1 = require("./util"); const util_1 = require("./util");
async function initCodeQL(codeqlURL, apiDetails, tempDir, toolCacheDir, variant, logger) { async function initCodeQL(codeqlURL, apiDetails, tempDir, variant, logger) {
logger.startGroup("Setup CodeQL tools"); logger.startGroup("Setup CodeQL tools");
const { codeql, toolsVersion } = await (0, codeql_1.setupCodeQL)(codeqlURL, apiDetails, tempDir, toolCacheDir, variant, logger, true); const { codeql, toolsVersion } = await (0, codeql_1.setupCodeQL)(codeqlURL, apiDetails, tempDir, variant, logger, true);
await codeql.printVersion(); await codeql.printVersion();
logger.endGroup(); logger.endGroup();
return { codeql, toolsVersion }; return { codeql, toolsVersion };
} }
exports.initCodeQL = initCodeQL; exports.initCodeQL = initCodeQL;
async function initConfig(languagesInput, queriesInput, packsInput, configFile, dbLocation, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, toolCacheDir, codeQL, workspacePath, gitHubVersion, apiDetails, featureFlags, logger) { async function initConfig(languagesInput, queriesInput, packsInput, configFile, dbLocation, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, codeQL, workspacePath, gitHubVersion, apiDetails, featureFlags, logger) {
logger.startGroup("Load language configuration"); logger.startGroup("Load language configuration");
const config = await configUtils.initConfig(languagesInput, queriesInput, packsInput, configFile, dbLocation, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, toolCacheDir, codeQL, workspacePath, gitHubVersion, apiDetails, featureFlags, logger); const config = await configUtils.initConfig(languagesInput, queriesInput, packsInput, configFile, dbLocation, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, codeQL, workspacePath, gitHubVersion, apiDetails, featureFlags, logger);
analysisPaths.printPathFiltersWarning(config, logger); analysisPaths.printPathFiltersWarning(config, logger);
logger.endGroup(); logger.endGroup();
return config; return config;
@@ -179,12 +179,15 @@ async function installPythonDeps(codeql, logger) {
if (process.platform === "win32") { if (process.platform === "win32") {
await new toolrunner.ToolRunner(await safeWhich.safeWhich("py"), [ await new toolrunner.ToolRunner(await safeWhich.safeWhich("py"), [
"-3", "-3",
"-B",
path.join(scriptsFolder, script), path.join(scriptsFolder, script),
path.dirname(codeql.getPath()), path.dirname(codeql.getPath()),
]).exec(); ]).exec();
} }
else { else {
await new toolrunner.ToolRunner(path.join(scriptsFolder, script), [ await new toolrunner.ToolRunner(await safeWhich.safeWhich("python3"), [
"-B",
path.join(scriptsFolder, script),
path.dirname(codeql.getPath()), path.dirname(codeql.getPath()),
]).exec(); ]).exec();
} }
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAE7B,yEAA2D;AAC3D,kEAAoD;AAEpD,gEAAkD;AAElD,qCAA2E;AAC3E,4DAA8C;AAI9C,mDAAwE;AACxE,6CAA+B;AAC/B,iCAA4C;AAErC,KAAK,UAAU,UAAU,CAC9B,SAA6B,EAC7B,UAA4B,EAC5B,OAAe,EACf,YAAoB,EACpB,OAA2B,EAC3B,MAAc;IAEd,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;IACxC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,oBAAW,EAChD,SAAS,EACT,UAAU,EACV,OAAO,EACP,YAAY,EACZ,OAAO,EACP,MAAM,EACN,IAAI,CACL,CAAC;IACF,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC;IAC5B,MAAM,CAAC,QAAQ,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AAClC,CAAC;AArBD,gCAqBC;AAEM,KAAK,UAAU,UAAU,CAC9B,cAAkC,EAClC,YAAgC,EAChC,UAA8B,EAC9B,UAA8B,EAC9B,UAA8B,EAC9B,SAAkB,EAClB,iBAAyB,EACzB,iBAAyB,EACzB,UAAyB,EACzB,OAAe,EACf,YAAoB,EACpB,MAAc,EACd,aAAqB,EACrB,aAAiC,EACjC,UAAoC,EACpC,YAA0B,EAC1B,MAAc;IAEd,MAAM,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,UAAU,CACzC,cAAc,EACd,YAAY,EACZ,UAAU,EACV,UAAU,EACV,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACV,OAAO,EACP,YAAY,EACZ,MAAM,EACN,aAAa,EACb,aAAa,EACb,UAAU,EACV,YAAY,EACZ,MAAM,CACP,CAAC;IACF,aAAa,CAAC,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtD,MAAM,CAAC,QAAQ,EAAE,CAAC;IAClB,OAAO,MAAM,CAAC;AAChB,CAAC;AA1CD,gCA0CC;AAEM,KAAK,UAAU,OAAO,CAC3B,MAAc,EACd,MAA0B,EAC1B,UAAkB,EAClB,WAA+B,EAC/B,YAAgC,EAChC,YAA0B;;IAE1B,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAErD,IAAI;QACF,IAAI,MAAM,IAAA,yBAAkB,EAAC,MAAM,EAAE,mCAA0B,CAAC,EAAE;YAChE,0BAA0B;YAC1B,MAAM,MAAM,CAAC,mBAAmB,CAC9B,MAAM,EACN,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,CACb,CAAC;SACH;aAAM;YACL,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE;gBACvC,yBAAyB;gBACzB,MAAM,MAAM,CAAC,YAAY,CACvB,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC5C,QAAQ,EACR,UAAU,CACX,CAAC;aACH;SACF;KACF;IAAC,OAAO,CAAC,EAAE;QACV,kDAAkD;QAClD,yCAAyC;QACzC,IACE,CAAC,YAAY,KAAK;aAClB,MAAA,CAAC,CAAC,OAAO,0CAAE,QAAQ,CAAC,8BAA8B,CAAC,CAAA;YACnD,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,uCAAuC,CAAC,EAC3D;YACA,MAAM,IAAI,IAAI,CAAC,SAAS,CACtB,sDAAsD,CAAC,CAAC,OAAO,EAAE,CAClE,CAAC;SACH;aAAM,IACL,CAAC,YAAY,KAAK;aAClB,MAAA,CAAC,CAAC,OAAO,0CAAE,QAAQ,CAAC,wCAAwC,CAAC,CAAA,EAC7D;YACA,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;SACrC;aAAM;YACL,MAAM,CAAC,CAAC;SACT;KACF;IACD,OAAO,MAAM,IAAA,uCAAuB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC;AAnDD,0BAmDC;AAED,sEAAsE;AACtE,4EAA4E;AAC5E,4EAA4E;AAC5E,6EAA6E;AAC7E,+CAA+C;AACxC,KAAK,UAAU,mBAAmB,CACvC,WAA+B,EAC/B,YAAgC,EAChC,MAA0B,EAC1B,MAAc,EACd,YAA0B;IAE1B,IAAI,MAAc,CAAC;IACnB,IAAI,WAAW,KAAK,SAAS,EAAE;QAC7B,MAAM,GAAG;;;;;;;;;;;;uCAY0B,WAAW;;8BAEpB,WAAW;;;;;;;;gDAQO,CAAC;KAC9C;SAAM;QACL,oEAAoE;QACpE,mFAAmF;QACnF,+EAA+E;QAC/E,kFAAkF;QAClF,6EAA6E;QAC7E,oFAAoF;QACpF,6CAA6C;QAC7C,YAAY,GAAG,YAAY,IAAI,CAAC,CAAC;QACjC,MAAM,GAAG;;;;;;;;4BAQe,YAAY;;;;;;;;;;;;;;;;;;;;;gDAqBQ,CAAC;KAC9C;IAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IACxE,EAAE,CAAC,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAE3C,MAAM,IAAI,UAAU,CAAC,UAAU,CAC7B,MAAM,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,EACvC;QACE,kBAAkB;QAClB,QAAQ;QACR,OAAO;QACP,gBAAgB;QAChB,IAAI,CAAC,OAAO,CACV,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAC9B,OAAO,EACP,OAAO,EACP,YAAY,CACb;KACF,EACD,EAAE,GAAG,EAAE,EAAE,0BAA0B,EAAE,YAAY,CAAC,IAAI,EAAE,EAAE,CAC3D,CAAC,IAAI,EAAE,CAAC;AACX,CAAC;AA5FD,kDA4FC;AAEM,KAAK,UAAU,iBAAiB,CAAC,MAAc,EAAE,MAAc;IACpE,MAAM,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC;IAE/C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAEjE,IAAI;QACF,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;YAChC,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE;gBACvE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,mBAAmB,CAAC;aAC9C,CAAC,CAAC,IAAI,EAAE,CAAC;SACX;aAAM;YACL,MAAM,IAAI,UAAU,CAAC,UAAU,CAC7B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAC7C,CAAC,IAAI,EAAE,CAAC;SACV;QACD,MAAM,MAAM,GAAG,0BAA0B,CAAC;QAC1C,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;YAChC,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBAC/D,IAAI;gBACJ,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC;gBAChC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;aAC/B,CAAC,CAAC,IAAI,EAAE,CAAC;SACX;aAAM;YACL,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE;gBAChE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;aAC/B,CAAC,CAAC,IAAI,EAAE,CAAC;SACX;KACF;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,CAAC,OAAO,CACZ,gFAAgF,CAAC,IAAI;YACnF,qGAAqG;YACrG,oGAAoG;YACpG,iDAAiD,CACpD,CAAC;QACF,OAAO;KACR;IACD,MAAM,CAAC,QAAQ,EAAE,CAAC;AACpB,CAAC;AAtCD,8CAsCC"} {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
Generated
+3 -12
View File
@@ -23,7 +23,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
const fs = __importStar(require("fs")); const fs = __importStar(require("fs"));
const os = __importStar(require("os"));
const path = __importStar(require("path")); const path = __importStar(require("path"));
const commander_1 = require("commander"); const commander_1 = require("commander");
const del_1 = __importDefault(require("del")); const del_1 = __importDefault(require("del"));
@@ -51,13 +50,6 @@ function getTempDir(userInput) {
} }
return tempDir; return tempDir;
} }
function getToolsDir(userInput) {
const toolsDir = userInput || path.join(os.homedir(), "codeql-runner-tools");
if (!fs.existsSync(toolsDir)) {
fs.mkdirSync(toolsDir, { recursive: true });
}
return toolsDir;
}
const codeqlEnvJsonFilename = "codeql-env.json"; const codeqlEnvJsonFilename = "codeql-env.json";
function loadTracerEnvironment(config) { function loadTracerEnvironment(config) {
const jsonEnvFile = path.join(config.tempDir, codeqlEnvJsonFilename); const jsonEnvFile = path.join(config.tempDir, codeqlEnvJsonFilename);
@@ -134,7 +126,6 @@ program
const logger = (0, logging_1.getRunnerLogger)(cmd.debug); const logger = (0, logging_1.getRunnerLogger)(cmd.debug);
try { try {
const tempDir = getTempDir(cmd.tempDir); const tempDir = getTempDir(cmd.tempDir);
const toolsDir = getToolsDir(cmd.toolsDir);
const checkoutPath = cmd.checkoutPath || process.cwd(); const checkoutPath = cmd.checkoutPath || process.cwd();
// Wipe the temp dir // Wipe the temp dir
logger.info(`Cleaning temp directory ${tempDir}`); logger.info(`Cleaning temp directory ${tempDir}`);
@@ -160,11 +151,11 @@ program
codeql = await (0, codeql_1.getCodeQL)(cmd.codeqlPath); codeql = await (0, codeql_1.getCodeQL)(cmd.codeqlPath);
} }
else { else {
codeql = (await (0, init_1.initCodeQL)(undefined, apiDetails, tempDir, toolsDir, gitHubVersion.type, logger)).codeql; codeql = (await (0, init_1.initCodeQL)(undefined, apiDetails, tempDir, gitHubVersion.type, logger)).codeql;
} }
await (0, util_1.enrichEnvironment)(util_1.Mode.runner, codeql); await (0, util_1.enrichEnvironment)(util_1.Mode.runner, codeql);
const workspacePath = checkoutPath; const workspacePath = checkoutPath;
const config = await (0, init_1.initConfig)(cmd.languages, cmd.queries, cmd.packs, cmd.configFile, undefined, false, "", "", (0, repository_1.parseRepositoryNwo)(cmd.repository), tempDir, toolsDir, codeql, workspacePath, gitHubVersion, apiDetails, (0, feature_flags_1.createFeatureFlags)([]), logger); const config = await (0, init_1.initConfig)(cmd.languages, cmd.queries, cmd.packs, cmd.configFile, undefined, false, "", "", (0, repository_1.parseRepositoryNwo)(cmd.repository), tempDir, codeql, workspacePath, gitHubVersion, apiDetails, (0, feature_flags_1.createFeatureFlags)([]), logger);
const sourceRoot = checkoutPath; const sourceRoot = checkoutPath;
const tracerConfig = await (0, init_1.runInit)(codeql, config, sourceRoot, parseTraceProcessName(), parseTraceProcessLevel(), (0, feature_flags_1.createFeatureFlags)([])); const tracerConfig = await (0, init_1.runInit)(codeql, config, sourceRoot, parseTraceProcessName(), parseTraceProcessLevel(), (0, feature_flags_1.createFeatureFlags)([]));
if (tracerConfig === undefined) { if (tracerConfig === undefined) {
@@ -297,7 +288,7 @@ program
} }
const threads = (0, util_1.getThreadsFlag)(cmd.threads || initEnv["CODEQL_THREADS"], logger); const threads = (0, util_1.getThreadsFlag)(cmd.threads || initEnv["CODEQL_THREADS"], logger);
const memory = (0, util_1.getMemoryFlag)(cmd.ram || initEnv["CODEQL_RAM"]); const memory = (0, util_1.getMemoryFlag)(cmd.ram || initEnv["CODEQL_RAM"]);
await (0, analyze_1.runFinalize)(outputDir, threads, memory, config, logger); await (0, analyze_1.runFinalize)(outputDir, threads, memory, config, logger, (0, feature_flags_1.createFeatureFlags)([]));
await (0, analyze_1.runQueries)(outputDir, memory, (0, util_1.getAddSnippetsFlag)(cmd.addSnippets), threads, cmd.category, config, logger); await (0, analyze_1.runQueries)(outputDir, memory, (0, util_1.getAddSnippetsFlag)(cmd.addSnippets), threads, cmd.category, config, logger);
if (!cmd.upload) { if (!cmd.upload) {
logger.info("Not uploading results"); logger.info("Not uploading results");
+1 -1
View File
File diff suppressed because one or more lines are too long
+7
View File
@@ -64,6 +64,13 @@ function setupTests(test) {
const processStderrWrite = process.stderr.write.bind(process.stderr); const processStderrWrite = process.stderr.write.bind(process.stderr);
t.context.stderrWrite = processStderrWrite; t.context.stderrWrite = processStderrWrite;
process.stderr.write = wrapOutput(t.context); process.stderr.write = wrapOutput(t.context);
// Workaround an issue in tests where the case insensitivity of the `$PATH`
// environment variable on Windows isn't preserved, i.e. `process.env.PATH`
// is not the same as `process.env.Path`.
const pathKeys = Object.keys(process.env).filter((k) => k.toLowerCase() === "path");
if (pathKeys.length > 0) {
process.env.PATH = process.env[pathKeys[0]];
}
// Many tests modify environment variables. Take a copy now so that // Many tests modify environment variables. Take a copy now so that
// we reset them after the test to keep tests independent of each other. // we reset them after the test to keep tests independent of each other.
// process.env only has strings fields, so a shallow copy is fine. // process.env only has strings fields, so a shallow copy is fine.
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"testing-utils.js","sourceRoot":"","sources":["../src/testing-utils.ts"],"names":[],"mappings":"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"} {"version":3,"file":"testing-utils.js","sourceRoot":"","sources":["../src/testing-utils.ts"],"names":[],"mappings":"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"}
+285 -285
View File
@@ -1,286 +1,286 @@
"use strict"; "use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k; if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) { }) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k; if (k2 === undefined) k2 = k;
o[k2] = m[k]; o[k2] = m[k];
})); }));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v }); Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) { }) : function(o, v) {
o["default"] = v; o["default"] = v;
}); });
var __importStar = (this && this.__importStar) || function (mod) { var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod; if (mod && mod.__esModule) return mod;
var result = {}; var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod); __setModuleDefault(result, mod);
return result; return result;
}; };
var __importDefault = (this && this.__importDefault) || function (mod) { var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod }; return (mod && mod.__esModule) ? mod : { "default": mod };
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.downloadTool = exports.findAllVersions = exports.find = exports.cacheDir = exports.extractTar = void 0; exports.downloadTool = exports.findAllVersions = exports.find = exports.cacheDir = exports.extractTar = void 0;
const fs = __importStar(require("fs")); const fs = __importStar(require("fs"));
const os = __importStar(require("os")); const os = __importStar(require("os"));
const path = __importStar(require("path")); const path = __importStar(require("path"));
const toolrunner = __importStar(require("@actions/exec/lib/toolrunner")); const toolrunner = __importStar(require("@actions/exec/lib/toolrunner"));
const io = __importStar(require("@actions/io")); const io = __importStar(require("@actions/io"));
const actionsToolcache = __importStar(require("@actions/tool-cache")); const actionsToolcache = __importStar(require("@actions/tool-cache"));
const safeWhich = __importStar(require("@chrisgavin/safe-which")); const safeWhich = __importStar(require("@chrisgavin/safe-which"));
const del_1 = __importDefault(require("del")); const del_1 = __importDefault(require("del"));
const semver = __importStar(require("semver")); const semver = __importStar(require("semver"));
const uuid_1 = require("uuid"); const uuid_1 = require("uuid");
const util_1 = require("./util"); const util_1 = require("./util");
/* /*
* This file acts as an interface to the functionality of the actions toolcache. * This file acts as an interface to the functionality of the actions toolcache.
* That library is not safe to use outside of actions as it makes assumptions about * That library is not safe to use outside of actions as it makes assumptions about
* the state of the filesystem and available environment variables. * the state of the filesystem and available environment variables.
* *
* On actions we can just delegate to the toolcache library, however outside of * On actions we can just delegate to the toolcache library, however outside of
* actions we provide our own implementation. * actions we provide our own implementation.
*/ */
/** /**
* Extract a compressed tar archive. * Extract a compressed tar archive.
* *
* See extractTar function from node_modules/@actions/tool-cache/lib/tool-cache.d.ts * See extractTar function from node_modules/@actions/tool-cache/lib/tool-cache.d.ts
* *
* @param file path to the tar * @param file path to the tar
* @param mode should run the actions or runner implementation * @param mode should run the actions or runner implementation
* @param tempDir path to the temporary directory * @param tempDir path to the temporary directory
* @param logger logger to use * @param logger logger to use
* @returns path to the destination directory * @returns path to the destination directory
*/ */
async function extractTar(file, tempDir, logger) { async function extractTar(file, tempDir, logger) {
if ((0, util_1.isActions)()) { if ((0, util_1.isActions)()) {
return await actionsToolcache.extractTar(file); return await actionsToolcache.extractTar(file);
} }
else { else {
// Initial implementation copied from node_modules/@actions/tool-cache/lib/tool-cache.js // Initial implementation copied from node_modules/@actions/tool-cache/lib/tool-cache.js
if (!file) { if (!file) {
throw new Error("parameter 'file' is required"); throw new Error("parameter 'file' is required");
} }
// Create dest // Create dest
const dest = createExtractFolder(tempDir); const dest = createExtractFolder(tempDir);
// Determine whether GNU tar // Determine whether GNU tar
logger.debug("Checking tar --version"); logger.debug("Checking tar --version");
let versionOutput = ""; let versionOutput = "";
await new toolrunner.ToolRunner(await safeWhich.safeWhich("tar"), ["--version"], { await new toolrunner.ToolRunner(await safeWhich.safeWhich("tar"), ["--version"], {
ignoreReturnCode: true, ignoreReturnCode: true,
silent: true, silent: true,
listeners: { listeners: {
stdout: (data) => (versionOutput += data.toString()), stdout: (data) => (versionOutput += data.toString()),
stderr: (data) => (versionOutput += data.toString()), stderr: (data) => (versionOutput += data.toString()),
}, },
}).exec(); }).exec();
logger.debug(versionOutput.trim()); logger.debug(versionOutput.trim());
const isGnuTar = versionOutput.toUpperCase().includes("GNU TAR"); const isGnuTar = versionOutput.toUpperCase().includes("GNU TAR");
// Initialize args // Initialize args
const args = ["xz"]; const args = ["xz"];
if (logger.isDebug()) { if (logger.isDebug()) {
args.push("-v"); args.push("-v");
} }
let destArg = dest; let destArg = dest;
let fileArg = file; let fileArg = file;
if (process.platform === "win32" && isGnuTar) { if (process.platform === "win32" && isGnuTar) {
args.push("--force-local"); args.push("--force-local");
destArg = dest.replace(/\\/g, "/"); destArg = dest.replace(/\\/g, "/");
// Technically only the dest needs to have `/` but for aesthetic consistency // Technically only the dest needs to have `/` but for aesthetic consistency
// convert slashes in the file arg too. // convert slashes in the file arg too.
fileArg = file.replace(/\\/g, "/"); fileArg = file.replace(/\\/g, "/");
} }
if (isGnuTar) { if (isGnuTar) {
// Suppress warnings when using GNU tar to extract archives created by BSD tar // Suppress warnings when using GNU tar to extract archives created by BSD tar
args.push("--warning=no-unknown-keyword"); args.push("--warning=no-unknown-keyword");
} }
args.push("-C", destArg, "-f", fileArg); args.push("-C", destArg, "-f", fileArg);
await new toolrunner.ToolRunner(`tar`, args).exec(); await new toolrunner.ToolRunner(`tar`, args).exec();
return dest; return dest;
} }
} }
exports.extractTar = extractTar; exports.extractTar = extractTar;
/** /**
* Caches a directory and installs it into the tool cacheDir. * Caches a directory and installs it into the tool cacheDir.
* *
* Also see cacheDir function from node_modules/@actions/tool-cache/lib/tool-cache.d.ts * Also see cacheDir function from node_modules/@actions/tool-cache/lib/tool-cache.d.ts
* *
* @param sourceDir the directory to cache into tools * @param sourceDir the directory to cache into tools
* @param tool tool name * @param tool tool name
* @param version version of the tool. semver format * @param version version of the tool. semver format
* @param mode should run the actions or runner implementation * @param mode should run the actions or runner implementation
* @param toolCacheDir path to the tool cache directory * @param toolCacheDir path to the tool cache directory
* @param logger logger to use * @param logger logger to use
*/ */
async function cacheDir(sourceDir, tool, version, toolCacheDir, logger) { async function cacheDir(sourceDir, tool, version, toolCacheDir, logger) {
if ((0, util_1.isActions)()) { if ((0, util_1.isActions)()) {
return await actionsToolcache.cacheDir(sourceDir, tool, version); return await actionsToolcache.cacheDir(sourceDir, tool, version);
} }
else { else {
// Initial implementation copied from node_modules/@actions/tool-cache/lib/tool-cache.js // Initial implementation copied from node_modules/@actions/tool-cache/lib/tool-cache.js
version = semver.clean(version) || version; version = semver.clean(version) || version;
const arch = os.arch(); const arch = os.arch();
logger.debug(`Caching tool ${tool} ${version} ${arch}`); logger.debug(`Caching tool ${tool} ${version} ${arch}`);
logger.debug(`source dir: ${sourceDir}`); logger.debug(`source dir: ${sourceDir}`);
if (!fs.statSync(sourceDir).isDirectory()) { if (!fs.statSync(sourceDir).isDirectory()) {
throw new Error("sourceDir is not a directory"); throw new Error("sourceDir is not a directory");
} }
// Create the tool dir // Create the tool dir
const destPath = await createToolPath(tool, version, arch, toolCacheDir, logger); const destPath = await createToolPath(tool, version, arch, toolCacheDir, logger);
// copy each child item. do not move. move can fail on Windows // copy each child item. do not move. move can fail on Windows
// due to anti-virus software having an open handle on a file. // due to anti-virus software having an open handle on a file.
for (const itemName of fs.readdirSync(sourceDir)) { for (const itemName of fs.readdirSync(sourceDir)) {
const s = path.join(sourceDir, itemName); const s = path.join(sourceDir, itemName);
await io.cp(s, destPath, { recursive: true }); await io.cp(s, destPath, { recursive: true });
} }
// write .complete // write .complete
completeToolPath(tool, version, arch, toolCacheDir, logger); completeToolPath(tool, version, arch, toolCacheDir, logger);
return destPath; return destPath;
} }
} }
exports.cacheDir = cacheDir; exports.cacheDir = cacheDir;
/** /**
* Finds the path to a tool version in the local installed tool cache. * Finds the path to a tool version in the local installed tool cache.
* *
* Also see find function from node_modules/@actions/tool-cache/lib/tool-cache.d.ts * Also see find function from node_modules/@actions/tool-cache/lib/tool-cache.d.ts
* *
* @param toolName name of the tool * @param toolName name of the tool
* @param versionSpec version of the tool * @param versionSpec version of the tool
* @param mode should run the actions or runner implementation * @param mode should run the actions or runner implementation
* @param toolCacheDir path to the tool cache directory * @param toolCacheDir path to the tool cache directory
* @param logger logger to use * @param logger logger to use
*/ */
function find(toolName, versionSpec, toolCacheDir, logger) { function find(toolName, versionSpec, toolCacheDir, logger) {
if ((0, util_1.isActions)()) { if ((0, util_1.isActions)()) {
return actionsToolcache.find(toolName, versionSpec); return actionsToolcache.find(toolName, versionSpec);
} }
else { else {
// Initial implementation copied from node_modules/@actions/tool-cache/lib/tool-cache.js // Initial implementation copied from node_modules/@actions/tool-cache/lib/tool-cache.js
if (!toolName) { if (!toolName) {
throw new Error("toolName parameter is required"); throw new Error("toolName parameter is required");
} }
if (!versionSpec) { if (!versionSpec) {
throw new Error("versionSpec parameter is required"); throw new Error("versionSpec parameter is required");
} }
const arch = os.arch(); const arch = os.arch();
// attempt to resolve an explicit version // attempt to resolve an explicit version
if (!isExplicitVersion(versionSpec, logger)) { if (!isExplicitVersion(versionSpec, logger)) {
const localVersions = findAllVersions(toolName, toolCacheDir, logger); const localVersions = findAllVersions(toolName, toolCacheDir, logger);
const match = evaluateVersions(localVersions, versionSpec, logger); const match = evaluateVersions(localVersions, versionSpec, logger);
versionSpec = match; versionSpec = match;
} }
// check for the explicit version in the cache // check for the explicit version in the cache
let toolPath = ""; let toolPath = "";
if (versionSpec) { if (versionSpec) {
versionSpec = semver.clean(versionSpec) || ""; versionSpec = semver.clean(versionSpec) || "";
const cachePath = path.join(toolCacheDir, toolName, versionSpec, arch); const cachePath = path.join(toolCacheDir, toolName, versionSpec, arch);
logger.debug(`checking cache: ${cachePath}`); logger.debug(`checking cache: ${cachePath}`);
if (fs.existsSync(cachePath) && fs.existsSync(`${cachePath}.complete`)) { if (fs.existsSync(cachePath) && fs.existsSync(`${cachePath}.complete`)) {
logger.debug(`Found tool in cache ${toolName} ${versionSpec} ${arch}`); logger.debug(`Found tool in cache ${toolName} ${versionSpec} ${arch}`);
toolPath = cachePath; toolPath = cachePath;
} }
else { else {
logger.debug("not found"); logger.debug("not found");
} }
} }
return toolPath; return toolPath;
} }
} }
exports.find = find; exports.find = find;
/** /**
* Finds the paths to all versions of a tool that are installed in the local tool cache. * Finds the paths to all versions of a tool that are installed in the local tool cache.
* *
* Also see findAllVersions function from node_modules/@actions/tool-cache/lib/tool-cache.d.ts * Also see findAllVersions function from node_modules/@actions/tool-cache/lib/tool-cache.d.ts
* *
* @param toolName name of the tool * @param toolName name of the tool
* @param toolCacheDir path to the tool cache directory * @param toolCacheDir path to the tool cache directory
* @param logger logger to use * @param logger logger to use
*/ */
function findAllVersions(toolName, toolCacheDir, logger) { function findAllVersions(toolName, toolCacheDir, logger) {
if ((0, util_1.isActions)()) { if ((0, util_1.isActions)()) {
return actionsToolcache.findAllVersions(toolName); return actionsToolcache.findAllVersions(toolName);
} }
else { else {
// Initial implementation copied from node_modules/@actions/tool-cache/lib/tool-cache.js // Initial implementation copied from node_modules/@actions/tool-cache/lib/tool-cache.js
const versions = []; const versions = [];
const arch = os.arch(); const arch = os.arch();
const toolPath = path.join(toolCacheDir, toolName); const toolPath = path.join(toolCacheDir, toolName);
if (fs.existsSync(toolPath)) { if (fs.existsSync(toolPath)) {
const children = fs.readdirSync(toolPath); const children = fs.readdirSync(toolPath);
for (const child of children) { for (const child of children) {
if (isExplicitVersion(child, logger)) { if (isExplicitVersion(child, logger)) {
const fullPath = path.join(toolPath, child, arch || ""); const fullPath = path.join(toolPath, child, arch || "");
if (fs.existsSync(fullPath) && if (fs.existsSync(fullPath) &&
fs.existsSync(`${fullPath}.complete`)) { fs.existsSync(`${fullPath}.complete`)) {
versions.push(child); versions.push(child);
} }
} }
} }
} }
return versions; return versions;
} }
} }
exports.findAllVersions = findAllVersions; exports.findAllVersions = findAllVersions;
async function downloadTool(url, tempDir, headers) { async function downloadTool(url, tempDir, headers) {
const dest = path.join(tempDir, (0, uuid_1.v4)()); const dest = path.join(tempDir, (0, uuid_1.v4)());
const finalHeaders = Object.assign({ "User-Agent": "CodeQL Action" }, headers); const finalHeaders = Object.assign({ "User-Agent": "CodeQL Action" }, headers);
return await actionsToolcache.downloadTool(url, dest, undefined, finalHeaders); return await actionsToolcache.downloadTool(url, dest, undefined, finalHeaders);
} }
exports.downloadTool = downloadTool; exports.downloadTool = downloadTool;
function createExtractFolder(tempDir) { function createExtractFolder(tempDir) {
// create a temp dir // create a temp dir
const dest = path.join(tempDir, "toolcache-temp"); const dest = path.join(tempDir, "toolcache-temp");
if (!fs.existsSync(dest)) { if (!fs.existsSync(dest)) {
fs.mkdirSync(dest); fs.mkdirSync(dest);
} }
return dest; return dest;
} }
async function createToolPath(tool, version, arch, toolCacheDir, logger) { async function createToolPath(tool, version, arch, toolCacheDir, logger) {
const folderPath = path.join(toolCacheDir, tool, semver.clean(version) || version, arch || ""); const folderPath = path.join(toolCacheDir, tool, semver.clean(version) || version, arch || "");
logger.debug(`destination ${folderPath}`); logger.debug(`destination ${folderPath}`);
const markerPath = `${folderPath}.complete`; const markerPath = `${folderPath}.complete`;
await (0, del_1.default)(folderPath, { force: true }); await (0, del_1.default)(folderPath, { force: true });
await (0, del_1.default)(markerPath, { force: true }); await (0, del_1.default)(markerPath, { force: true });
fs.mkdirSync(folderPath, { recursive: true }); fs.mkdirSync(folderPath, { recursive: true });
return folderPath; return folderPath;
} }
function completeToolPath(tool, version, arch, toolCacheDir, logger) { function completeToolPath(tool, version, arch, toolCacheDir, logger) {
const folderPath = path.join(toolCacheDir, tool, semver.clean(version) || version, arch || ""); const folderPath = path.join(toolCacheDir, tool, semver.clean(version) || version, arch || "");
const markerPath = `${folderPath}.complete`; const markerPath = `${folderPath}.complete`;
fs.writeFileSync(markerPath, ""); fs.writeFileSync(markerPath, "");
logger.debug("finished caching tool"); logger.debug("finished caching tool");
} }
function isExplicitVersion(versionSpec, logger) { function isExplicitVersion(versionSpec, logger) {
const c = semver.clean(versionSpec) || ""; const c = semver.clean(versionSpec) || "";
logger.debug(`isExplicit: ${c}`); logger.debug(`isExplicit: ${c}`);
const valid = semver.valid(c) != null; const valid = semver.valid(c) != null;
logger.debug(`explicit? ${valid}`); logger.debug(`explicit? ${valid}`);
return valid; return valid;
} }
function evaluateVersions(versions, versionSpec, logger) { function evaluateVersions(versions, versionSpec, logger) {
let version = ""; let version = "";
logger.debug(`evaluating ${versions.length} versions`); logger.debug(`evaluating ${versions.length} versions`);
versions = versions.sort((a, b) => { versions = versions.sort((a, b) => {
if (semver.gt(a, b)) { if (semver.gt(a, b)) {
return 1; return 1;
} }
return -1; return -1;
}); });
for (let i = versions.length - 1; i >= 0; i--) { for (let i = versions.length - 1; i >= 0; i--) {
const potential = versions[i]; const potential = versions[i];
const satisfied = semver.satisfies(potential, versionSpec); const satisfied = semver.satisfies(potential, versionSpec);
if (satisfied) { if (satisfied) {
version = potential; version = potential;
break; break;
} }
} }
if (version) { if (version) {
logger.debug(`matched: ${version}`); logger.debug(`matched: ${version}`);
} }
else { else {
logger.debug("match not found"); logger.debug("match not found");
} }
return version; return version;
} }
//# sourceMappingURL=toolcache.js.map //# sourceMappingURL=toolcache.js.map
File diff suppressed because one or more lines are too long
-1
View File
@@ -39,7 +39,6 @@ function getTestConfig(tmpDir) {
paths: [], paths: [],
originalUserInput: {}, originalUserInput: {},
tempDir: tmpDir, tempDir: tmpDir,
toolCacheDir: tmpDir,
codeQLCmd: "", codeQLCmd: "",
gitHubVersion: { type: util.GitHubVariant.DOTCOM }, gitHubVersion: { type: util.GitHubVariant.DOTCOM },
dbLocation: path.resolve(tmpDir, "codeql_databases"), dbLocation: path.resolve(tmpDir, "codeql_databases"),
File diff suppressed because one or more lines are too long
Generated
+1 -5
View File
@@ -89,11 +89,7 @@ exports.getToolNames = getToolNames;
// Mostly intended for use within tests. // Mostly intended for use within tests.
async function withTmpDir(body) { async function withTmpDir(body) {
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "codeql-action-")); const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "codeql-action-"));
const realSubdir = path.join(tmpDir, "real"); const result = await body(tmpDir);
fs.mkdirSync(realSubdir);
const symlinkSubdir = path.join(tmpDir, "symlink");
fs.symlinkSync(realSubdir, symlinkSubdir, "dir");
const result = await body(symlinkSubdir);
await (0, del_1.default)(tmpDir, { force: true }); await (0, del_1.default)(tmpDir, { force: true });
return result; return result;
} }
+1 -1
View File
File diff suppressed because one or more lines are too long
-1
View File
@@ -245,7 +245,6 @@ for (const [packs, expectedStatus] of ML_POWERED_JS_STATUS_TESTS) {
pathsIgnore: [], pathsIgnore: [],
originalUserInput: {}, originalUserInput: {},
tempDir: tmpDir, tempDir: tmpDir,
toolCacheDir: tmpDir,
codeQLCmd: "", codeQLCmd: "",
gitHubVersion: { gitHubVersion: {
type: util.GitHubVariant.DOTCOM, type: util.GitHubVariant.DOTCOM,
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -15
View File
@@ -1,6 +1,6 @@
{ {
"name": "codeql", "name": "codeql",
"version": "2.1.14", "version": "2.1.16",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
@@ -2744,20 +2744,6 @@
"version": "1.0.0", "version": "1.0.0",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
}, },
"node_modules/fsevents": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
"dev": true,
"hasInstallScript": true,
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
"node_modules/function-bind": { "node_modules/function-bind": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+38 -38
View File
@@ -1,40 +1,40 @@
{ {
"name": "escape-string-regexp", "name": "escape-string-regexp",
"version": "5.0.0", "version": "5.0.0",
"description": "Escape RegExp special characters", "description": "Escape RegExp special characters",
"license": "MIT", "license": "MIT",
"repository": "sindresorhus/escape-string-regexp", "repository": "sindresorhus/escape-string-regexp",
"funding": "https://github.com/sponsors/sindresorhus", "funding": "https://github.com/sponsors/sindresorhus",
"author": { "author": {
"name": "Sindre Sorhus", "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com", "email": "sindresorhus@gmail.com",
"url": "https://sindresorhus.com" "url": "https://sindresorhus.com"
}, },
"type": "module", "type": "module",
"exports": "./index.js", "exports": "./index.js",
"engines": { "engines": {
"node": ">=12" "node": ">=12"
}, },
"scripts": { "scripts": {
"test": "xo && ava && tsd" "test": "xo && ava && tsd"
}, },
"files": [ "files": [
"index.js", "index.js",
"index.d.ts" "index.d.ts"
], ],
"keywords": [ "keywords": [
"escape", "escape",
"regex", "regex",
"regexp", "regexp",
"regular", "regular",
"expression", "expression",
"string", "string",
"special", "special",
"characters" "characters"
], ],
"devDependencies": { "devDependencies": {
"ava": "^3.15.0", "ava": "^3.15.0",
"tsd": "^0.14.0", "tsd": "^0.14.0",
"xo": "^0.38.2" "xo": "^0.38.2"
} }
} }
+30 -30
View File
@@ -1,32 +1,32 @@
{ {
"name": "@chrisgavin/safe-which", "name": "@chrisgavin/safe-which",
"version": "1.0.2", "version": "1.0.2",
"description": "A NodeJS library to guard against Windows binary planting attacks.", "description": "A NodeJS library to guard against Windows binary planting attacks.",
"license": "MIT", "license": "MIT",
"homepage": "https://github.com/chrisgavin/safe-which/", "homepage": "https://github.com/chrisgavin/safe-which/",
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"
}, },
"main": "./build/index.js", "main": "./build/index.js",
"types": "./build/index.d.ts", "types": "./build/index.d.ts",
"scripts": { "scripts": {
"build": "tsc", "build": "tsc",
"pretest": "npm install && npm run build", "pretest": "npm install && npm run build",
"test": "ava --verbose --serial ./src/**", "test": "ava --verbose --serial ./src/**",
"prepublishOnly": "npm install && npm run build && npm version --allow-same-version=true --git-tag-version=false ${GITHUB_REF#refs/tags/}" "prepublishOnly": "npm install && npm run build && npm version --allow-same-version=true --git-tag-version=false ${GITHUB_REF#refs/tags/}"
}, },
"dependencies": {}, "dependencies": {},
"devDependencies": { "devDependencies": {
"@ava/typescript": "^1.1.1", "@ava/typescript": "^1.1.1",
"@types/node": "^14.14.7", "@types/node": "^14.14.7",
"ava": "^3.13.0", "ava": "^3.13.0",
"typescript": "^3.8.3" "typescript": "^3.8.3"
}, },
"ava": { "ava": {
"typescript": { "typescript": {
"rewritePaths": { "rewritePaths": {
"./src/": "./build/" "./src/": "./build/"
} }
} }
} }
} }
+45 -45
View File
@@ -1,47 +1,47 @@
{ {
"name": "strip-json-comments", "name": "strip-json-comments",
"version": "3.1.1", "version": "3.1.1",
"description": "Strip comments from JSON. Lets you use comments in your JSON files!", "description": "Strip comments from JSON. Lets you use comments in your JSON files!",
"license": "MIT", "license": "MIT",
"repository": "sindresorhus/strip-json-comments", "repository": "sindresorhus/strip-json-comments",
"funding": "https://github.com/sponsors/sindresorhus", "funding": "https://github.com/sponsors/sindresorhus",
"author": { "author": {
"name": "Sindre Sorhus", "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com", "email": "sindresorhus@gmail.com",
"url": "https://sindresorhus.com" "url": "https://sindresorhus.com"
}, },
"engines": { "engines": {
"node": ">=8" "node": ">=8"
}, },
"scripts": { "scripts": {
"test": "xo && ava && tsd", "test": "xo && ava && tsd",
"bench": "matcha benchmark.js" "bench": "matcha benchmark.js"
}, },
"files": [ "files": [
"index.js", "index.js",
"index.d.ts" "index.d.ts"
], ],
"keywords": [ "keywords": [
"json", "json",
"strip", "strip",
"comments", "comments",
"remove", "remove",
"delete", "delete",
"trim", "trim",
"multiline", "multiline",
"parse", "parse",
"config", "config",
"configuration", "configuration",
"settings", "settings",
"util", "util",
"env", "env",
"environment", "environment",
"jsonc" "jsonc"
], ],
"devDependencies": { "devDependencies": {
"ava": "^1.4.1", "ava": "^1.4.1",
"matcha": "^0.7.0", "matcha": "^0.7.0",
"tsd": "^0.7.2", "tsd": "^0.7.2",
"xo": "^0.24.0" "xo": "^0.24.0"
} }
} }
+21 -21
View File
@@ -1,23 +1,23 @@
{ {
"name": "@types/color-name", "name": "@types/color-name",
"version": "1.1.1", "version": "1.1.1",
"description": "TypeScript definitions for color-name", "description": "TypeScript definitions for color-name",
"license": "MIT", "license": "MIT",
"contributors": [ "contributors": [
{ {
"name": "Junyoung Clare Jang", "name": "Junyoung Clare Jang",
"url": "https://github.com/Ailrun", "url": "https://github.com/Ailrun",
"githubUsername": "Ailrun" "githubUsername": "Ailrun"
} }
], ],
"main": "", "main": "",
"types": "index", "types": "index",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git" "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git"
}, },
"scripts": {}, "scripts": {},
"dependencies": {}, "dependencies": {},
"typesPublisherContentHash": "e22c6881e2dcf766e32142cbb82d9acf9c08258bdf0da8e76c8a448d1be44ac7", "typesPublisherContentHash": "e22c6881e2dcf766e32142cbb82d9acf9c08258bdf0da8e76c8a448d1be44ac7",
"typeScriptVersion": "2.0" "typeScriptVersion": "2.0"
} }
+49 -49
View File
@@ -1,53 +1,53 @@
{ {
"name": "@types/js-yaml", "name": "@types/js-yaml",
"version": "4.0.5", "version": "4.0.5",
"description": "TypeScript definitions for js-yaml", "description": "TypeScript definitions for js-yaml",
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/js-yaml", "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/js-yaml",
"license": "MIT", "license": "MIT",
"contributors": [ "contributors": [
{ {
"name": "Bart van der Schoor", "name": "Bart van der Schoor",
"url": "https://github.com/Bartvds", "url": "https://github.com/Bartvds",
"githubUsername": "Bartvds" "githubUsername": "Bartvds"
},
{
"name": "Sebastian Clausen",
"url": "https://github.com/sclausen",
"githubUsername": "sclausen"
},
{
"name": "ExE Boss",
"url": "https://github.com/ExE-Boss",
"githubUsername": "ExE-Boss"
},
{
"name": "Armaan Tobaccowalla",
"url": "https://github.com/ArmaanT",
"githubUsername": "ArmaanT"
},
{
"name": "Linus Unnebäck",
"url": "https://github.com/LinusU",
"githubUsername": "LinusU"
}
],
"main": "",
"types": "index.d.ts",
"repository": {
"type": "git",
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git",
"directory": "types/js-yaml"
}, },
{ "scripts": {},
"name": "Sebastian Clausen", "dependencies": {},
"url": "https://github.com/sclausen", "typesPublisherContentHash": "6f40877154edac83ffa22d53a6aca74f151a0d094074c81ce7fb21df57ea5725",
"githubUsername": "sclausen" "typeScriptVersion": "3.8",
}, "exports": {
{ ".": {
"name": "ExE Boss", "types": {
"url": "https://github.com/ExE-Boss", "import": "./index.d.mts",
"githubUsername": "ExE-Boss" "default": "./index.d.ts"
}, }
{ }
"name": "Armaan Tobaccowalla",
"url": "https://github.com/ArmaanT",
"githubUsername": "ArmaanT"
},
{
"name": "Linus Unnebäck",
"url": "https://github.com/LinusU",
"githubUsername": "LinusU"
} }
],
"main": "",
"types": "index.d.ts",
"repository": {
"type": "git",
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git",
"directory": "types/js-yaml"
},
"scripts": {},
"dependencies": {},
"typesPublisherContentHash": "6f40877154edac83ffa22d53a6aca74f151a0d094074c81ce7fb21df57ea5725",
"typeScriptVersion": "3.8",
"exports": {
".": {
"types": {
"import": "./index.d.mts",
"default": "./index.d.ts"
}
}
}
} }
+42 -42
View File
@@ -1,45 +1,45 @@
{ {
"name": "@types/json-schema", "name": "@types/json-schema",
"version": "7.0.8", "version": "7.0.8",
"description": "TypeScript definitions for json-schema 4.0, 6.0 and", "description": "TypeScript definitions for json-schema 4.0, 6.0 and",
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/json-schema", "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/json-schema",
"license": "MIT", "license": "MIT",
"contributors": [ "contributors": [
{ {
"name": "Boris Cherny", "name": "Boris Cherny",
"url": "https://github.com/bcherny", "url": "https://github.com/bcherny",
"githubUsername": "bcherny" "githubUsername": "bcherny"
},
{
"name": "Cyrille Tuzi",
"url": "https://github.com/cyrilletuzi",
"githubUsername": "cyrilletuzi"
},
{
"name": "Lucian Buzzo",
"url": "https://github.com/lucianbuzzo",
"githubUsername": "lucianbuzzo"
},
{
"name": "Roland Groza",
"url": "https://github.com/rolandjitsu",
"githubUsername": "rolandjitsu"
},
{
"name": "Jason Kwok",
"url": "https://github.com/JasonHK",
"githubUsername": "JasonHK"
}
],
"main": "",
"types": "index.d.ts",
"repository": {
"type": "git",
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git",
"directory": "types/json-schema"
}, },
{ "scripts": {},
"name": "Cyrille Tuzi", "dependencies": {},
"url": "https://github.com/cyrilletuzi", "typesPublisherContentHash": "a58f3eeeeaaf6f6dd512e6c35e095675ba3d36c3dbae363a90d6927e672d0906",
"githubUsername": "cyrilletuzi" "typeScriptVersion": "3.6"
},
{
"name": "Lucian Buzzo",
"url": "https://github.com/lucianbuzzo",
"githubUsername": "lucianbuzzo"
},
{
"name": "Roland Groza",
"url": "https://github.com/rolandjitsu",
"githubUsername": "rolandjitsu"
},
{
"name": "Jason Kwok",
"url": "https://github.com/JasonHK",
"githubUsername": "JasonHK"
}
],
"main": "",
"types": "index.d.ts",
"repository": {
"type": "git",
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git",
"directory": "types/json-schema"
},
"scripts": {},
"dependencies": {},
"typesPublisherContentHash": "a58f3eeeeaaf6f6dd512e6c35e095675ba3d36c3dbae363a90d6927e672d0906",
"typeScriptVersion": "3.6"
} }
+14 -14
View File
@@ -1,16 +1,16 @@
{ {
"name": "@types/json5", "name": "@types/json5",
"version": "0.0.29", "version": "0.0.29",
"description": "TypeScript definitions for JSON5", "description": "TypeScript definitions for JSON5",
"license": "MIT", "license": "MIT",
"author": "Jason Swearingen <https://jasonswearingen.github.io>", "author": "Jason Swearingen <https://jasonswearingen.github.io>",
"main": "", "main": "",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://www.github.com/DefinitelyTyped/DefinitelyTyped.git" "url": "https://www.github.com/DefinitelyTyped/DefinitelyTyped.git"
}, },
"scripts": {}, "scripts": {},
"dependencies": {}, "dependencies": {},
"typings": "index.d.ts", "typings": "index.d.ts",
"typesPublisherContentHash": "1ed77f2bfd59d290798abf89db281c36565f4a78d97d4e9caab25319d54c6331" "typesPublisherContentHash": "1ed77f2bfd59d290798abf89db281c36565f4a78d97d4e9caab25319d54c6331"
} }
+22 -22
View File
@@ -1,24 +1,24 @@
{ {
"name": "@types/long", "name": "@types/long",
"version": "4.0.1", "version": "4.0.1",
"description": "TypeScript definitions for long.js", "description": "TypeScript definitions for long.js",
"license": "MIT", "license": "MIT",
"contributors": [ "contributors": [
{ {
"name": "Peter Kooijmans", "name": "Peter Kooijmans",
"url": "https://github.com/peterkooijmans", "url": "https://github.com/peterkooijmans",
"githubUsername": "peterkooijmans" "githubUsername": "peterkooijmans"
} }
], ],
"main": "", "main": "",
"types": "index.d.ts", "types": "index.d.ts",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git", "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git",
"directory": "types/long" "directory": "types/long"
}, },
"scripts": {}, "scripts": {},
"dependencies": {}, "dependencies": {},
"typesPublisherContentHash": "5a2ae1424989c49d7303e1f5cc510288bfab1e71e0e2143cdcb9d24ff1c3dc8e", "typesPublisherContentHash": "5a2ae1424989c49d7303e1f5cc510288bfab1e71e0e2143cdcb9d24ff1c3dc8e",
"typeScriptVersion": "2.8" "typeScriptVersion": "2.8"
} }
+222 -222
View File
@@ -1,225 +1,225 @@
{ {
"name": "@types/node", "name": "@types/node",
"version": "16.11.22", "version": "16.11.22",
"description": "TypeScript definitions for Node.js", "description": "TypeScript definitions for Node.js",
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node", "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
"license": "MIT", "license": "MIT",
"contributors": [ "contributors": [
{ {
"name": "Microsoft TypeScript", "name": "Microsoft TypeScript",
"url": "https://github.com/Microsoft", "url": "https://github.com/Microsoft",
"githubUsername": "Microsoft" "githubUsername": "Microsoft"
},
{
"name": "DefinitelyTyped",
"url": "https://github.com/DefinitelyTyped",
"githubUsername": "DefinitelyTyped"
},
{
"name": "Alberto Schiabel",
"url": "https://github.com/jkomyno",
"githubUsername": "jkomyno"
},
{
"name": "Alvis HT Tang",
"url": "https://github.com/alvis",
"githubUsername": "alvis"
},
{
"name": "Andrew Makarov",
"url": "https://github.com/r3nya",
"githubUsername": "r3nya"
},
{
"name": "Benjamin Toueg",
"url": "https://github.com/btoueg",
"githubUsername": "btoueg"
},
{
"name": "Chigozirim C.",
"url": "https://github.com/smac89",
"githubUsername": "smac89"
},
{
"name": "David Junger",
"url": "https://github.com/touffy",
"githubUsername": "touffy"
},
{
"name": "Deividas Bakanas",
"url": "https://github.com/DeividasBakanas",
"githubUsername": "DeividasBakanas"
},
{
"name": "Eugene Y. Q. Shen",
"url": "https://github.com/eyqs",
"githubUsername": "eyqs"
},
{
"name": "Hannes Magnusson",
"url": "https://github.com/Hannes-Magnusson-CK",
"githubUsername": "Hannes-Magnusson-CK"
},
{
"name": "Huw",
"url": "https://github.com/hoo29",
"githubUsername": "hoo29"
},
{
"name": "Kelvin Jin",
"url": "https://github.com/kjin",
"githubUsername": "kjin"
},
{
"name": "Klaus Meinhardt",
"url": "https://github.com/ajafff",
"githubUsername": "ajafff"
},
{
"name": "Lishude",
"url": "https://github.com/islishude",
"githubUsername": "islishude"
},
{
"name": "Mariusz Wiktorczyk",
"url": "https://github.com/mwiktorczyk",
"githubUsername": "mwiktorczyk"
},
{
"name": "Mohsen Azimi",
"url": "https://github.com/mohsen1",
"githubUsername": "mohsen1"
},
{
"name": "Nicolas Even",
"url": "https://github.com/n-e",
"githubUsername": "n-e"
},
{
"name": "Nikita Galkin",
"url": "https://github.com/galkin",
"githubUsername": "galkin"
},
{
"name": "Parambir Singh",
"url": "https://github.com/parambirs",
"githubUsername": "parambirs"
},
{
"name": "Sebastian Silbermann",
"url": "https://github.com/eps1lon",
"githubUsername": "eps1lon"
},
{
"name": "Seth Westphal",
"url": "https://github.com/westy92",
"githubUsername": "westy92"
},
{
"name": "Simon Schick",
"url": "https://github.com/SimonSchick",
"githubUsername": "SimonSchick"
},
{
"name": "Thomas den Hollander",
"url": "https://github.com/ThomasdenH",
"githubUsername": "ThomasdenH"
},
{
"name": "Wilco Bakker",
"url": "https://github.com/WilcoBakker",
"githubUsername": "WilcoBakker"
},
{
"name": "wwwy3y3",
"url": "https://github.com/wwwy3y3",
"githubUsername": "wwwy3y3"
},
{
"name": "Samuel Ainsworth",
"url": "https://github.com/samuela",
"githubUsername": "samuela"
},
{
"name": "Kyle Uehlein",
"url": "https://github.com/kuehlein",
"githubUsername": "kuehlein"
},
{
"name": "Thanik Bhongbhibhat",
"url": "https://github.com/bhongy",
"githubUsername": "bhongy"
},
{
"name": "Marcin Kopacz",
"url": "https://github.com/chyzwar",
"githubUsername": "chyzwar"
},
{
"name": "Trivikram Kamat",
"url": "https://github.com/trivikr",
"githubUsername": "trivikr"
},
{
"name": "Junxiao Shi",
"url": "https://github.com/yoursunny",
"githubUsername": "yoursunny"
},
{
"name": "Ilia Baryshnikov",
"url": "https://github.com/qwelias",
"githubUsername": "qwelias"
},
{
"name": "ExE Boss",
"url": "https://github.com/ExE-Boss",
"githubUsername": "ExE-Boss"
},
{
"name": "Piotr Błażejewicz",
"url": "https://github.com/peterblazejewicz",
"githubUsername": "peterblazejewicz"
},
{
"name": "Anna Henningsen",
"url": "https://github.com/addaleax",
"githubUsername": "addaleax"
},
{
"name": "Victor Perin",
"url": "https://github.com/victorperin",
"githubUsername": "victorperin"
},
{
"name": "Yongsheng Zhang",
"url": "https://github.com/ZYSzys",
"githubUsername": "ZYSzys"
},
{
"name": "NodeJS Contributors",
"url": "https://github.com/NodeJS",
"githubUsername": "NodeJS"
},
{
"name": "Linus Unnebäck",
"url": "https://github.com/LinusU",
"githubUsername": "LinusU"
},
{
"name": "wafuwafu13",
"url": "https://github.com/wafuwafu13",
"githubUsername": "wafuwafu13"
}
],
"main": "",
"types": "index.d.ts",
"repository": {
"type": "git",
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git",
"directory": "types/node"
}, },
{ "scripts": {},
"name": "DefinitelyTyped", "dependencies": {},
"url": "https://github.com/DefinitelyTyped", "typesPublisherContentHash": "57a94e60cf640ea4d81b4fa914f3fb5929a63ae0b4d5141d7daf250c569e7d10",
"githubUsername": "DefinitelyTyped" "typeScriptVersion": "3.8"
},
{
"name": "Alberto Schiabel",
"url": "https://github.com/jkomyno",
"githubUsername": "jkomyno"
},
{
"name": "Alvis HT Tang",
"url": "https://github.com/alvis",
"githubUsername": "alvis"
},
{
"name": "Andrew Makarov",
"url": "https://github.com/r3nya",
"githubUsername": "r3nya"
},
{
"name": "Benjamin Toueg",
"url": "https://github.com/btoueg",
"githubUsername": "btoueg"
},
{
"name": "Chigozirim C.",
"url": "https://github.com/smac89",
"githubUsername": "smac89"
},
{
"name": "David Junger",
"url": "https://github.com/touffy",
"githubUsername": "touffy"
},
{
"name": "Deividas Bakanas",
"url": "https://github.com/DeividasBakanas",
"githubUsername": "DeividasBakanas"
},
{
"name": "Eugene Y. Q. Shen",
"url": "https://github.com/eyqs",
"githubUsername": "eyqs"
},
{
"name": "Hannes Magnusson",
"url": "https://github.com/Hannes-Magnusson-CK",
"githubUsername": "Hannes-Magnusson-CK"
},
{
"name": "Huw",
"url": "https://github.com/hoo29",
"githubUsername": "hoo29"
},
{
"name": "Kelvin Jin",
"url": "https://github.com/kjin",
"githubUsername": "kjin"
},
{
"name": "Klaus Meinhardt",
"url": "https://github.com/ajafff",
"githubUsername": "ajafff"
},
{
"name": "Lishude",
"url": "https://github.com/islishude",
"githubUsername": "islishude"
},
{
"name": "Mariusz Wiktorczyk",
"url": "https://github.com/mwiktorczyk",
"githubUsername": "mwiktorczyk"
},
{
"name": "Mohsen Azimi",
"url": "https://github.com/mohsen1",
"githubUsername": "mohsen1"
},
{
"name": "Nicolas Even",
"url": "https://github.com/n-e",
"githubUsername": "n-e"
},
{
"name": "Nikita Galkin",
"url": "https://github.com/galkin",
"githubUsername": "galkin"
},
{
"name": "Parambir Singh",
"url": "https://github.com/parambirs",
"githubUsername": "parambirs"
},
{
"name": "Sebastian Silbermann",
"url": "https://github.com/eps1lon",
"githubUsername": "eps1lon"
},
{
"name": "Seth Westphal",
"url": "https://github.com/westy92",
"githubUsername": "westy92"
},
{
"name": "Simon Schick",
"url": "https://github.com/SimonSchick",
"githubUsername": "SimonSchick"
},
{
"name": "Thomas den Hollander",
"url": "https://github.com/ThomasdenH",
"githubUsername": "ThomasdenH"
},
{
"name": "Wilco Bakker",
"url": "https://github.com/WilcoBakker",
"githubUsername": "WilcoBakker"
},
{
"name": "wwwy3y3",
"url": "https://github.com/wwwy3y3",
"githubUsername": "wwwy3y3"
},
{
"name": "Samuel Ainsworth",
"url": "https://github.com/samuela",
"githubUsername": "samuela"
},
{
"name": "Kyle Uehlein",
"url": "https://github.com/kuehlein",
"githubUsername": "kuehlein"
},
{
"name": "Thanik Bhongbhibhat",
"url": "https://github.com/bhongy",
"githubUsername": "bhongy"
},
{
"name": "Marcin Kopacz",
"url": "https://github.com/chyzwar",
"githubUsername": "chyzwar"
},
{
"name": "Trivikram Kamat",
"url": "https://github.com/trivikr",
"githubUsername": "trivikr"
},
{
"name": "Junxiao Shi",
"url": "https://github.com/yoursunny",
"githubUsername": "yoursunny"
},
{
"name": "Ilia Baryshnikov",
"url": "https://github.com/qwelias",
"githubUsername": "qwelias"
},
{
"name": "ExE Boss",
"url": "https://github.com/ExE-Boss",
"githubUsername": "ExE-Boss"
},
{
"name": "Piotr Błażejewicz",
"url": "https://github.com/peterblazejewicz",
"githubUsername": "peterblazejewicz"
},
{
"name": "Anna Henningsen",
"url": "https://github.com/addaleax",
"githubUsername": "addaleax"
},
{
"name": "Victor Perin",
"url": "https://github.com/victorperin",
"githubUsername": "victorperin"
},
{
"name": "Yongsheng Zhang",
"url": "https://github.com/ZYSzys",
"githubUsername": "ZYSzys"
},
{
"name": "NodeJS Contributors",
"url": "https://github.com/NodeJS",
"githubUsername": "NodeJS"
},
{
"name": "Linus Unnebäck",
"url": "https://github.com/LinusU",
"githubUsername": "LinusU"
},
{
"name": "wafuwafu13",
"url": "https://github.com/wafuwafu13",
"githubUsername": "wafuwafu13"
}
],
"main": "",
"types": "index.d.ts",
"repository": {
"type": "git",
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git",
"directory": "types/node"
},
"scripts": {},
"dependencies": {},
"typesPublisherContentHash": "57a94e60cf640ea4d81b4fa914f3fb5929a63ae0b4d5141d7daf250c569e7d10",
"typeScriptVersion": "3.8"
} }
+47 -47
View File
@@ -1,50 +1,50 @@
{ {
"name": "@types/semver", "name": "@types/semver",
"version": "7.3.8", "version": "7.3.8",
"description": "TypeScript definitions for semver", "description": "TypeScript definitions for semver",
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/semver", "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/semver",
"license": "MIT", "license": "MIT",
"contributors": [ "contributors": [
{ {
"name": "Bart van der Schoor", "name": "Bart van der Schoor",
"url": "https://github.com/Bartvds", "url": "https://github.com/Bartvds",
"githubUsername": "Bartvds" "githubUsername": "Bartvds"
},
{
"name": "BendingBender",
"url": "https://github.com/BendingBender",
"githubUsername": "BendingBender"
},
{
"name": "Lucian Buzzo",
"url": "https://github.com/LucianBuzzo",
"githubUsername": "LucianBuzzo"
},
{
"name": "Klaus Meinhardt",
"url": "https://github.com/ajafff",
"githubUsername": "ajafff"
},
{
"name": "ExE Boss",
"url": "https://github.com/ExE-Boss",
"githubUsername": "ExE-Boss"
},
{
"name": "Piotr Błażejewicz",
"url": "https://github.com/peterblazejewicz",
"githubUsername": "peterblazejewicz"
}
],
"main": "",
"types": "index.d.ts",
"repository": {
"type": "git",
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git",
"directory": "types/semver"
}, },
{ "scripts": {},
"name": "BendingBender", "dependencies": {},
"url": "https://github.com/BendingBender", "typesPublisherContentHash": "9f17862a79b39f8289a2ac1d3bf53c50947aa9c048bafe1ce72418667cf56e27",
"githubUsername": "BendingBender" "typeScriptVersion": "3.6"
},
{
"name": "Lucian Buzzo",
"url": "https://github.com/LucianBuzzo",
"githubUsername": "LucianBuzzo"
},
{
"name": "Klaus Meinhardt",
"url": "https://github.com/ajafff",
"githubUsername": "ajafff"
},
{
"name": "ExE Boss",
"url": "https://github.com/ExE-Boss",
"githubUsername": "ExE-Boss"
},
{
"name": "Piotr Błażejewicz",
"url": "https://github.com/peterblazejewicz",
"githubUsername": "peterblazejewicz"
}
],
"main": "",
"types": "index.d.ts",
"repository": {
"type": "git",
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git",
"directory": "types/semver"
},
"scripts": {},
"dependencies": {},
"typesPublisherContentHash": "9f17862a79b39f8289a2ac1d3bf53c50947aa9c048bafe1ce72418667cf56e27",
"typeScriptVersion": "3.6"
} }
+63 -63
View File
@@ -1,67 +1,67 @@
{ {
"name": "@types/sinon", "name": "@types/sinon",
"version": "10.0.2", "version": "10.0.2",
"description": "TypeScript definitions for Sinon", "description": "TypeScript definitions for Sinon",
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/sinon", "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/sinon",
"license": "MIT", "license": "MIT",
"contributors": [ "contributors": [
{ {
"name": "William Sears", "name": "William Sears",
"url": "https://github.com/mrbigdog2u", "url": "https://github.com/mrbigdog2u",
"githubUsername": "mrbigdog2u" "githubUsername": "mrbigdog2u"
},
{
"name": "Lukas Spieß",
"url": "https://github.com/lumaxis",
"githubUsername": "lumaxis"
},
{
"name": "Nico Jansen",
"url": "https://github.com/nicojs",
"githubUsername": "nicojs"
},
{
"name": "James Garbutt",
"url": "https://github.com/43081j",
"githubUsername": "43081j"
},
{
"name": "Josh Goldberg",
"url": "https://github.com/joshuakgoldberg",
"githubUsername": "joshuakgoldberg"
},
{
"name": "Greg Jednaszewski",
"url": "https://github.com/gjednaszewski",
"githubUsername": "gjednaszewski"
},
{
"name": "John Wood",
"url": "https://github.com/johnjesse",
"githubUsername": "johnjesse"
},
{
"name": "Alec Flett",
"url": "https://github.com/alecf",
"githubUsername": "alecf"
},
{
"name": "Simon Schick",
"url": "https://github.com/SimonSchick",
"githubUsername": "SimonSchick"
}
],
"main": "",
"types": "index.d.ts",
"repository": {
"type": "git",
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git",
"directory": "types/sinon"
}, },
{ "scripts": {},
"name": "Lukas Spieß", "dependencies": {
"url": "https://github.com/lumaxis", "@sinonjs/fake-timers": "^7.1.0"
"githubUsername": "lumaxis"
}, },
{ "typesPublisherContentHash": "d9f02a4574f6f32057808563b4551e558075d0c93c5739b604521c743c4bb712",
"name": "Nico Jansen", "typeScriptVersion": "3.6"
"url": "https://github.com/nicojs",
"githubUsername": "nicojs"
},
{
"name": "James Garbutt",
"url": "https://github.com/43081j",
"githubUsername": "43081j"
},
{
"name": "Josh Goldberg",
"url": "https://github.com/joshuakgoldberg",
"githubUsername": "joshuakgoldberg"
},
{
"name": "Greg Jednaszewski",
"url": "https://github.com/gjednaszewski",
"githubUsername": "gjednaszewski"
},
{
"name": "John Wood",
"url": "https://github.com/johnjesse",
"githubUsername": "johnjesse"
},
{
"name": "Alec Flett",
"url": "https://github.com/alecf",
"githubUsername": "alecf"
},
{
"name": "Simon Schick",
"url": "https://github.com/SimonSchick",
"githubUsername": "SimonSchick"
}
],
"main": "",
"types": "index.d.ts",
"repository": {
"type": "git",
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git",
"directory": "types/sinon"
},
"scripts": {},
"dependencies": {
"@sinonjs/fake-timers": "^7.1.0"
},
"typesPublisherContentHash": "d9f02a4574f6f32057808563b4551e558075d0c93c5739b604521c743c4bb712",
"typeScriptVersion": "3.6"
} }
+1 -3
View File
@@ -17,9 +17,7 @@
"./package.json": "./package.json" "./package.json": "./package.json"
}, },
"version": "8.2.0", "version": "8.2.0",
"engines": { "engines": {"node": ">=0.4.0"},
"node": ">=0.4.0"
},
"maintainers": [ "maintainers": [
{ {
"name": "Marijn Haverbeke", "name": "Marijn Haverbeke",
+2 -6
View File
@@ -6,9 +6,7 @@
"types": "dist/acorn.d.ts", "types": "dist/acorn.d.ts",
"module": "dist/acorn.mjs", "module": "dist/acorn.mjs",
"version": "7.4.1", "version": "7.4.1",
"engines": { "engines": {"node": ">=0.4.0"},
"node": ">=0.4.0"
},
"maintainers": [ "maintainers": [
{ {
"name": "Marijn Haverbeke", "name": "Marijn Haverbeke",
@@ -33,7 +31,5 @@
"scripts": { "scripts": {
"prepare": "cd ..; npm run build:main && npm run build:bin" "prepare": "cd ..; npm run build:main && npm run build:bin"
}, },
"bin": { "bin": {"acorn": "./bin/acorn"}
"acorn": "./bin/acorn"
}
} }
+39 -39
View File
@@ -1,41 +1,41 @@
{ {
"name": "aggregate-error", "name": "aggregate-error",
"version": "3.0.1", "version": "3.0.1",
"description": "Create an error from multiple errors", "description": "Create an error from multiple errors",
"license": "MIT", "license": "MIT",
"repository": "sindresorhus/aggregate-error", "repository": "sindresorhus/aggregate-error",
"author": { "author": {
"name": "Sindre Sorhus", "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com", "email": "sindresorhus@gmail.com",
"url": "sindresorhus.com" "url": "sindresorhus.com"
}, },
"engines": { "engines": {
"node": ">=8" "node": ">=8"
}, },
"scripts": { "scripts": {
"test": "xo && ava && tsd" "test": "xo && ava && tsd"
}, },
"files": [ "files": [
"index.js", "index.js",
"index.d.ts" "index.d.ts"
], ],
"keywords": [ "keywords": [
"aggregate", "aggregate",
"error", "error",
"combine", "combine",
"multiple", "multiple",
"many", "many",
"collection", "collection",
"iterable", "iterable",
"iterator" "iterator"
], ],
"dependencies": { "dependencies": {
"clean-stack": "^2.0.0", "clean-stack": "^2.0.0",
"indent-string": "^4.0.0" "indent-string": "^4.0.0"
}, },
"devDependencies": { "devDependencies": {
"ava": "^2.4.0", "ava": "^2.4.0",
"tsd": "^0.7.1", "tsd": "^0.7.1",
"xo": "^0.25.3" "xo": "^0.25.3"
} }
} }
+53 -53
View File
@@ -1,55 +1,55 @@
{ {
"name": "ansi-regex", "name": "ansi-regex",
"version": "5.0.1", "version": "5.0.1",
"description": "Regular expression for matching ANSI escape codes", "description": "Regular expression for matching ANSI escape codes",
"license": "MIT", "license": "MIT",
"repository": "chalk/ansi-regex", "repository": "chalk/ansi-regex",
"author": { "author": {
"name": "Sindre Sorhus", "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com", "email": "sindresorhus@gmail.com",
"url": "sindresorhus.com" "url": "sindresorhus.com"
}, },
"engines": { "engines": {
"node": ">=8" "node": ">=8"
}, },
"scripts": { "scripts": {
"test": "xo && ava && tsd", "test": "xo && ava && tsd",
"view-supported": "node fixtures/view-codes.js" "view-supported": "node fixtures/view-codes.js"
}, },
"files": [ "files": [
"index.js", "index.js",
"index.d.ts" "index.d.ts"
], ],
"keywords": [ "keywords": [
"ansi", "ansi",
"styles", "styles",
"color", "color",
"colour", "colour",
"colors", "colors",
"terminal", "terminal",
"console", "console",
"cli", "cli",
"string", "string",
"tty", "tty",
"escape", "escape",
"formatting", "formatting",
"rgb", "rgb",
"256", "256",
"shell", "shell",
"xterm", "xterm",
"command-line", "command-line",
"text", "text",
"regex", "regex",
"regexp", "regexp",
"re", "re",
"match", "match",
"test", "test",
"find", "find",
"pattern" "pattern"
], ],
"devDependencies": { "devDependencies": {
"ava": "^2.4.0", "ava": "^2.4.0",
"tsd": "^0.9.0", "tsd": "^0.9.0",
"xo": "^0.25.3" "xo": "^0.25.3"
} }
} }
+54 -54
View File
@@ -1,56 +1,56 @@
{ {
"name": "ansi-styles", "name": "ansi-styles",
"version": "3.2.1", "version": "3.2.1",
"description": "ANSI escape codes for styling strings in the terminal", "description": "ANSI escape codes for styling strings in the terminal",
"license": "MIT", "license": "MIT",
"repository": "chalk/ansi-styles", "repository": "chalk/ansi-styles",
"author": { "author": {
"name": "Sindre Sorhus", "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com", "email": "sindresorhus@gmail.com",
"url": "sindresorhus.com" "url": "sindresorhus.com"
}, },
"engines": { "engines": {
"node": ">=4" "node": ">=4"
}, },
"scripts": { "scripts": {
"test": "xo && ava", "test": "xo && ava",
"screenshot": "svg-term --command='node screenshot' --out=screenshot.svg --padding=3 --width=55 --height=3 --at=1000 --no-cursor" "screenshot": "svg-term --command='node screenshot' --out=screenshot.svg --padding=3 --width=55 --height=3 --at=1000 --no-cursor"
}, },
"files": [ "files": [
"index.js" "index.js"
], ],
"keywords": [ "keywords": [
"ansi", "ansi",
"styles", "styles",
"color", "color",
"colour", "colour",
"colors", "colors",
"terminal", "terminal",
"console", "console",
"cli", "cli",
"string", "string",
"tty", "tty",
"escape", "escape",
"formatting", "formatting",
"rgb", "rgb",
"256", "256",
"shell", "shell",
"xterm", "xterm",
"log", "log",
"logging", "logging",
"command-line", "command-line",
"text" "text"
], ],
"dependencies": { "dependencies": {
"color-convert": "^1.9.0" "color-convert": "^1.9.0"
}, },
"devDependencies": { "devDependencies": {
"ava": "*", "ava": "*",
"babel-polyfill": "^6.23.0", "babel-polyfill": "^6.23.0",
"svg-term-cli": "^2.1.1", "svg-term-cli": "^2.1.1",
"xo": "*" "xo": "*"
}, },
"ava": { "ava": {
"require": "babel-polyfill" "require": "babel-polyfill"
} }
} }
+91 -91
View File
@@ -1,93 +1,93 @@
{ {
"name": "array-includes", "name": "array-includes",
"version": "3.1.3", "version": "3.1.3",
"author": { "author": {
"name": "Jordan Harband", "name": "Jordan Harband",
"email": "ljharb@gmail.com", "email": "ljharb@gmail.com",
"url": "http://ljharb.codes" "url": "http://ljharb.codes"
}, },
"funding": { "funding": {
"url": "https://github.com/sponsors/ljharb" "url": "https://github.com/sponsors/ljharb"
}, },
"contributors": [ "contributors": [
{ {
"name": "Jordan Harband", "name": "Jordan Harband",
"email": "ljharb@gmail.com", "email": "ljharb@gmail.com",
"url": "http://ljharb.codes" "url": "http://ljharb.codes"
} }
], ],
"description": "An ES7/ES2016 spec-compliant `Array.prototype.includes` shim/polyfill/replacement that works as far down as ES3.", "description": "An ES7/ES2016 spec-compliant `Array.prototype.includes` shim/polyfill/replacement that works as far down as ES3.",
"license": "MIT", "license": "MIT",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"prepublish": "safe-publish-latest", "prepublish": "safe-publish-latest",
"pretest": "npm run --silent lint && evalmd README.md", "pretest": "npm run --silent lint && evalmd README.md",
"test": "npm run --silent tests-only", "test": "npm run --silent tests-only",
"posttest": "npx aud --production", "posttest": "npx aud --production",
"tests-only": "nyc tape 'test/**/*.js'", "tests-only": "nyc tape 'test/**/*.js'",
"lint": "eslint .", "lint": "eslint .",
"postlint": "es-shim-api --bound" "postlint": "es-shim-api --bound"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git://github.com/es-shims/array-includes.git" "url": "git://github.com/es-shims/array-includes.git"
}, },
"keywords": [ "keywords": [
"Array.prototype.includes", "Array.prototype.includes",
"includes", "includes",
"array", "array",
"ES7", "ES7",
"shim", "shim",
"polyfill", "polyfill",
"contains", "contains",
"Array.prototype.contains", "Array.prototype.contains",
"es-shim API" "es-shim API"
], ],
"dependencies": { "dependencies": {
"call-bind": "^1.0.2", "call-bind": "^1.0.2",
"define-properties": "^1.1.3", "define-properties": "^1.1.3",
"es-abstract": "^1.18.0-next.2", "es-abstract": "^1.18.0-next.2",
"get-intrinsic": "^1.1.1", "get-intrinsic": "^1.1.1",
"is-string": "^1.0.5" "is-string": "^1.0.5"
}, },
"devDependencies": { "devDependencies": {
"@es-shims/api": "^2.1.2", "@es-shims/api": "^2.1.2",
"@ljharb/eslint-config": "^17.5.1", "@ljharb/eslint-config": "^17.5.1",
"aud": "^1.1.4", "aud": "^1.1.4",
"eslint": "^7.20.0", "eslint": "^7.20.0",
"evalmd": "0.0.19", "evalmd": "0.0.19",
"foreach": "^2.0.5", "foreach": "^2.0.5",
"function-bind": "^1.1.1", "function-bind": "^1.1.1",
"functions-have-names": "^1.2.2", "functions-have-names": "^1.2.2",
"has-strict-mode": "^1.0.1", "has-strict-mode": "^1.0.1",
"indexof": "^0.0.1", "indexof": "^0.0.1",
"nyc": "^10.3.2", "nyc": "^10.3.2",
"safe-publish-latest": "^1.1.4", "safe-publish-latest": "^1.1.4",
"tape": "^5.2.0" "tape": "^5.2.0"
}, },
"testling": { "testling": {
"files": [ "files": [
"test/index.js", "test/index.js",
"test/implementation.js", "test/implementation.js",
"test/shimmed.js" "test/shimmed.js"
], ],
"browsers": [ "browsers": [
"iexplore/6.0..latest", "iexplore/6.0..latest",
"firefox/3.0..6.0", "firefox/3.0..6.0",
"firefox/15.0..latest", "firefox/15.0..latest",
"firefox/nightly", "firefox/nightly",
"chrome/4.0..10.0", "chrome/4.0..10.0",
"chrome/20.0..latest", "chrome/20.0..latest",
"chrome/canary", "chrome/canary",
"opera/10.0..latest", "opera/10.0..latest",
"opera/next", "opera/next",
"safari/4.0..latest", "safari/4.0..latest",
"ipad/6.0..latest", "ipad/6.0..latest",
"iphone/6.0..latest", "iphone/6.0..latest",
"android-browser/4.2" "android-browser/4.2"
] ]
}, },
"engines": { "engines": {
"node": ">= 0.4" "node": ">= 0.4"
} }
} }
+36 -36
View File
@@ -1,38 +1,38 @@
{ {
"name": "array-union", "name": "array-union",
"version": "2.1.0", "version": "2.1.0",
"description": "Create an array of unique values, in order, from the input arrays", "description": "Create an array of unique values, in order, from the input arrays",
"license": "MIT", "license": "MIT",
"repository": "sindresorhus/array-union", "repository": "sindresorhus/array-union",
"author": { "author": {
"name": "Sindre Sorhus", "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com", "email": "sindresorhus@gmail.com",
"url": "sindresorhus.com" "url": "sindresorhus.com"
}, },
"engines": { "engines": {
"node": ">=8" "node": ">=8"
}, },
"scripts": { "scripts": {
"test": "xo && ava && tsd" "test": "xo && ava && tsd"
}, },
"files": [ "files": [
"index.js", "index.js",
"index.d.ts" "index.d.ts"
], ],
"keywords": [ "keywords": [
"array", "array",
"set", "set",
"uniq", "uniq",
"unique", "unique",
"duplicate", "duplicate",
"remove", "remove",
"union", "union",
"combine", "combine",
"merge" "merge"
], ],
"devDependencies": { "devDependencies": {
"ava": "^1.4.1", "ava": "^1.4.1",
"tsd": "^0.7.2", "tsd": "^0.7.2",
"xo": "^0.24.0" "xo": "^0.24.0"
} }
} }
+94 -94
View File
@@ -1,96 +1,96 @@
{ {
"name": "array.prototype.flat", "name": "array.prototype.flat",
"version": "1.2.4", "version": "1.2.4",
"author": { "author": {
"name": "Jordan Harband", "name": "Jordan Harband",
"email": "ljharb@gmail.com", "email": "ljharb@gmail.com",
"url": "http://ljharb.codes" "url": "http://ljharb.codes"
}, },
"funding": { "funding": {
"url": "https://github.com/sponsors/ljharb" "url": "https://github.com/sponsors/ljharb"
}, },
"contributors": [ "contributors": [
{ {
"name": "Jordan Harband", "name": "Jordan Harband",
"email": "ljharb@gmail.com", "email": "ljharb@gmail.com",
"url": "http://ljharb.codes" "url": "http://ljharb.codes"
} }
], ],
"description": "An ES2019 spec-compliant `Array.prototype.flat` shim/polyfill/replacement that works as far down as ES3.", "description": "An ES2019 spec-compliant `Array.prototype.flat` shim/polyfill/replacement that works as far down as ES3.",
"license": "MIT", "license": "MIT",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"prepublish": "safe-publish-latest", "prepublish": "safe-publish-latest",
"pretest": "npm run --silent lint && evalmd README.md", "pretest": "npm run --silent lint && evalmd README.md",
"test": "npm run tests-only", "test": "npm run tests-only",
"posttest": "aud --production", "posttest": "aud --production",
"tests-only": "nyc tape 'test/**/*.js'", "tests-only": "nyc tape 'test/**/*.js'",
"lint": "eslint .", "lint": "eslint .",
"postlint": "es-shim-api --bound" "postlint": "es-shim-api --bound"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git://github.com/es-shims/Array.prototype.flat.git" "url": "git://github.com/es-shims/Array.prototype.flat.git"
}, },
"keywords": [ "keywords": [
"Array.prototype.flatten", "Array.prototype.flatten",
"Array.prototype.flat", "Array.prototype.flat",
"flatten", "flatten",
"flat", "flat",
"array", "array",
"ESnext", "ESnext",
"shim", "shim",
"polyfill", "polyfill",
"flatMap", "flatMap",
"Array.prototype.flatMap", "Array.prototype.flatMap",
"es-shim API" "es-shim API"
], ],
"dependencies": { "dependencies": {
"call-bind": "^1.0.0", "call-bind": "^1.0.0",
"define-properties": "^1.1.3", "define-properties": "^1.1.3",
"es-abstract": "^1.18.0-next.1" "es-abstract": "^1.18.0-next.1"
}, },
"devDependencies": { "devDependencies": {
"@es-shims/api": "^2.1.2", "@es-shims/api": "^2.1.2",
"@ljharb/eslint-config": "^17.2.0", "@ljharb/eslint-config": "^17.2.0",
"aud": "^1.1.3", "aud": "^1.1.3",
"covert": "^1.1.1", "covert": "^1.1.1",
"eslint": "^7.13.0", "eslint": "^7.13.0",
"evalmd": "^0.0.19", "evalmd": "^0.0.19",
"function-bind": "^1.1.1", "function-bind": "^1.1.1",
"has-strict-mode": "^1.0.0", "has-strict-mode": "^1.0.0",
"nyc": "^10.3.2", "nyc": "^10.3.2",
"object-inspect": "^1.8.0", "object-inspect": "^1.8.0",
"safe-publish-latest": "^1.1.4", "safe-publish-latest": "^1.1.4",
"tape": "^5.0.1" "tape": "^5.0.1"
}, },
"testling": { "testling": {
"files": [ "files": [
"test/index.js", "test/index.js",
"test/shimmed.js" "test/shimmed.js"
], ],
"browsers": [ "browsers": [
"iexplore/6.0..latest", "iexplore/6.0..latest",
"firefox/3.0..6.0", "firefox/3.0..6.0",
"firefox/15.0..latest", "firefox/15.0..latest",
"firefox/nightly", "firefox/nightly",
"chrome/4.0..10.0", "chrome/4.0..10.0",
"chrome/20.0..latest", "chrome/20.0..latest",
"chrome/canary", "chrome/canary",
"opera/10.0..latest", "opera/10.0..latest",
"opera/next", "opera/next",
"safari/4.0..latest", "safari/4.0..latest",
"ipad/6.0..latest", "ipad/6.0..latest",
"iphone/6.0..latest", "iphone/6.0..latest",
"android-browser/4.2" "android-browser/4.2"
] ]
}, },
"engines": { "engines": {
"node": ">= 0.4" "node": ">= 0.4"
}, },
"greenkeeper": { "greenkeeper": {
"ignore": [ "ignore": [
"nyc" "nyc"
] ]
} }
} }
+33 -33
View File
@@ -1,35 +1,35 @@
{ {
"name": "arrify", "name": "arrify",
"version": "2.0.1", "version": "2.0.1",
"description": "Convert a value to an array", "description": "Convert a value to an array",
"license": "MIT", "license": "MIT",
"repository": "sindresorhus/arrify", "repository": "sindresorhus/arrify",
"author": { "author": {
"name": "Sindre Sorhus", "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com", "email": "sindresorhus@gmail.com",
"url": "sindresorhus.com" "url": "sindresorhus.com"
}, },
"engines": { "engines": {
"node": ">=8" "node": ">=8"
}, },
"scripts": { "scripts": {
"test": "xo && ava && tsd" "test": "xo && ava && tsd"
}, },
"files": [ "files": [
"index.js", "index.js",
"index.d.ts" "index.d.ts"
], ],
"keywords": [ "keywords": [
"array", "array",
"arrify", "arrify",
"arrayify", "arrayify",
"convert", "convert",
"value", "value",
"ensure" "ensure"
], ],
"devDependencies": { "devDependencies": {
"ava": "^1.4.1", "ava": "^1.4.1",
"tsd": "^0.7.2", "tsd": "^0.7.2",
"xo": "^0.24.0" "xo": "^0.24.0"
} }
} }
+31 -31
View File
@@ -1,33 +1,33 @@
{ {
"name": "astral-regex", "name": "astral-regex",
"version": "2.0.0", "version": "2.0.0",
"description": "Regular expression for matching astral symbols", "description": "Regular expression for matching astral symbols",
"license": "MIT", "license": "MIT",
"repository": "kevva/astral-regex", "repository": "kevva/astral-regex",
"author": { "author": {
"name": "Kevin Mårtensson", "name": "Kevin Mårtensson",
"email": "kevinmartensson@gmail.com", "email": "kevinmartensson@gmail.com",
"url": "github.com/kevva" "url": "github.com/kevva"
}, },
"engines": { "engines": {
"node": ">=8" "node": ">=8"
}, },
"scripts": { "scripts": {
"test": "xo && ava && tsd" "test": "xo && ava && tsd"
}, },
"files": [ "files": [
"index.js", "index.js",
"index.d.ts" "index.d.ts"
], ],
"keywords": [ "keywords": [
"astral", "astral",
"emoji", "emoji",
"regex", "regex",
"surrogate" "surrogate"
], ],
"devDependencies": { "devDependencies": {
"ava": "^1.4.1", "ava": "^1.4.1",
"tsd": "^0.7.2", "tsd": "^0.7.2",
"xo": "^0.24.0" "xo": "^0.24.0"
} }
} }
+2 -6
View File
@@ -17,9 +17,7 @@
"./package.json": "./package.json" "./package.json": "./package.json"
}, },
"version": "8.7.0", "version": "8.7.0",
"engines": { "engines": {"node": ">=0.4.0"},
"node": ">=0.4.0"
},
"maintainers": [ "maintainers": [
{ {
"name": "Marijn Haverbeke", "name": "Marijn Haverbeke",
@@ -44,7 +42,5 @@
"scripts": { "scripts": {
"prepare": "cd ..; npm run build:main" "prepare": "cd ..; npm run build:main"
}, },
"bin": { "bin": {"acorn": "./bin/acorn"}
"acorn": "./bin/acorn"
}
} }
+43 -43
View File
@@ -1,45 +1,45 @@
{ {
"name": "aggregate-error", "name": "aggregate-error",
"version": "4.0.0", "version": "4.0.0",
"description": "Create an error from multiple errors", "description": "Create an error from multiple errors",
"license": "MIT", "license": "MIT",
"repository": "sindresorhus/aggregate-error", "repository": "sindresorhus/aggregate-error",
"funding": "https://github.com/sponsors/sindresorhus", "funding": "https://github.com/sponsors/sindresorhus",
"author": { "author": {
"name": "Sindre Sorhus", "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com", "email": "sindresorhus@gmail.com",
"url": "https://sindresorhus.com" "url": "https://sindresorhus.com"
}, },
"type": "module", "type": "module",
"exports": "./index.js", "exports": "./index.js",
"engines": { "engines": {
"node": ">=12" "node": ">=12"
}, },
"scripts": { "scripts": {
"//test": "xo && ava && tsd", "//test": "xo && ava && tsd",
"test": "ava && tsd" "test": "ava && tsd"
}, },
"files": [ "files": [
"index.js", "index.js",
"index.d.ts" "index.d.ts"
], ],
"keywords": [ "keywords": [
"aggregate", "aggregate",
"error", "error",
"combine", "combine",
"multiple", "multiple",
"many", "many",
"collection", "collection",
"iterable", "iterable",
"iterator" "iterator"
], ],
"dependencies": { "dependencies": {
"clean-stack": "^4.0.0", "clean-stack": "^4.0.0",
"indent-string": "^5.0.0" "indent-string": "^5.0.0"
}, },
"devDependencies": { "devDependencies": {
"ava": "^3.15.0", "ava": "^3.15.0",
"tsd": "^0.14.0", "tsd": "^0.14.0",
"xo": "^0.38.2" "xo": "^0.38.2"
} }
} }
+56 -56
View File
@@ -1,58 +1,58 @@
{ {
"name": "ansi-regex", "name": "ansi-regex",
"version": "6.0.1", "version": "6.0.1",
"description": "Regular expression for matching ANSI escape codes", "description": "Regular expression for matching ANSI escape codes",
"license": "MIT", "license": "MIT",
"repository": "chalk/ansi-regex", "repository": "chalk/ansi-regex",
"funding": "https://github.com/chalk/ansi-regex?sponsor=1", "funding": "https://github.com/chalk/ansi-regex?sponsor=1",
"author": { "author": {
"name": "Sindre Sorhus", "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com", "email": "sindresorhus@gmail.com",
"url": "https://sindresorhus.com" "url": "https://sindresorhus.com"
}, },
"type": "module", "type": "module",
"exports": "./index.js", "exports": "./index.js",
"engines": { "engines": {
"node": ">=12" "node": ">=12"
}, },
"scripts": { "scripts": {
"test": "xo && ava && tsd", "test": "xo && ava && tsd",
"view-supported": "node fixtures/view-codes.js" "view-supported": "node fixtures/view-codes.js"
}, },
"files": [ "files": [
"index.js", "index.js",
"index.d.ts" "index.d.ts"
], ],
"keywords": [ "keywords": [
"ansi", "ansi",
"styles", "styles",
"color", "color",
"colour", "colour",
"colors", "colors",
"terminal", "terminal",
"console", "console",
"cli", "cli",
"string", "string",
"tty", "tty",
"escape", "escape",
"formatting", "formatting",
"rgb", "rgb",
"256", "256",
"shell", "shell",
"xterm", "xterm",
"command-line", "command-line",
"text", "text",
"regex", "regex",
"regexp", "regexp",
"re", "re",
"match", "match",
"test", "test",
"find", "find",
"pattern" "pattern"
], ],
"devDependencies": { "devDependencies": {
"ava": "^3.15.0", "ava": "^3.15.0",
"tsd": "^0.14.0", "tsd": "^0.14.0",
"xo": "^0.38.2" "xo": "^0.38.2"
} }
} }
+52 -52
View File
@@ -1,54 +1,54 @@
{ {
"name": "ansi-styles", "name": "ansi-styles",
"version": "6.1.0", "version": "6.1.0",
"description": "ANSI escape codes for styling strings in the terminal", "description": "ANSI escape codes for styling strings in the terminal",
"license": "MIT", "license": "MIT",
"repository": "chalk/ansi-styles", "repository": "chalk/ansi-styles",
"funding": "https://github.com/chalk/ansi-styles?sponsor=1", "funding": "https://github.com/chalk/ansi-styles?sponsor=1",
"author": { "author": {
"name": "Sindre Sorhus", "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com", "email": "sindresorhus@gmail.com",
"url": "https://sindresorhus.com" "url": "https://sindresorhus.com"
}, },
"type": "module", "type": "module",
"exports": "./index.js", "exports": "./index.js",
"engines": { "engines": {
"node": ">=12" "node": ">=12"
}, },
"scripts": { "scripts": {
"test": "xo && ava && tsd", "test": "xo && ava && tsd",
"screenshot": "svg-term --command='node screenshot' --out=screenshot.svg --padding=3 --width=55 --height=3 --at=1000 --no-cursor" "screenshot": "svg-term --command='node screenshot' --out=screenshot.svg --padding=3 --width=55 --height=3 --at=1000 --no-cursor"
}, },
"files": [ "files": [
"index.js", "index.js",
"index.d.ts" "index.d.ts"
], ],
"keywords": [ "keywords": [
"ansi", "ansi",
"styles", "styles",
"color", "color",
"colour", "colour",
"colors", "colors",
"terminal", "terminal",
"console", "console",
"cli", "cli",
"string", "string",
"tty", "tty",
"escape", "escape",
"formatting", "formatting",
"rgb", "rgb",
"256", "256",
"shell", "shell",
"xterm", "xterm",
"log", "log",
"logging", "logging",
"command-line", "command-line",
"text" "text"
], ],
"devDependencies": { "devDependencies": {
"ava": "^3.15.0", "ava": "^3.15.0",
"svg-term-cli": "^2.1.1", "svg-term-cli": "^2.1.1",
"tsd": "^0.14.0", "tsd": "^0.14.0",
"xo": "^0.38.2" "xo": "^0.38.2"
} }
} }
+44 -44
View File
@@ -1,46 +1,46 @@
{ {
"name": "array-union", "name": "array-union",
"version": "3.0.1", "version": "3.0.1",
"description": "Create an array of unique values, in order, from the input arrays", "description": "Create an array of unique values, in order, from the input arrays",
"license": "MIT", "license": "MIT",
"repository": "sindresorhus/array-union", "repository": "sindresorhus/array-union",
"funding": "https://github.com/sponsors/sindresorhus", "funding": "https://github.com/sponsors/sindresorhus",
"author": { "author": {
"name": "Sindre Sorhus", "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com", "email": "sindresorhus@gmail.com",
"url": "https://sindresorhus.com" "url": "https://sindresorhus.com"
}, },
"type": "module", "type": "module",
"exports": "./index.js", "exports": "./index.js",
"engines": { "engines": {
"node": ">=12" "node": ">=12"
}, },
"scripts": { "scripts": {
"test": "xo && ava && tsd" "test": "xo && ava && tsd"
}, },
"files": [ "files": [
"index.js", "index.js",
"index.d.ts" "index.d.ts"
], ],
"keywords": [ "keywords": [
"array", "array",
"set", "set",
"uniq", "uniq",
"unique", "unique",
"duplicate", "duplicate",
"remove", "remove",
"union", "union",
"combine", "combine",
"merge" "merge"
], ],
"devDependencies": { "devDependencies": {
"ava": "^3.15.0", "ava": "^3.15.0",
"tsd": "^0.14.0", "tsd": "^0.14.0",
"xo": "^0.38.2" "xo": "^0.38.2"
}, },
"tsd": { "tsd": {
"compilerOptions": { "compilerOptions": {
"esModuleInterop": true "esModuleInterop": true
} }
} }
} }
+36 -36
View File
@@ -1,38 +1,38 @@
{ {
"name": "arrify", "name": "arrify",
"version": "3.0.0", "version": "3.0.0",
"description": "Convert a value to an array", "description": "Convert a value to an array",
"license": "MIT", "license": "MIT",
"repository": "sindresorhus/arrify", "repository": "sindresorhus/arrify",
"funding": "https://github.com/sponsors/sindresorhus", "funding": "https://github.com/sponsors/sindresorhus",
"author": { "author": {
"name": "Sindre Sorhus", "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com", "email": "sindresorhus@gmail.com",
"url": "https://sindresorhus.com" "url": "https://sindresorhus.com"
}, },
"type": "module", "type": "module",
"exports": "./index.js", "exports": "./index.js",
"engines": { "engines": {
"node": ">=12" "node": ">=12"
}, },
"scripts": { "scripts": {
"test": "xo && ava && tsd" "test": "xo && ava && tsd"
}, },
"files": [ "files": [
"index.js", "index.js",
"index.d.ts" "index.d.ts"
], ],
"keywords": [ "keywords": [
"array", "array",
"arrify", "arrify",
"arrayify", "arrayify",
"convert", "convert",
"value", "value",
"ensure" "ensure"
], ],
"devDependencies": { "devDependencies": {
"ava": "^3.15.0", "ava": "^3.15.0",
"tsd": "^0.14.0", "tsd": "^0.14.0",
"xo": "^0.39.1" "xo": "^0.39.1"
} }
} }
+40 -40
View File
@@ -1,42 +1,42 @@
{ {
"name": "callsites", "name": "callsites",
"version": "4.0.0", "version": "4.0.0",
"description": "Get callsites from the V8 stack trace API", "description": "Get callsites from the V8 stack trace API",
"license": "MIT", "license": "MIT",
"repository": "sindresorhus/callsites", "repository": "sindresorhus/callsites",
"funding": "https://github.com/sponsors/sindresorhus", "funding": "https://github.com/sponsors/sindresorhus",
"author": { "author": {
"name": "Sindre Sorhus", "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com", "email": "sindresorhus@gmail.com",
"url": "https://sindresorhus.com" "url": "https://sindresorhus.com"
}, },
"type": "module", "type": "module",
"exports": "./index.js", "exports": "./index.js",
"engines": { "engines": {
"node": ">=12.20" "node": ">=12.20"
}, },
"scripts": { "scripts": {
"test": "xo && ava && tsd" "test": "xo && ava && tsd"
}, },
"files": [ "files": [
"index.js", "index.js",
"index.d.ts" "index.d.ts"
], ],
"keywords": [ "keywords": [
"stacktrace", "stacktrace",
"v8", "v8",
"callsite", "callsite",
"callsites", "callsites",
"stack", "stack",
"trace", "trace",
"function", "function",
"file", "file",
"line", "line",
"debug" "debug"
], ],
"devDependencies": { "devDependencies": {
"ava": "^3.15.0", "ava": "^3.15.0",
"tsd": "^0.17.0", "tsd": "^0.17.0",
"xo": "^0.44.0" "xo": "^0.44.0"
} }
} }
+75 -75
View File
@@ -1,77 +1,77 @@
{ {
"name": "chalk", "name": "chalk",
"version": "5.0.0", "version": "5.0.0",
"description": "Terminal string styling done right", "description": "Terminal string styling done right",
"license": "MIT", "license": "MIT",
"repository": "chalk/chalk", "repository": "chalk/chalk",
"funding": "https://github.com/chalk/chalk?sponsor=1", "funding": "https://github.com/chalk/chalk?sponsor=1",
"type": "module", "type": "module",
"exports": "./source/index.js", "exports": "./source/index.js",
"imports": { "imports": {
"#ansi-styles": "./source/vendor/ansi-styles/index.js", "#ansi-styles": "./source/vendor/ansi-styles/index.js",
"#supports-color": { "#supports-color": {
"node": "./source/vendor/supports-color/index.js", "node": "./source/vendor/supports-color/index.js",
"default": "./source/vendor/supports-color/browser.js" "default": "./source/vendor/supports-color/browser.js"
} }
}, },
"types": "./source/index.d.ts", "types": "./source/index.d.ts",
"engines": { "engines": {
"node": "^12.17.0 || ^14.13 || >=16.0.0" "node": "^12.17.0 || ^14.13 || >=16.0.0"
}, },
"scripts": { "scripts": {
"test": "xo && c8 ava && tsd", "test": "xo && c8 ava && tsd",
"bench": "matcha benchmark.js" "bench": "matcha benchmark.js"
}, },
"files": [ "files": [
"source", "source",
"!source/index.test-d.ts" "!source/index.test-d.ts"
], ],
"keywords": [ "keywords": [
"color", "color",
"colour", "colour",
"colors", "colors",
"terminal", "terminal",
"console", "console",
"cli", "cli",
"string", "string",
"ansi", "ansi",
"style", "style",
"styles", "styles",
"tty", "tty",
"formatting", "formatting",
"rgb", "rgb",
"256", "256",
"shell", "shell",
"xterm", "xterm",
"log", "log",
"logging", "logging",
"command-line", "command-line",
"text" "text"
], ],
"devDependencies": { "devDependencies": {
"@types/node": "^16.11.10", "@types/node": "^16.11.10",
"ava": "^3.15.0", "ava": "^3.15.0",
"c8": "^7.10.0", "c8": "^7.10.0",
"color-convert": "^2.0.1", "color-convert": "^2.0.1",
"execa": "^6.0.0", "execa": "^6.0.0",
"log-update": "^5.0.0", "log-update": "^5.0.0",
"matcha": "^0.7.0", "matcha": "^0.7.0",
"tsd": "^0.19.0", "tsd": "^0.19.0",
"xo": "^0.47.0", "xo": "^0.47.0",
"yoctodelay": "^2.0.0" "yoctodelay": "^2.0.0"
}, },
"xo": { "xo": {
"rules": { "rules": {
"unicorn/prefer-string-slice": "off" "unicorn/prefer-string-slice": "off"
} }
}, },
"c8": { "c8": {
"reporter": [ "reporter": [
"text", "text",
"lcov" "lcov"
], ],
"exclude": [ "exclude": [
"source/vendor" "source/vendor"
] ]
} }
} }
+42 -42
View File
@@ -1,44 +1,44 @@
{ {
"name": "clean-stack", "name": "clean-stack",
"version": "4.1.0", "version": "4.1.0",
"description": "Clean up error stack traces", "description": "Clean up error stack traces",
"license": "MIT", "license": "MIT",
"repository": "sindresorhus/clean-stack", "repository": "sindresorhus/clean-stack",
"funding": "https://github.com/sponsors/sindresorhus", "funding": "https://github.com/sponsors/sindresorhus",
"author": { "author": {
"name": "Sindre Sorhus", "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com", "email": "sindresorhus@gmail.com",
"url": "https://sindresorhus.com" "url": "https://sindresorhus.com"
}, },
"type": "module", "type": "module",
"exports": "./index.js", "exports": "./index.js",
"engines": { "engines": {
"node": ">=12" "node": ">=12"
}, },
"scripts": { "scripts": {
"test": "xo && ava && tsd" "test": "xo && ava && tsd"
}, },
"files": [ "files": [
"index.js", "index.js",
"index.d.ts" "index.d.ts"
], ],
"keywords": [ "keywords": [
"clean", "clean",
"stack", "stack",
"trace", "trace",
"traces", "traces",
"error", "error",
"electron" "electron"
], ],
"dependencies": { "dependencies": {
"escape-string-regexp": "5.0.0" "escape-string-regexp": "5.0.0"
}, },
"devDependencies": { "devDependencies": {
"ava": "^3.15.0", "ava": "^3.15.0",
"tsd": "^0.14.0", "tsd": "^0.14.0",
"xo": "^0.38.2" "xo": "^0.38.2"
}, },
"browser": { "browser": {
"os": false "os": false
} }
} }
+38 -38
View File
@@ -1,40 +1,40 @@
{ {
"name": "escape-string-regexp", "name": "escape-string-regexp",
"version": "5.0.0", "version": "5.0.0",
"description": "Escape RegExp special characters", "description": "Escape RegExp special characters",
"license": "MIT", "license": "MIT",
"repository": "sindresorhus/escape-string-regexp", "repository": "sindresorhus/escape-string-regexp",
"funding": "https://github.com/sponsors/sindresorhus", "funding": "https://github.com/sponsors/sindresorhus",
"author": { "author": {
"name": "Sindre Sorhus", "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com", "email": "sindresorhus@gmail.com",
"url": "https://sindresorhus.com" "url": "https://sindresorhus.com"
}, },
"type": "module", "type": "module",
"exports": "./index.js", "exports": "./index.js",
"engines": { "engines": {
"node": ">=12" "node": ">=12"
}, },
"scripts": { "scripts": {
"test": "xo && ava && tsd" "test": "xo && ava && tsd"
}, },
"files": [ "files": [
"index.js", "index.js",
"index.d.ts" "index.d.ts"
], ],
"keywords": [ "keywords": [
"escape", "escape",
"regex", "regex",
"regexp", "regexp",
"regular", "regular",
"expression", "expression",
"string", "string",
"special", "special",
"characters" "characters"
], ],
"devDependencies": { "devDependencies": {
"ava": "^3.15.0", "ava": "^3.15.0",
"tsd": "^0.14.0", "tsd": "^0.14.0",
"xo": "^0.38.2" "xo": "^0.38.2"
} }
} }
+36 -36
View File
@@ -1,38 +1,38 @@
{ {
"name": "slash", "name": "slash",
"version": "4.0.0", "version": "4.0.0",
"description": "Convert Windows backslash paths to slash paths", "description": "Convert Windows backslash paths to slash paths",
"license": "MIT", "license": "MIT",
"repository": "sindresorhus/slash", "repository": "sindresorhus/slash",
"funding": "https://github.com/sponsors/sindresorhus", "funding": "https://github.com/sponsors/sindresorhus",
"author": { "author": {
"name": "Sindre Sorhus", "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com", "email": "sindresorhus@gmail.com",
"url": "https://sindresorhus.com" "url": "https://sindresorhus.com"
}, },
"type": "module", "type": "module",
"exports": "./index.js", "exports": "./index.js",
"engines": { "engines": {
"node": ">=12" "node": ">=12"
}, },
"scripts": { "scripts": {
"test": "xo && ava && tsd" "test": "xo && ava && tsd"
}, },
"files": [ "files": [
"index.js", "index.js",
"index.d.ts" "index.d.ts"
], ],
"keywords": [ "keywords": [
"path", "path",
"seperator", "seperator",
"slash", "slash",
"backslash", "backslash",
"windows", "windows",
"convert" "convert"
], ],
"devDependencies": { "devDependencies": {
"ava": "^3.15.0", "ava": "^3.15.0",
"tsd": "^0.14.0", "tsd": "^0.14.0",
"xo": "^0.38.2" "xo": "^0.38.2"
} }
} }
+85 -85
View File
@@ -1,87 +1,87 @@
{ {
"name": "globby", "name": "globby",
"version": "12.2.0", "version": "12.2.0",
"description": "User-friendly glob matching", "description": "User-friendly glob matching",
"license": "MIT", "license": "MIT",
"repository": "sindresorhus/globby", "repository": "sindresorhus/globby",
"funding": "https://github.com/sponsors/sindresorhus", "funding": "https://github.com/sponsors/sindresorhus",
"author": { "author": {
"email": "sindresorhus@gmail.com", "email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus", "name": "Sindre Sorhus",
"url": "https://sindresorhus.com" "url": "https://sindresorhus.com"
}, },
"type": "module", "type": "module",
"exports": "./index.js", "exports": "./index.js",
"engines": { "engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0" "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
}, },
"scripts": { "scripts": {
"bench": "npm update glob-stream fast-glob && matcha bench.js", "bench": "npm update glob-stream fast-glob && matcha bench.js",
"test": "xo && ava && tsd" "test": "xo && ava && tsd"
}, },
"files": [ "files": [
"index.js", "index.js",
"index.d.ts", "index.d.ts",
"gitignore.js", "gitignore.js",
"stream-utils.js", "stream-utils.js",
"to-path.js" "to-path.js"
], ],
"keywords": [ "keywords": [
"all", "all",
"array", "array",
"directories", "directories",
"expand", "expand",
"files", "files",
"filesystem", "filesystem",
"filter", "filter",
"find", "find",
"fnmatch", "fnmatch",
"folders", "folders",
"fs", "fs",
"glob", "glob",
"globbing", "globbing",
"globs", "globs",
"gulpfriendly", "gulpfriendly",
"match", "match",
"matcher", "matcher",
"minimatch", "minimatch",
"multi", "multi",
"multiple", "multiple",
"paths", "paths",
"pattern", "pattern",
"patterns", "patterns",
"traverse", "traverse",
"util", "util",
"utility", "utility",
"wildcard", "wildcard",
"wildcards", "wildcards",
"promise", "promise",
"gitignore", "gitignore",
"git" "git"
], ],
"dependencies": { "dependencies": {
"array-union": "^3.0.1", "array-union": "^3.0.1",
"dir-glob": "^3.0.1", "dir-glob": "^3.0.1",
"fast-glob": "^3.2.7", "fast-glob": "^3.2.7",
"ignore": "^5.1.9", "ignore": "^5.1.9",
"merge2": "^1.4.1", "merge2": "^1.4.1",
"slash": "^4.0.0" "slash": "^4.0.0"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^16.11.11", "@types/node": "^16.11.11",
"ava": "^3.15.0", "ava": "^3.15.0",
"get-stream": "^6.0.1", "get-stream": "^6.0.1",
"glob-stream": "^7.0.0", "glob-stream": "^7.0.0",
"globby": "sindresorhus/globby#main", "globby": "sindresorhus/globby#main",
"matcha": "^0.7.0", "matcha": "^0.7.0",
"rimraf": "^3.0.2", "rimraf": "^3.0.2",
"tsd": "^0.19.0", "tsd": "^0.19.0",
"typescript": "^4.5.2", "typescript": "^4.5.2",
"xo": "^0.47.0" "xo": "^0.47.0"
}, },
"xo": { "xo": {
"ignores": [ "ignores": [
"fixtures" "fixtures"
] ]
} }
} }
+38 -38
View File
@@ -1,40 +1,40 @@
{ {
"name": "indent-string", "name": "indent-string",
"version": "5.0.0", "version": "5.0.0",
"description": "Indent each line in a string", "description": "Indent each line in a string",
"license": "MIT", "license": "MIT",
"repository": "sindresorhus/indent-string", "repository": "sindresorhus/indent-string",
"funding": "https://github.com/sponsors/sindresorhus", "funding": "https://github.com/sponsors/sindresorhus",
"author": { "author": {
"name": "Sindre Sorhus", "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com", "email": "sindresorhus@gmail.com",
"url": "https://sindresorhus.com" "url": "https://sindresorhus.com"
}, },
"type": "module", "type": "module",
"exports": "./index.js", "exports": "./index.js",
"engines": { "engines": {
"node": ">=12" "node": ">=12"
}, },
"scripts": { "scripts": {
"test": "xo && ava && tsd" "test": "xo && ava && tsd"
}, },
"files": [ "files": [
"index.js", "index.js",
"index.d.ts" "index.d.ts"
], ],
"keywords": [ "keywords": [
"indent", "indent",
"string", "string",
"pad", "pad",
"align", "align",
"line", "line",
"text", "text",
"each", "each",
"every" "every"
], ],
"devDependencies": { "devDependencies": {
"ava": "^3.15.0", "ava": "^3.15.0",
"tsd": "^0.14.0", "tsd": "^0.14.0",
"xo": "^0.38.2" "xo": "^0.38.2"
} }
} }
+53 -53
View File
@@ -1,55 +1,55 @@
{ {
"name": "p-map", "name": "p-map",
"version": "5.3.0", "version": "5.3.0",
"description": "Map over promises concurrently", "description": "Map over promises concurrently",
"license": "MIT", "license": "MIT",
"repository": "sindresorhus/p-map", "repository": "sindresorhus/p-map",
"funding": "https://github.com/sponsors/sindresorhus", "funding": "https://github.com/sponsors/sindresorhus",
"author": { "author": {
"name": "Sindre Sorhus", "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com", "email": "sindresorhus@gmail.com",
"url": "https://sindresorhus.com" "url": "https://sindresorhus.com"
}, },
"type": "module", "type": "module",
"exports": "./index.js", "exports": "./index.js",
"engines": { "engines": {
"node": ">=12" "node": ">=12"
}, },
"scripts": { "scripts": {
"test": "xo && ava && tsd" "test": "xo && ava && tsd"
}, },
"files": [ "files": [
"index.js", "index.js",
"index.d.ts" "index.d.ts"
], ],
"keywords": [ "keywords": [
"promise", "promise",
"map", "map",
"resolved", "resolved",
"wait", "wait",
"collection", "collection",
"iterable", "iterable",
"iterator", "iterator",
"race", "race",
"fulfilled", "fulfilled",
"async", "async",
"await", "await",
"promises", "promises",
"concurrently", "concurrently",
"concurrency", "concurrency",
"parallel", "parallel",
"bluebird" "bluebird"
], ],
"dependencies": { "dependencies": {
"aggregate-error": "^4.0.0" "aggregate-error": "^4.0.0"
}, },
"devDependencies": { "devDependencies": {
"ava": "^3.15.0", "ava": "^3.15.0",
"delay": "^5.0.0", "delay": "^5.0.0",
"in-range": "^3.0.0", "in-range": "^3.0.0",
"random-int": "^3.0.0", "random-int": "^3.0.0",
"time-span": "^5.0.0", "time-span": "^5.0.0",
"tsd": "^0.14.0", "tsd": "^0.14.0",
"xo": "^0.38.2" "xo": "^0.38.2"
} }
} }
+55 -55
View File
@@ -1,57 +1,57 @@
{ {
"name": "strip-ansi", "name": "strip-ansi",
"version": "7.0.1", "version": "7.0.1",
"description": "Strip ANSI escape codes from a string", "description": "Strip ANSI escape codes from a string",
"license": "MIT", "license": "MIT",
"repository": "chalk/strip-ansi", "repository": "chalk/strip-ansi",
"funding": "https://github.com/chalk/strip-ansi?sponsor=1", "funding": "https://github.com/chalk/strip-ansi?sponsor=1",
"author": { "author": {
"name": "Sindre Sorhus", "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com", "email": "sindresorhus@gmail.com",
"url": "https://sindresorhus.com" "url": "https://sindresorhus.com"
}, },
"type": "module", "type": "module",
"exports": "./index.js", "exports": "./index.js",
"engines": { "engines": {
"node": ">=12" "node": ">=12"
}, },
"scripts": { "scripts": {
"test": "xo && ava && tsd" "test": "xo && ava && tsd"
}, },
"files": [ "files": [
"index.js", "index.js",
"index.d.ts" "index.d.ts"
], ],
"keywords": [ "keywords": [
"strip", "strip",
"trim", "trim",
"remove", "remove",
"ansi", "ansi",
"styles", "styles",
"color", "color",
"colour", "colour",
"colors", "colors",
"terminal", "terminal",
"console", "console",
"string", "string",
"tty", "tty",
"escape", "escape",
"formatting", "formatting",
"rgb", "rgb",
"256", "256",
"shell", "shell",
"xterm", "xterm",
"log", "log",
"logging", "logging",
"command-line", "command-line",
"text" "text"
], ],
"dependencies": { "dependencies": {
"ansi-regex": "^6.0.1" "ansi-regex": "^6.0.1"
}, },
"devDependencies": { "devDependencies": {
"ava": "^3.15.0", "ava": "^3.15.0",
"tsd": "^0.17.0", "tsd": "^0.17.0",
"xo": "^0.44.0" "xo": "^0.44.0"
} }
} }
+146 -146
View File
@@ -1,148 +1,148 @@
{ {
"name": "ava", "name": "ava",
"version": "4.0.1", "version": "4.0.1",
"description": "Node.js test runner that lets you develop with confidence.", "description": "Node.js test runner that lets you develop with confidence.",
"license": "MIT", "license": "MIT",
"repository": "avajs/ava", "repository": "avajs/ava",
"homepage": "https://avajs.dev", "homepage": "https://avajs.dev",
"bin": { "bin": {
"ava": "entrypoints/cli.mjs" "ava": "entrypoints/cli.mjs"
}, },
"exports": { "exports": {
".": { ".": {
"import": "./entrypoints/main.mjs", "import": "./entrypoints/main.mjs",
"require": "./entrypoints/main.cjs" "require": "./entrypoints/main.cjs"
}, },
"./eslint-plugin-helper": "./entrypoints/eslint-plugin-helper.cjs", "./eslint-plugin-helper": "./entrypoints/eslint-plugin-helper.cjs",
"./plugin": { "./plugin": {
"import": "./entrypoints/plugin.mjs", "import": "./entrypoints/plugin.mjs",
"require": "./entrypoints/plugin.cjs" "require": "./entrypoints/plugin.cjs"
} }
}, },
"type": "module", "type": "module",
"engines": { "engines": {
"node": ">=12.22 <13 || >=14.17 <15 || >=16.4 <17 || >=17" "node": ">=12.22 <13 || >=14.17 <15 || >=16.4 <17 || >=17"
}, },
"scripts": { "scripts": {
"cover": "c8 --report=none test-ava && c8 --report=none --no-clean tap && c8 report", "cover": "c8 --report=none test-ava && c8 --report=none --no-clean tap && c8 report",
"test": "xo && tsd && npm run -s cover" "test": "xo && tsd && npm run -s cover"
}, },
"files": [ "files": [
"entrypoints", "entrypoints",
"lib", "lib",
"types", "types",
"index.d.ts", "index.d.ts",
"plugin.d.ts" "plugin.d.ts"
], ],
"keywords": [ "keywords": [
"🦄", "🦄",
"test", "test",
"runner", "runner",
"testing", "testing",
"ava", "ava",
"concurrent", "concurrent",
"parallel", "parallel",
"fast", "fast",
"tdd", "tdd",
"cli-app", "cli-app",
"cli", "cli",
"jest", "jest",
"mocha", "mocha",
"tape", "tape",
"tap", "tap",
"qunit", "qunit",
"jasmine", "jasmine",
"assert", "assert",
"assertion", "assertion",
"promise", "promise",
"promises", "promises",
"async", "async",
"function", "function",
"await", "await",
"generator", "generator",
"generators", "generators",
"yield", "yield",
"observable", "observable",
"observables", "observables",
"unit", "unit",
"snapshot", "snapshot",
"expect", "expect",
"typescript" "typescript"
], ],
"dependencies": { "dependencies": {
"acorn": "^8.7.0", "acorn": "^8.7.0",
"acorn-walk": "^8.2.0", "acorn-walk": "^8.2.0",
"ansi-styles": "^6.1.0", "ansi-styles": "^6.1.0",
"arrgv": "^1.0.2", "arrgv": "^1.0.2",
"arrify": "^3.0.0", "arrify": "^3.0.0",
"callsites": "^4.0.0", "callsites": "^4.0.0",
"cbor": "^8.1.0", "cbor": "^8.1.0",
"chalk": "^5.0.0", "chalk": "^5.0.0",
"chokidar": "^3.5.2", "chokidar": "^3.5.2",
"chunkd": "^2.0.1", "chunkd": "^2.0.1",
"ci-info": "^3.3.0", "ci-info": "^3.3.0",
"ci-parallel-vars": "^1.0.1", "ci-parallel-vars": "^1.0.1",
"clean-yaml-object": "^0.1.0", "clean-yaml-object": "^0.1.0",
"cli-truncate": "^3.1.0", "cli-truncate": "^3.1.0",
"code-excerpt": "^3.0.0", "code-excerpt": "^3.0.0",
"common-path-prefix": "^3.0.0", "common-path-prefix": "^3.0.0",
"concordance": "^5.0.4", "concordance": "^5.0.4",
"currently-unhandled": "^0.4.1", "currently-unhandled": "^0.4.1",
"debug": "^4.3.3", "debug": "^4.3.3",
"del": "^6.0.0", "del": "^6.0.0",
"emittery": "^0.10.0", "emittery": "^0.10.0",
"figures": "^4.0.0", "figures": "^4.0.0",
"globby": "^12.0.2", "globby": "^12.0.2",
"ignore-by-default": "^2.0.0", "ignore-by-default": "^2.0.0",
"indent-string": "^5.0.0", "indent-string": "^5.0.0",
"is-error": "^2.2.2", "is-error": "^2.2.2",
"is-plain-object": "^5.0.0", "is-plain-object": "^5.0.0",
"is-promise": "^4.0.0", "is-promise": "^4.0.0",
"matcher": "^5.0.0", "matcher": "^5.0.0",
"mem": "^9.0.1", "mem": "^9.0.1",
"ms": "^2.1.3", "ms": "^2.1.3",
"p-event": "^5.0.1", "p-event": "^5.0.1",
"p-map": "^5.3.0", "p-map": "^5.3.0",
"picomatch": "^2.3.0", "picomatch": "^2.3.0",
"pkg-conf": "^4.0.0", "pkg-conf": "^4.0.0",
"plur": "^5.1.0", "plur": "^5.1.0",
"pretty-ms": "^7.0.1", "pretty-ms": "^7.0.1",
"resolve-cwd": "^3.0.0", "resolve-cwd": "^3.0.0",
"slash": "^3.0.0", "slash": "^3.0.0",
"stack-utils": "^2.0.5", "stack-utils": "^2.0.5",
"strip-ansi": "^7.0.1", "strip-ansi": "^7.0.1",
"supertap": "^2.0.0", "supertap": "^2.0.0",
"temp-dir": "^2.0.0", "temp-dir": "^2.0.0",
"write-file-atomic": "^3.0.3", "write-file-atomic": "^3.0.3",
"yargs": "^17.3.1" "yargs": "^17.3.1"
}, },
"devDependencies": { "devDependencies": {
"@ava/test": "github:avajs/test", "@ava/test": "github:avajs/test",
"@ava/typescript": "^3.0.1", "@ava/typescript": "^3.0.1",
"@sinonjs/fake-timers": "^8.1.0", "@sinonjs/fake-timers": "^8.1.0",
"ansi-escapes": "^5.0.0", "ansi-escapes": "^5.0.0",
"c8": "^7.11.0", "c8": "^7.11.0",
"delay": "^5.0.0", "delay": "^5.0.0",
"execa": "^6.0.0", "execa": "^6.0.0",
"fs-extra": "^10.0.0", "fs-extra": "^10.0.0",
"get-stream": "^6.0.1", "get-stream": "^6.0.1",
"replace-string": "^4.0.0", "replace-string": "^4.0.0",
"sinon": "^12.0.1", "sinon": "^12.0.1",
"tap": "^15.1.5", "tap": "^15.1.5",
"temp-write": "^5.0.0", "temp-write": "^5.0.0",
"tempy": "^2.0.0", "tempy": "^2.0.0",
"touch": "^3.1.0", "touch": "^3.1.0",
"tsd": "^0.19.1", "tsd": "^0.19.1",
"typescript": "^4.4.4", "typescript": "^4.4.4",
"xo": "^0.47.0", "xo": "^0.47.0",
"zen-observable": "^0.8.15" "zen-observable": "^0.8.15"
}, },
"peerDependencies": { "peerDependencies": {
"@ava/typescript": "*" "@ava/typescript": "*"
}, },
"peerDependenciesMeta": { "peerDependenciesMeta": {
"@ava/typescript": { "@ava/typescript": {
"optional": true "optional": true
} }
} }
} }
+36 -36
View File
@@ -1,38 +1,38 @@
{ {
"name": "binary-extensions", "name": "binary-extensions",
"version": "2.2.0", "version": "2.2.0",
"description": "List of binary file extensions", "description": "List of binary file extensions",
"license": "MIT", "license": "MIT",
"repository": "sindresorhus/binary-extensions", "repository": "sindresorhus/binary-extensions",
"author": { "author": {
"name": "Sindre Sorhus", "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com", "email": "sindresorhus@gmail.com",
"url": "sindresorhus.com" "url": "sindresorhus.com"
}, },
"engines": { "engines": {
"node": ">=8" "node": ">=8"
}, },
"scripts": { "scripts": {
"test": "xo && ava && tsd" "test": "xo && ava && tsd"
}, },
"files": [ "files": [
"index.js", "index.js",
"index.d.ts", "index.d.ts",
"binary-extensions.json", "binary-extensions.json",
"binary-extensions.json.d.ts" "binary-extensions.json.d.ts"
], ],
"keywords": [ "keywords": [
"binary", "binary",
"extensions", "extensions",
"extension", "extension",
"file", "file",
"json", "json",
"list", "list",
"array" "array"
], ],
"devDependencies": { "devDependencies": {
"ava": "^1.4.1", "ava": "^1.4.1",
"tsd": "^0.7.2", "tsd": "^0.7.2",
"xo": "^0.24.0" "xo": "^0.24.0"
} }
} }
+78 -78
View File
@@ -1,80 +1,80 @@
{ {
"name": "call-bind", "name": "call-bind",
"version": "1.0.2", "version": "1.0.2",
"description": "Robustly `.call.bind()` a function", "description": "Robustly `.call.bind()` a function",
"main": "index.js", "main": "index.js",
"exports": { "exports": {
".": [ ".": [
{ {
"default": "./index.js" "default": "./index.js"
}, },
"./index.js" "./index.js"
], ],
"./callBound": [ "./callBound": [
{ {
"default": "./callBound.js" "default": "./callBound.js"
}, },
"./callBound.js" "./callBound.js"
], ],
"./package.json": "./package.json" "./package.json": "./package.json"
}, },
"scripts": { "scripts": {
"prepublish": "safe-publish-latest", "prepublish": "safe-publish-latest",
"lint": "eslint --ext=.js,.mjs .", "lint": "eslint --ext=.js,.mjs .",
"pretest": "npm run lint", "pretest": "npm run lint",
"tests-only": "nyc tape 'test/*'", "tests-only": "nyc tape 'test/*'",
"test": "npm run tests-only", "test": "npm run tests-only",
"posttest": "aud --production", "posttest": "aud --production",
"version": "auto-changelog && git add CHANGELOG.md", "version": "auto-changelog && git add CHANGELOG.md",
"postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""
}, },
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git+https://github.com/ljharb/call-bind.git" "url": "git+https://github.com/ljharb/call-bind.git"
}, },
"keywords": [ "keywords": [
"javascript", "javascript",
"ecmascript", "ecmascript",
"es", "es",
"js", "js",
"callbind", "callbind",
"callbound", "callbound",
"call", "call",
"bind", "bind",
"bound", "bound",
"call-bind", "call-bind",
"call-bound", "call-bound",
"function", "function",
"es-abstract" "es-abstract"
], ],
"author": "Jordan Harband <ljharb@gmail.com>", "author": "Jordan Harband <ljharb@gmail.com>",
"funding": { "funding": {
"url": "https://github.com/sponsors/ljharb" "url": "https://github.com/sponsors/ljharb"
}, },
"license": "MIT", "license": "MIT",
"bugs": { "bugs": {
"url": "https://github.com/ljharb/call-bind/issues" "url": "https://github.com/ljharb/call-bind/issues"
}, },
"homepage": "https://github.com/ljharb/call-bind#readme", "homepage": "https://github.com/ljharb/call-bind#readme",
"devDependencies": { "devDependencies": {
"@ljharb/eslint-config": "^17.3.0", "@ljharb/eslint-config": "^17.3.0",
"aud": "^1.1.3", "aud": "^1.1.3",
"auto-changelog": "^2.2.1", "auto-changelog": "^2.2.1",
"eslint": "^7.17.0", "eslint": "^7.17.0",
"nyc": "^10.3.2", "nyc": "^10.3.2",
"safe-publish-latest": "^1.1.4", "safe-publish-latest": "^1.1.4",
"tape": "^5.1.1" "tape": "^5.1.1"
}, },
"dependencies": { "dependencies": {
"function-bind": "^1.1.1", "function-bind": "^1.1.1",
"get-intrinsic": "^1.0.2" "get-intrinsic": "^1.0.2"
}, },
"auto-changelog": { "auto-changelog": {
"output": "CHANGELOG.md", "output": "CHANGELOG.md",
"template": "keepachangelog", "template": "keepachangelog",
"unreleased": false, "unreleased": false,
"commitLimit": false, "commitLimit": false,
"backfillLimit": false, "backfillLimit": false,
"hideCredit": true "hideCredit": true
} }
} }
+37 -37
View File
@@ -1,39 +1,39 @@
{ {
"name": "callsites", "name": "callsites",
"version": "3.1.0", "version": "3.1.0",
"description": "Get callsites from the V8 stack trace API", "description": "Get callsites from the V8 stack trace API",
"license": "MIT", "license": "MIT",
"repository": "sindresorhus/callsites", "repository": "sindresorhus/callsites",
"author": { "author": {
"name": "Sindre Sorhus", "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com", "email": "sindresorhus@gmail.com",
"url": "sindresorhus.com" "url": "sindresorhus.com"
}, },
"engines": { "engines": {
"node": ">=6" "node": ">=6"
}, },
"scripts": { "scripts": {
"test": "xo && ava && tsd" "test": "xo && ava && tsd"
}, },
"files": [ "files": [
"index.js", "index.js",
"index.d.ts" "index.d.ts"
], ],
"keywords": [ "keywords": [
"stacktrace", "stacktrace",
"v8", "v8",
"callsite", "callsite",
"callsites", "callsites",
"stack", "stack",
"trace", "trace",
"function", "function",
"file", "file",
"line", "line",
"debug" "debug"
], ],
"devDependencies": { "devDependencies": {
"ava": "^1.4.1", "ava": "^1.4.1",
"tsd": "^0.7.2", "tsd": "^0.7.2",
"xo": "^0.24.0" "xo": "^0.24.0"
} }
} }
+69 -69
View File
@@ -1,71 +1,71 @@
{ {
"name": "chalk", "name": "chalk",
"version": "2.4.2", "version": "2.4.2",
"description": "Terminal string styling done right", "description": "Terminal string styling done right",
"license": "MIT", "license": "MIT",
"repository": "chalk/chalk", "repository": "chalk/chalk",
"engines": { "engines": {
"node": ">=4" "node": ">=4"
}, },
"scripts": { "scripts": {
"test": "xo && tsc --project types && flow --max-warnings=0 && nyc ava", "test": "xo && tsc --project types && flow --max-warnings=0 && nyc ava",
"bench": "matcha benchmark.js", "bench": "matcha benchmark.js",
"coveralls": "nyc report --reporter=text-lcov | coveralls" "coveralls": "nyc report --reporter=text-lcov | coveralls"
}, },
"files": [ "files": [
"index.js", "index.js",
"templates.js", "templates.js",
"types/index.d.ts", "types/index.d.ts",
"index.js.flow" "index.js.flow"
], ],
"keywords": [ "keywords": [
"color", "color",
"colour", "colour",
"colors", "colors",
"terminal", "terminal",
"console", "console",
"cli", "cli",
"string", "string",
"str", "str",
"ansi", "ansi",
"style", "style",
"styles", "styles",
"tty", "tty",
"formatting", "formatting",
"rgb", "rgb",
"256", "256",
"shell", "shell",
"xterm", "xterm",
"log", "log",
"logging", "logging",
"command-line", "command-line",
"text" "text"
], ],
"dependencies": { "dependencies": {
"ansi-styles": "^3.2.1", "ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5", "escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0" "supports-color": "^5.3.0"
}, },
"devDependencies": { "devDependencies": {
"ava": "*", "ava": "*",
"coveralls": "^3.0.0", "coveralls": "^3.0.0",
"execa": "^0.9.0", "execa": "^0.9.0",
"flow-bin": "^0.68.0", "flow-bin": "^0.68.0",
"import-fresh": "^2.0.0", "import-fresh": "^2.0.0",
"matcha": "^0.7.0", "matcha": "^0.7.0",
"nyc": "^11.0.2", "nyc": "^11.0.2",
"resolve-from": "^4.0.0", "resolve-from": "^4.0.0",
"typescript": "^2.5.3", "typescript": "^2.5.3",
"xo": "*" "xo": "*"
}, },
"types": "types/index.d.ts", "types": "types/index.d.ts",
"xo": { "xo": {
"envs": [ "envs": [
"node", "node",
"mocha" "mocha"
], ],
"ignores": [ "ignores": [
"test/_flow.js" "test/_flow.js"
] ]
} }
} }
+52 -52
View File
@@ -1,54 +1,54 @@
{ {
"name": "chunkd", "name": "chunkd",
"version": "2.0.1", "version": "2.0.1",
"description": "Get a chunk of an array based on the total number of chunks and current index", "description": "Get a chunk of an array based on the total number of chunks and current index",
"main": "dist/chunkd.js", "main": "dist/chunkd.js",
"repository": "jamiebuilds/chunkd", "repository": "jamiebuilds/chunkd",
"author": "Jamie Kyle <me@thejameskyle.com>", "author": "Jamie Kyle <me@thejameskyle.com>",
"license": "MIT", "license": "MIT",
"keywords": [ "keywords": [
"util", "util",
"chunk", "chunk",
"index", "index",
"total" "total"
], ],
"files": [ "files": [
"dist" "dist"
], ],
"scripts": { "scripts": {
"check:typescript": "tsc --noEmit", "check:typescript": "tsc --noEmit",
"check:prettier": "prettier --check '**'", "check:prettier": "prettier --check '**'",
"build": "rm -rf dist && tsc", "build": "rm -rf dist && tsc",
"format": "prettier --write '**'", "format": "prettier --write '**'",
"test": "ava", "test": "ava",
"prepublishOnly": "npm run -s build" "prepublishOnly": "npm run -s build"
}, },
"devDependencies": { "devDependencies": {
"ava": "^2.4.0", "ava": "^2.4.0",
"husky": "^3.1.0", "husky": "^3.1.0",
"lint-staged": "^9.4.3", "lint-staged": "^9.4.3",
"prettier": "^1.19.1", "prettier": "^1.19.1",
"ts-node": "^8.5.2", "ts-node": "^8.5.2",
"typescript": "^3.7.2" "typescript": "^3.7.2"
}, },
"husky": { "husky": {
"hooks": { "hooks": {
"pre-commit": "lint-staged" "pre-commit": "lint-staged"
} }
}, },
"lint-staged": { "lint-staged": {
"*": [ "*": [
"prettier --write", "prettier --write",
"git add" "git add"
] ]
}, },
"ava": { "ava": {
"compileEnhancements": false, "compileEnhancements": false,
"extensions": [ "extensions": [
"ts" "ts"
], ],
"require": [ "require": [
"ts-node/register" "ts-node/register"
] ]
} }
} }
+37 -37
View File
@@ -1,39 +1,39 @@
{ {
"name": "clean-stack", "name": "clean-stack",
"version": "2.2.0", "version": "2.2.0",
"description": "Clean up error stack traces", "description": "Clean up error stack traces",
"license": "MIT", "license": "MIT",
"repository": "sindresorhus/clean-stack", "repository": "sindresorhus/clean-stack",
"author": { "author": {
"name": "Sindre Sorhus", "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com", "email": "sindresorhus@gmail.com",
"url": "sindresorhus.com" "url": "sindresorhus.com"
}, },
"engines": { "engines": {
"node": ">=6" "node": ">=6"
}, },
"scripts": { "scripts": {
"test": "xo && ava && tsd" "test": "xo && ava && tsd"
}, },
"files": [ "files": [
"index.js", "index.js",
"index.d.ts" "index.d.ts"
], ],
"keywords": [ "keywords": [
"clean", "clean",
"stack", "stack",
"trace", "trace",
"traces", "traces",
"error", "error",
"err", "err",
"electron" "electron"
], ],
"devDependencies": { "devDependencies": {
"ava": "^1.4.1", "ava": "^1.4.1",
"tsd": "^0.7.2", "tsd": "^0.7.2",
"xo": "^0.24.0" "xo": "^0.24.0"
}, },
"browser": { "browser": {
"os": false "os": false
} }
} }
+56 -56
View File
@@ -1,58 +1,58 @@
{ {
"name": "ansi-regex", "name": "ansi-regex",
"version": "6.0.1", "version": "6.0.1",
"description": "Regular expression for matching ANSI escape codes", "description": "Regular expression for matching ANSI escape codes",
"license": "MIT", "license": "MIT",
"repository": "chalk/ansi-regex", "repository": "chalk/ansi-regex",
"funding": "https://github.com/chalk/ansi-regex?sponsor=1", "funding": "https://github.com/chalk/ansi-regex?sponsor=1",
"author": { "author": {
"name": "Sindre Sorhus", "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com", "email": "sindresorhus@gmail.com",
"url": "https://sindresorhus.com" "url": "https://sindresorhus.com"
}, },
"type": "module", "type": "module",
"exports": "./index.js", "exports": "./index.js",
"engines": { "engines": {
"node": ">=12" "node": ">=12"
}, },
"scripts": { "scripts": {
"test": "xo && ava && tsd", "test": "xo && ava && tsd",
"view-supported": "node fixtures/view-codes.js" "view-supported": "node fixtures/view-codes.js"
}, },
"files": [ "files": [
"index.js", "index.js",
"index.d.ts" "index.d.ts"
], ],
"keywords": [ "keywords": [
"ansi", "ansi",
"styles", "styles",
"color", "color",
"colour", "colour",
"colors", "colors",
"terminal", "terminal",
"console", "console",
"cli", "cli",
"string", "string",
"tty", "tty",
"escape", "escape",
"formatting", "formatting",
"rgb", "rgb",
"256", "256",
"shell", "shell",
"xterm", "xterm",
"command-line", "command-line",
"text", "text",
"regex", "regex",
"regexp", "regexp",
"re", "re",
"match", "match",
"test", "test",
"find", "find",
"pattern" "pattern"
], ],
"devDependencies": { "devDependencies": {
"ava": "^3.15.0", "ava": "^3.15.0",
"tsd": "^0.14.0", "tsd": "^0.14.0",
"xo": "^0.38.2" "xo": "^0.38.2"
} }
} }
+57 -57
View File
@@ -1,59 +1,59 @@
{ {
"name": "string-width", "name": "string-width",
"version": "5.1.0", "version": "5.1.0",
"description": "Get the visual width of a string - the number of columns required to display it", "description": "Get the visual width of a string - the number of columns required to display it",
"license": "MIT", "license": "MIT",
"repository": "sindresorhus/string-width", "repository": "sindresorhus/string-width",
"funding": "https://github.com/sponsors/sindresorhus", "funding": "https://github.com/sponsors/sindresorhus",
"author": { "author": {
"name": "Sindre Sorhus", "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com", "email": "sindresorhus@gmail.com",
"url": "https://sindresorhus.com" "url": "https://sindresorhus.com"
}, },
"type": "module", "type": "module",
"exports": "./index.js", "exports": "./index.js",
"engines": { "engines": {
"node": ">=12" "node": ">=12"
}, },
"scripts": { "scripts": {
"test": "xo && ava && tsd" "test": "xo && ava && tsd"
}, },
"files": [ "files": [
"index.js", "index.js",
"index.d.ts" "index.d.ts"
], ],
"keywords": [ "keywords": [
"string", "string",
"character", "character",
"unicode", "unicode",
"width", "width",
"visual", "visual",
"column", "column",
"columns", "columns",
"fullwidth", "fullwidth",
"full-width", "full-width",
"full", "full",
"ansi", "ansi",
"escape", "escape",
"codes", "codes",
"cli", "cli",
"command-line", "command-line",
"terminal", "terminal",
"console", "console",
"cjk", "cjk",
"chinese", "chinese",
"japanese", "japanese",
"korean", "korean",
"fixed-width" "fixed-width"
], ],
"dependencies": { "dependencies": {
"eastasianwidth": "^0.2.0", "eastasianwidth": "^0.2.0",
"emoji-regex": "^9.2.2", "emoji-regex": "^9.2.2",
"strip-ansi": "^7.0.1" "strip-ansi": "^7.0.1"
}, },
"devDependencies": { "devDependencies": {
"ava": "^3.15.0", "ava": "^3.15.0",
"tsd": "^0.14.0", "tsd": "^0.14.0",
"xo": "^0.38.2" "xo": "^0.38.2"
} }
} }
+55 -55
View File
@@ -1,57 +1,57 @@
{ {
"name": "strip-ansi", "name": "strip-ansi",
"version": "7.0.1", "version": "7.0.1",
"description": "Strip ANSI escape codes from a string", "description": "Strip ANSI escape codes from a string",
"license": "MIT", "license": "MIT",
"repository": "chalk/strip-ansi", "repository": "chalk/strip-ansi",
"funding": "https://github.com/chalk/strip-ansi?sponsor=1", "funding": "https://github.com/chalk/strip-ansi?sponsor=1",
"author": { "author": {
"name": "Sindre Sorhus", "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com", "email": "sindresorhus@gmail.com",
"url": "https://sindresorhus.com" "url": "https://sindresorhus.com"
}, },
"type": "module", "type": "module",
"exports": "./index.js", "exports": "./index.js",
"engines": { "engines": {
"node": ">=12" "node": ">=12"
}, },
"scripts": { "scripts": {
"test": "xo && ava && tsd" "test": "xo && ava && tsd"
}, },
"files": [ "files": [
"index.js", "index.js",
"index.d.ts" "index.d.ts"
], ],
"keywords": [ "keywords": [
"strip", "strip",
"trim", "trim",
"remove", "remove",
"ansi", "ansi",
"styles", "styles",
"color", "color",
"colour", "colour",
"colors", "colors",
"terminal", "terminal",
"console", "console",
"string", "string",
"tty", "tty",
"escape", "escape",
"formatting", "formatting",
"rgb", "rgb",
"256", "256",
"shell", "shell",
"xterm", "xterm",
"log", "log",
"logging", "logging",
"command-line", "command-line",
"text" "text"
], ],
"dependencies": { "dependencies": {
"ansi-regex": "^6.0.1" "ansi-regex": "^6.0.1"
}, },
"devDependencies": { "devDependencies": {
"ava": "^3.15.0", "ava": "^3.15.0",
"tsd": "^0.17.0", "tsd": "^0.17.0",
"xo": "^0.44.0" "xo": "^0.44.0"
} }
} }
+46 -46
View File
@@ -1,48 +1,48 @@
{ {
"name": "cli-truncate", "name": "cli-truncate",
"version": "3.1.0", "version": "3.1.0",
"description": "Truncate a string to a specific width in the terminal", "description": "Truncate a string to a specific width in the terminal",
"license": "MIT", "license": "MIT",
"repository": "sindresorhus/cli-truncate", "repository": "sindresorhus/cli-truncate",
"funding": "https://github.com/sponsors/sindresorhus", "funding": "https://github.com/sponsors/sindresorhus",
"author": { "author": {
"name": "Sindre Sorhus", "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com", "email": "sindresorhus@gmail.com",
"url": "https://sindresorhus.com" "url": "https://sindresorhus.com"
}, },
"type": "module", "type": "module",
"exports": "./index.js", "exports": "./index.js",
"engines": { "engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0" "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
}, },
"scripts": { "scripts": {
"test": "xo && ava && tsd" "test": "xo && ava && tsd"
}, },
"files": [ "files": [
"index.js", "index.js",
"index.d.ts" "index.d.ts"
], ],
"keywords": [ "keywords": [
"truncate", "truncate",
"ellipsis", "ellipsis",
"text", "text",
"limit", "limit",
"slice", "slice",
"cli", "cli",
"terminal", "terminal",
"term", "term",
"shell", "shell",
"width", "width",
"ansi", "ansi",
"string" "string"
], ],
"dependencies": { "dependencies": {
"slice-ansi": "^5.0.0", "slice-ansi": "^5.0.0",
"string-width": "^5.0.0" "string-width": "^5.0.0"
}, },
"devDependencies": { "devDependencies": {
"ava": "^3.15.0", "ava": "^3.15.0",
"tsd": "^0.17.0", "tsd": "^0.17.0",
"xo": "^0.44.0" "xo": "^0.44.0"
} }
} }
+40 -56
View File
@@ -1,59 +1,43 @@
{ {
"name": "concat-map", "name" : "concat-map",
"description": "concatenative mapdashery", "description" : "concatenative mapdashery",
"version": "0.0.1", "version" : "0.0.1",
"repository": { "repository" : {
"type": "git", "type" : "git",
"url": "git://github.com/substack/node-concat-map.git" "url" : "git://github.com/substack/node-concat-map.git"
}, },
"main": "index.js", "main" : "index.js",
"keywords": [ "keywords" : [
"concat", "concat",
"concatMap", "concatMap",
"map", "map",
"functional", "functional",
"higher-order" "higher-order"
], ],
"directories": { "directories" : {
"example": "example", "example" : "example",
"test": "test" "test" : "test"
}, },
"scripts": { "scripts" : {
"test": "tape test/*.js" "test" : "tape test/*.js"
}, },
"devDependencies": { "devDependencies" : {
"tape": "~2.4.0" "tape" : "~2.4.0"
}, },
"license": "MIT", "license" : "MIT",
"author": { "author" : {
"name": "James Halliday", "name" : "James Halliday",
"email": "mail@substack.net", "email" : "mail@substack.net",
"url": "http://substack.net" "url" : "http://substack.net"
}, },
"testling": { "testling" : {
"files": "test/*.js", "files" : "test/*.js",
"browsers": { "browsers" : {
"ie": [ "ie" : [ 6, 7, 8, 9 ],
6, "ff" : [ 3.5, 10, 15.0 ],
7, "chrome" : [ 10, 22 ],
8, "safari" : [ 5.1 ],
9 "opera" : [ 12 ]
], }
"ff": [
3.5,
10,
15
],
"chrome": [
10,
22
],
"safari": [
5.1
],
"opera": [
12
]
} }
}
} }
+39 -39
View File
@@ -1,41 +1,41 @@
{ {
"name": "date-time", "name": "date-time",
"version": "3.1.0", "version": "3.1.0",
"description": "Pretty datetime: `2014-01-09 06:46:01`", "description": "Pretty datetime: `2014-01-09 06:46:01`",
"license": "MIT", "license": "MIT",
"repository": "sindresorhus/date-time", "repository": "sindresorhus/date-time",
"author": { "author": {
"name": "Sindre Sorhus", "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com", "email": "sindresorhus@gmail.com",
"url": "sindresorhus.com" "url": "sindresorhus.com"
}, },
"engines": { "engines": {
"node": ">=6" "node": ">=6"
}, },
"scripts": { "scripts": {
"test": "xo && ava && tsd" "test": "xo && ava && tsd"
}, },
"files": [ "files": [
"index.js", "index.js",
"index.d.ts" "index.d.ts"
], ],
"keywords": [ "keywords": [
"datetime", "datetime",
"date-time", "date-time",
"date", "date",
"time", "time",
"utc", "utc",
"iso", "iso",
"timezone", "timezone",
"zone", "zone",
"timestamp" "timestamp"
], ],
"dependencies": { "dependencies": {
"time-zone": "^1.0.0" "time-zone": "^1.0.0"
}, },
"devDependencies": { "devDependencies": {
"ava": "^1.4.1", "ava": "^1.4.1",
"tsd": "^0.7.1", "tsd": "^0.7.1",
"xo": "^0.24.0" "xo": "^0.24.0"
} }
} }
+63 -63
View File
@@ -1,65 +1,65 @@
{ {
"name": "define-properties", "name": "define-properties",
"version": "1.1.3", "version": "1.1.3",
"author": "Jordan Harband", "author": "Jordan Harband",
"description": "Define multiple non-enumerable properties at once. Uses `Object.defineProperty` when available; falls back to standard assignment in older engines.", "description": "Define multiple non-enumerable properties at once. Uses `Object.defineProperty` when available; falls back to standard assignment in older engines.",
"license": "MIT", "license": "MIT",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"pretest": "npm run --silent lint", "pretest": "npm run --silent lint",
"test": "npm run --silent tests-only", "test": "npm run --silent tests-only",
"posttest": "npm run --silent security", "posttest": "npm run --silent security",
"tests-only": "node test/index.js", "tests-only": "node test/index.js",
"coverage": "covert test/*.js", "coverage": "covert test/*.js",
"coverage-quiet": "covert test/*.js --quiet", "coverage-quiet": "covert test/*.js --quiet",
"lint": "npm run --silent jscs && npm run --silent eslint", "lint": "npm run --silent jscs && npm run --silent eslint",
"jscs": "jscs test/*.js *.js", "jscs": "jscs test/*.js *.js",
"eslint": "eslint test/*.js *.js", "eslint": "eslint test/*.js *.js",
"security": "nsp check" "security": "nsp check"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git://github.com/ljharb/define-properties.git" "url": "git://github.com/ljharb/define-properties.git"
}, },
"keywords": [ "keywords": [
"Object.defineProperty", "Object.defineProperty",
"Object.defineProperties", "Object.defineProperties",
"object", "object",
"property descriptor", "property descriptor",
"descriptor", "descriptor",
"define", "define",
"ES5" "ES5"
], ],
"dependencies": { "dependencies": {
"object-keys": "^1.0.12" "object-keys": "^1.0.12"
}, },
"devDependencies": { "devDependencies": {
"@ljharb/eslint-config": "^13.0.0", "@ljharb/eslint-config": "^13.0.0",
"covert": "^1.1.0", "covert": "^1.1.0",
"eslint": "^5.3.0", "eslint": "^5.3.0",
"jscs": "^3.0.7", "jscs": "^3.0.7",
"nsp": "^3.2.1", "nsp": "^3.2.1",
"tape": "^4.9.0" "tape": "^4.9.0"
}, },
"testling": { "testling": {
"files": "test/index.js", "files": "test/index.js",
"browsers": [ "browsers": [
"iexplore/6.0..latest", "iexplore/6.0..latest",
"firefox/3.0..6.0", "firefox/3.0..6.0",
"firefox/15.0..latest", "firefox/15.0..latest",
"firefox/nightly", "firefox/nightly",
"chrome/4.0..10.0", "chrome/4.0..10.0",
"chrome/20.0..latest", "chrome/20.0..latest",
"chrome/canary", "chrome/canary",
"opera/10.0..latest", "opera/10.0..latest",
"opera/next", "opera/next",
"safari/4.0..latest", "safari/4.0..latest",
"ipad/6.0..latest", "ipad/6.0..latest",
"iphone/6.0..latest", "iphone/6.0..latest",
"android-browser/4.2" "android-browser/4.2"
] ]
}, },
"engines": { "engines": {
"node": ">= 0.4" "node": ">= 0.4"
} }
} }
+64 -64
View File
@@ -1,66 +1,66 @@
{ {
"name": "del", "name": "del",
"version": "6.0.0", "version": "6.0.0",
"description": "Delete files and directories", "description": "Delete files and directories",
"license": "MIT", "license": "MIT",
"repository": "sindresorhus/del", "repository": "sindresorhus/del",
"funding": "https://github.com/sponsors/sindresorhus", "funding": "https://github.com/sponsors/sindresorhus",
"author": { "author": {
"name": "Sindre Sorhus", "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com", "email": "sindresorhus@gmail.com",
"url": "https://sindresorhus.com" "url": "https://sindresorhus.com"
}, },
"engines": { "engines": {
"node": ">=10" "node": ">=10"
}, },
"scripts": { "scripts": {
"test": "xo && ava && tsd", "test": "xo && ava && tsd",
"bench": "node benchmark.js" "bench": "node benchmark.js"
}, },
"files": [ "files": [
"index.js", "index.js",
"index.d.ts" "index.d.ts"
], ],
"keywords": [ "keywords": [
"delete", "delete",
"files", "files",
"folders", "folders",
"directories", "directories",
"remove", "remove",
"destroy", "destroy",
"trash", "trash",
"unlink", "unlink",
"clean", "clean",
"cleaning", "cleaning",
"cleanup", "cleanup",
"rm", "rm",
"rmrf", "rmrf",
"rimraf", "rimraf",
"rmdir", "rmdir",
"glob", "glob",
"gulpfriendly", "gulpfriendly",
"file", "file",
"folder", "folder",
"directory", "directory",
"fs", "fs",
"filesystem" "filesystem"
], ],
"dependencies": { "dependencies": {
"globby": "^11.0.1", "globby": "^11.0.1",
"graceful-fs": "^4.2.4", "graceful-fs": "^4.2.4",
"is-glob": "^4.0.1", "is-glob": "^4.0.1",
"is-path-cwd": "^2.2.0", "is-path-cwd": "^2.2.0",
"is-path-inside": "^3.0.2", "is-path-inside": "^3.0.2",
"p-map": "^4.0.0", "p-map": "^4.0.0",
"rimraf": "^3.0.2", "rimraf": "^3.0.2",
"slash": "^3.0.0" "slash": "^3.0.0"
}, },
"devDependencies": { "devDependencies": {
"ava": "^2.4.0", "ava": "^2.4.0",
"benchmark": "^2.1.4", "benchmark": "^2.1.4",
"make-dir": "^3.1.0", "make-dir": "^3.1.0",
"tempy": "^0.7.0", "tempy": "^0.7.0",
"tsd": "^0.13.1", "tsd": "^0.13.1",
"xo": "^0.33.1" "xo": "^0.33.1"
} }
} }

Some files were not shown because too many files have changed in this diff Show More