mirror of
https://github.com/github/codeql.git
synced 2026-04-29 02:35:15 +02:00
Javascript: use codeql_pack for javascript extractor
This commit is contained in:
committed by
Cornelius Riemenschneider
parent
fe8f13e8dd
commit
7b8c11379d
15
javascript/resources/BUILD.bazel
Normal file
15
javascript/resources/BUILD.bazel
Normal file
@@ -0,0 +1,15 @@
|
||||
load("//misc/bazel:pkg.bzl", "codeql_pkg_files")
|
||||
|
||||
codeql_pkg_files(
|
||||
name = "resources",
|
||||
srcs = glob(
|
||||
["**/*"],
|
||||
exclude = [
|
||||
"tools/*.sh",
|
||||
"BUILD.bazel",
|
||||
],
|
||||
),
|
||||
exes = glob(["tools/*.sh"]),
|
||||
strip_prefix = "",
|
||||
visibility = ["//javascript:__pkg__"],
|
||||
)
|
||||
94
javascript/resources/codeql-extractor.yml
Normal file
94
javascript/resources/codeql-extractor.yml
Normal file
@@ -0,0 +1,94 @@
|
||||
name: "javascript"
|
||||
aliases:
|
||||
- javascript-typescript
|
||||
- typescript
|
||||
display_name: "JavaScript/TypeScript"
|
||||
version: 1.22.1
|
||||
column_kind: "utf16"
|
||||
unicode_newlines: true
|
||||
build_modes:
|
||||
- none
|
||||
file_coverage_languages:
|
||||
- name: javascript
|
||||
display_name: JavaScript
|
||||
scc_languages:
|
||||
- JavaScript
|
||||
- name: typescript
|
||||
display_name: TypeScript
|
||||
scc_languages:
|
||||
- TypeScript
|
||||
- TypeScript Typings
|
||||
github_api_languages:
|
||||
- JavaScript
|
||||
- TypeScript
|
||||
scc_languages:
|
||||
- JavaScript
|
||||
- TypeScript
|
||||
- TypeScript Typings
|
||||
file_types:
|
||||
- name: javascript
|
||||
display_name: JavaScript
|
||||
extensions:
|
||||
- .js
|
||||
- .jsx
|
||||
- name: ecmascript
|
||||
display_name: ECMAScript
|
||||
extensions:
|
||||
- .es
|
||||
- .es6
|
||||
- .mjs
|
||||
- name: typescript
|
||||
display_name: TypeScript
|
||||
extensions:
|
||||
- .ts
|
||||
- .tsx
|
||||
- name: html
|
||||
display_name: HTML
|
||||
extensions:
|
||||
- .html
|
||||
- .htm
|
||||
- .xhtm
|
||||
- .xhtml
|
||||
- name: vue
|
||||
display_name: Vue.js component
|
||||
extensions:
|
||||
- .vue
|
||||
- name: data
|
||||
display_name: Data or configuration files
|
||||
extensions:
|
||||
- .json
|
||||
- .yml
|
||||
- .yaml
|
||||
- .raml
|
||||
legacy_qltest_extraction: true
|
||||
options:
|
||||
trap:
|
||||
title: TRAP options
|
||||
description: Options about how the extractor handles TRAP files
|
||||
type: object
|
||||
visibility: 3
|
||||
properties:
|
||||
cache:
|
||||
title: TRAP cache options
|
||||
description: Options about how the extractor handles its TRAP cache
|
||||
type: object
|
||||
properties:
|
||||
dir:
|
||||
title: TRAP cache directory
|
||||
description: The directory of the TRAP cache to use
|
||||
type: string
|
||||
bound:
|
||||
title: TRAP cache bound
|
||||
description: A soft limit (in MB) on the size of the TRAP cache
|
||||
type: string
|
||||
pattern: "[0-9]+"
|
||||
write:
|
||||
title: TRAP cache writeable
|
||||
description: Whether to write to the TRAP cache as well as reading it
|
||||
type: string
|
||||
pattern: "(true|TRUE|false|FALSE)"
|
||||
skip_types:
|
||||
title: Skip type extraction for TypeScript
|
||||
description: Whether to skip the extraction of types in a TypeScript application
|
||||
type: string
|
||||
pattern: "^(false|true)$"
|
||||
30
javascript/resources/tools/autobuild.cmd
Normal file
30
javascript/resources/tools/autobuild.cmd
Normal file
@@ -0,0 +1,30 @@
|
||||
@echo off
|
||||
SETLOCAL EnableDelayedExpansion
|
||||
|
||||
set jvm_args=-Xss16m
|
||||
|
||||
rem If CODEQL_RAM is set, use half for Java and half for TS.
|
||||
if NOT [%CODEQL_RAM%] == [] (
|
||||
set /a "half_ram=CODEQL_RAM/2"
|
||||
set LGTM_TYPESCRIPT_RAM=%half_ram%
|
||||
set jvm_args=!jvm_args! -Xmx!half_ram!m
|
||||
)
|
||||
|
||||
rem If CODEQL_THREADS is set, propagate via LGTM_THREADS.
|
||||
if NOT [%CODEQL_THREADS%] == [] (
|
||||
set LGTM_THREADS=%CODEQL_THREADS%
|
||||
)
|
||||
|
||||
rem The JS autobuilder expects to find typescript modules under SEMMLE_DIST/tools.
|
||||
rem They are included in the pack, but we need to set SEMMLE_DIST appropriately.
|
||||
set SEMMLE_DIST=%CODEQL_EXTRACTOR_JAVASCRIPT_ROOT%
|
||||
|
||||
rem The JS autobuilder expects LGTM_SRC to be set to the source root.
|
||||
set LGTM_SRC=%CD%
|
||||
|
||||
type NUL && "%CODEQL_JAVA_HOME%\bin\java.exe" %jvm_args% ^
|
||||
-cp "%CODEQL_EXTRACTOR_JAVASCRIPT_ROOT%\tools\extractor-javascript.jar" ^
|
||||
com.semmle.js.extractor.AutoBuild
|
||||
exit /b %ERRORLEVEL%
|
||||
|
||||
ENDLOCAL
|
||||
29
javascript/resources/tools/autobuild.sh
Executable file
29
javascript/resources/tools/autobuild.sh
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -eu
|
||||
|
||||
jvm_args=-Xss16m
|
||||
|
||||
# If CODEQL_RAM is set, use half for Java and half for TS.
|
||||
if [ -n "${CODEQL_RAM:-}" ] ; then
|
||||
half_ram="$(( CODEQL_RAM / 2 ))"
|
||||
LGTM_TYPESCRIPT_RAM="$half_ram"
|
||||
export LGTM_TYPESCRIPT_RAM
|
||||
jvm_args="$jvm_args -Xmx${half_ram}m"
|
||||
fi
|
||||
|
||||
# If CODEQL_THREADS is set, propagate via LGTM_THREADS.
|
||||
if [ -n "${CODEQL_THREADS:-}" ] ; then
|
||||
LGTM_THREADS="$CODEQL_THREADS"
|
||||
export LGTM_THREADS
|
||||
fi
|
||||
|
||||
# The JS autobuilder expects to find typescript modules under SEMMLE_DIST/tools.
|
||||
# They are included in the pack, but we need to set SEMMLE_DIST appropriately.
|
||||
# We want to word-split $jvm_args, so disable the shellcheck warning.
|
||||
# shellcheck disable=SC2086
|
||||
env SEMMLE_DIST="$CODEQL_EXTRACTOR_JAVASCRIPT_ROOT" \
|
||||
LGTM_SRC="$(pwd)" \
|
||||
"${CODEQL_JAVA_HOME}/bin/java" $jvm_args \
|
||||
-cp "$CODEQL_EXTRACTOR_JAVASCRIPT_ROOT/tools/extractor-javascript.jar" \
|
||||
com.semmle.js.extractor.AutoBuild
|
||||
8
javascript/resources/tools/baseline-config.json
Normal file
8
javascript/resources/tools/baseline-config.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"paths-ignore": [
|
||||
"**/node_modules/**",
|
||||
"**/bower_components/**",
|
||||
"**/*.min.js",
|
||||
"**/*-min.js"
|
||||
]
|
||||
}
|
||||
2
javascript/resources/tools/configure-baseline.cmd
Normal file
2
javascript/resources/tools/configure-baseline.cmd
Normal file
@@ -0,0 +1,2 @@
|
||||
@echo off
|
||||
type "%CODEQL_EXTRACTOR_JAVASCRIPT_ROOT%\tools\baseline-config.json"
|
||||
3
javascript/resources/tools/configure-baseline.sh
Executable file
3
javascript/resources/tools/configure-baseline.sh
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
cat "$CODEQL_EXTRACTOR_JAVASCRIPT_ROOT/tools/baseline-config.json"
|
||||
4
javascript/resources/tools/index-dir.sh
Executable file
4
javascript/resources/tools/index-dir.sh
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
|
||||
echo "Not implemented." 1>&2
|
||||
exit 1
|
||||
Reference in New Issue
Block a user