8 |
--------------------------------------------------------------------------------
/website/null-package/README.md:
--------------------------------------------------------------------------------
1 | This directory is intentionally empty (except this file).
2 |
3 | In package.json, reference this file as "link:./null-package" to prevent Yarn
4 | from installing a package. (Yarn will install this null-package "package"
5 | instead.)
6 |
--------------------------------------------------------------------------------
/dist/README.txt:
--------------------------------------------------------------------------------
1 | This directory contains scripts for installing quick-lint-js with different
2 | package managers and on different operating systems.
3 |
4 | See docs/INSTALLING.md for installation instructions.
5 |
6 | Also see Formula/ for Homebrew package manager files.
7 |
--------------------------------------------------------------------------------
/dist/debian/debian/source/lintian-overrides:
--------------------------------------------------------------------------------
1 | quick-lint-js source: source-is-missing benchmark/benchmark-lsp/corpus/edex-ui-filesystem.class.js
2 | quick-lint-js source: source-contains-prebuilt-javascript-object benchmark/benchmark-lsp/corpus/edex-ui-filesystem.class.js
3 |
--------------------------------------------------------------------------------
/tools/generate-lex-unicode/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "scripts": {
3 | "fmt": "prettier --write '*.js' '*.json'"
4 | },
5 | "dependencies": {
6 | "@unicode/unicode-16.0.0": "*"
7 | },
8 | "devDependencies": {
9 | "prettier": "^2.8.4"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/README.md:
--------------------------------------------------------------------------------
1 | This directory contains quick-lint-js' automated test suite. See the
2 | [building-from-source guide][build-from-source] for instructions on building and
3 | running these tests.
4 |
5 | [build-from-source]: https://quick-lint-js.com/contribute/build-from-source/
6 |
--------------------------------------------------------------------------------
/vendor/mongoose/src/base64.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | int mg_base64_update(unsigned char p, char *to, int len);
3 | int mg_base64_final(char *to, int len);
4 | int mg_base64_encode(const unsigned char *p, int n, char *to);
5 | int mg_base64_decode(const char *src, int n, char *dst);
6 |
--------------------------------------------------------------------------------
/dist/debian/debian/quick-lint-js.install:
--------------------------------------------------------------------------------
1 | usr/bin usr
2 | usr/share/bash-completion usr/share
3 | usr/share/emacs/site-lisp usr/share/emacs
4 | usr/share/fish usr/share
5 | usr/share/icons usr/share
6 | usr/share/man usr/share
7 | usr/share/metainfo usr/share
8 | usr/share/zsh usr/share
9 |
--------------------------------------------------------------------------------
/tools/browser-globals/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "scripts": {
3 | "fmt": "prettier --write '*.js' '*.json'"
4 | },
5 | "dependencies": {
6 | "parse5": "^7.1.2",
7 | "webidl2": "^24.2.2"
8 | },
9 | "devDependencies": {
10 | "prettier": "^2.8.4"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/vendor/googletest/googletest/scripts/README.md:
--------------------------------------------------------------------------------
1 | # Please Note:
2 |
3 | Files in this directory are no longer supported by the maintainers. They
4 | represent mosty historical artifacts and supported by the community only. There
5 | is no guarantee whatsoever that these scripts still work.
6 |
--------------------------------------------------------------------------------
/.git-bisect-ignore:
--------------------------------------------------------------------------------
1 | # This file lists Git commits which are likely uninteresting
2 | # when using 'git blame' or 'git bisect'.
3 |
4 | # Mass symbol renames:
5 | bc30c3fe051cdabb7844e48eba6c6eba0d38248b
6 | c78034750bc8a6e30efd7af0a7cc9f6c2979b942
7 | 309863e2a343b6d90401d7b92fb2084423620c5e
8 |
--------------------------------------------------------------------------------
/benchmark/benchmark-lsp/eslint/vanilla/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "env": {
3 | "browser": true,
4 | "es6": true,
5 | "node": true
6 | },
7 | "parserOptions": {
8 | "ecmaVersion": 2017
9 | },
10 | "extends": "eslint:recommended"
11 | }
12 |
--------------------------------------------------------------------------------
/infrastructure/README.md:
--------------------------------------------------------------------------------
1 | # quick-lint-js infrastructure
2 |
3 | This directory contains scripts and other stuff for hosting the quick-lint-js
4 | website and related stuff.
5 |
6 | ## Files and folders
7 |
8 | * `quick-lint-js-web-2`: Configuration and Ansible scripts for the HTTP server.
9 |
--------------------------------------------------------------------------------
/vendor/googletest/googlemock/scripts/README.md:
--------------------------------------------------------------------------------
1 | # Please Note:
2 |
3 | Files in this directory are no longer supported by the maintainers. They
4 | represent mostly historical artifacts and supported by the community only. There
5 | is no guarantee whatsoever that these scripts still work.
6 |
--------------------------------------------------------------------------------
/dist/debian/debian/watch:
--------------------------------------------------------------------------------
1 | version=4
2 |
3 | opts="pgpmode=next" https://c.quick-lint-js.com/releases/latest/source/ quick-lint-js-@ANY_VERSION@@ARCHIVE_EXT@ debian
4 | opts="pgpmode=previous" https://c.quick-lint-js.com/releases/latest/source/ quick-lint-js-@ANY_VERSION@@SIGNATURE_EXT@ previous
5 |
--------------------------------------------------------------------------------
/fuzz/README.txt:
--------------------------------------------------------------------------------
1 | This directory contains programs which find bugs in quick-lint-js components
2 | using fuzz testing. Fuzz testing feeds randomized inputs to functions and
3 | detects crashes and other problems.
4 |
5 | For documentation on building and running these programs, see docs/FUZZING.md.
6 |
--------------------------------------------------------------------------------
/src/quick-lint-js/debug/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "scripts": {
3 | "fmt": "prettier --write \"**/*.html\" \"**/*.mjs\"",
4 | "test": "node --test"
5 | },
6 | "engines": {
7 | "node": ">=18.0.0"
8 | },
9 | "devDependencies": {
10 | "prettier": "2.8.4"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/vendor/benchmark/.clang-tidy:
--------------------------------------------------------------------------------
1 | ---
2 | Checks: 'clang-analyzer-*,readability-redundant-*,performance-*'
3 | WarningsAsErrors: 'clang-analyzer-*,readability-redundant-*,performance-*'
4 | HeaderFilterRegex: '.*'
5 | AnalyzeTemporaryDtors: false
6 | FormatStyle: none
7 | User: user
8 |
--------------------------------------------------------------------------------
/vendor/simdjson/include/simdjson/arm64/intrinsics.h:
--------------------------------------------------------------------------------
1 | #ifndef SIMDJSON_ARM64_INTRINSICS_H
2 | #define SIMDJSON_ARM64_INTRINSICS_H
3 |
4 | // This should be the correct header whether
5 | // you use visual studio or other compilers.
6 | #include
7 |
8 | #endif // SIMDJSON_ARM64_INTRINSICS_H
9 |
--------------------------------------------------------------------------------
/benchmark/benchmark-lsp/eslint/airbnb/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "env": {
3 | "browser": true,
4 | "es6": true,
5 | "node": true
6 | },
7 | "parserOptions": {
8 | "ecmaVersion": 2017
9 | },
10 | "extends": [
11 | "airbnb-base"
12 | ]
13 | }
14 |
--------------------------------------------------------------------------------
/vendor/simdjson/examples/quickstart/quickstart2.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include "simdjson.h"
3 |
4 | int main(void) {
5 | simdjson::dom::parser parser;
6 | simdjson::dom::element tweets = parser.load("twitter.json");
7 | std::cout << "ID: " << tweets["statuses"].at(0)["id"] << std::endl;
8 | }
9 |
--------------------------------------------------------------------------------
/vendor/simdjson/examples/quickstart/quickstart.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include "simdjson.h"
3 |
4 | int main(void) {
5 | simdjson::dom::parser parser;
6 | simdjson::dom::element tweets = parser.load("twitter.json");
7 | std::cout << tweets["search_metadata"]["count"] << " results." << std::endl;
8 | }
9 |
--------------------------------------------------------------------------------
/.github/docker/README.md:
--------------------------------------------------------------------------------
1 | # GitHub Actions Docker images
2 |
3 | This directory contains scripts for quick-lint-js' Docker images used by GitHub
4 | Actions workflows.
5 |
6 | ## Images
7 |
8 | * `quick-lint-js-github-cross-builder`: creates
9 | `ghcr.io/quick-lint/quick-lint-js-github-cross-builder`
10 |
--------------------------------------------------------------------------------
/vendor/simdjson/scripts/dumpsimplestats.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
3 | cd $SCRIPTPATH/..
4 | make jsonstats
5 | echo
6 | for i in $SCRIPTPATH/../jsonexamples/*.json; do
7 | [ -f "$i" ] || break
8 | echo $i
9 | $SCRIPTPATH/../jsonstats $i
10 | echo
11 | done
12 |
--------------------------------------------------------------------------------
/website/public/errors/README.md:
--------------------------------------------------------------------------------
1 | # quick-lint-js errors
2 |
3 | This directory contains documentation on quick-lint-js' warnings and errors in
4 | HTML form.
5 |
6 | The source documents can be found in [docs/errors/](../../../docs/errors/). This
7 | directory contains code to convert those source documents into HTML.
8 |
--------------------------------------------------------------------------------
/website/backstop/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "scripts": {
3 | "test": "backstop test --config=backstop.config.cjs",
4 | "approve": "backstop approve --config=backstop.config.cjs"
5 | },
6 | "engines": {
7 | "node": ">=14.14.0"
8 | },
9 | "dependencies": {
10 | "backstopjs": "^6.2.2"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/website/public/vscode-codicon-warning.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/po/README.md:
--------------------------------------------------------------------------------
1 | This directory contains translations for quick-lint-js. The .po and .pot files
2 | are used by [GNU gettext][gettext]'s tooling.
3 |
4 | See [docs/TRANSLATING.md](../docs/TRANSLATING.md) for instructions on updating
5 | and compiling files in this directory.
6 |
7 | [gettext]: https://www.gnu.org/software/gettext/
8 |
--------------------------------------------------------------------------------
/vendor/simdjson/scripts/parser.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
3 | cd $SCRIPTPATH/..
4 | make parsingcompetition
5 | echo
6 | for i in $SCRIPTPATH/../jsonexamples/*.json; do
7 | [ -f "$i" ] || break
8 | echo $i
9 | $SCRIPTPATH/../parsingcompetition $i
10 | echo
11 | done
12 |
--------------------------------------------------------------------------------
/dist/msix/mapping.template.txt:
--------------------------------------------------------------------------------
1 | [Files]
2 | "AppxManifest.xml" "AppxManifest.xml"
3 | "images/Square150x150Logo.png" "images/Square150x150Logo.png"
4 | "images/Square44x44Logo.png" "images/Square44x44Logo.png"
5 | "images/StoreLogo.png" "images/StoreLogo.png"
6 |
7 | "{{ .EXE }}" "quick-lint-js.exe"
8 | "{{ .License }}" "LICENSE.txt"
9 |
--------------------------------------------------------------------------------
/vendor/simdjson/scripts/minifier.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
3 | cd $SCRIPTPATH/..
4 | make minifiercompetition
5 | echo
6 | for i in $SCRIPTPATH/../jsonexamples/*.json; do
7 | [ -f "$i" ] || break
8 | echo $i
9 | $SCRIPTPATH/../minifiercompetition $i
10 | echo
11 | done
12 |
--------------------------------------------------------------------------------
/vendor/benchmark/cmake/std_regex.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | int main() {
4 | const std::string str = "test0159";
5 | std::regex re;
6 | re = std::regex("^[a-z]+[0-9]+$",
7 | std::regex_constants::extended | std::regex_constants::nosubs);
8 | return std::regex_search(str, re) ? 0 : -1;
9 | }
10 |
11 |
--------------------------------------------------------------------------------
/vendor/mongoose/src/sntp.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "net.h"
4 |
5 | struct mg_connection *mg_sntp_connect(struct mg_mgr *mgr, const char *url,
6 | mg_event_handler_t fn, void *fn_data);
7 | void mg_sntp_request(struct mg_connection *c);
8 | int64_t mg_sntp_parse(const unsigned char *buf, size_t len);
9 |
--------------------------------------------------------------------------------
/website/analytics/.gitignore:
--------------------------------------------------------------------------------
1 | # Keep this file in sync with .npmignore.
2 |
3 | /node_modules/
4 |
5 | /config.json
6 |
7 | # Described by /config.example.json:
8 | /analytics.sqlite3
9 | /analytics.sqlite3-shm
10 | /analytics.sqlite3-wal
11 | /dist/
12 |
13 | # Created by 'npm pack':
14 | /quick-lint-js-website-analytics-0.0.0.tgz
15 |
--------------------------------------------------------------------------------
/vendor/mongoose/src/url.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "str.h"
3 |
4 | unsigned short mg_url_port(const char *url);
5 | int mg_url_is_ssl(const char *url);
6 | struct mg_str mg_url_host(const char *url);
7 | struct mg_str mg_url_user(const char *url);
8 | struct mg_str mg_url_pass(const char *url);
9 | const char *mg_url_uri(const char *url);
10 |
--------------------------------------------------------------------------------
/vendor/simdjson/windows/dirent_portable.h:
--------------------------------------------------------------------------------
1 | #ifndef SIMDJSON_DIRENT_PORTABLE_INC_
2 | #define SIMDJSON_DIRENT_PORTABLE_INC_
3 |
4 | #if (!defined(_WIN32) && !defined(_WIN64) && !(__MINGW32__) && !(__MINGW64__))
5 | #include
6 | #else
7 | #include "toni_ronnko_dirent.h"
8 | #endif
9 |
10 | #endif // SIMDJSON_DIRENT_PORTABLE_INC_
11 |
--------------------------------------------------------------------------------
/vendor/benchmark/cmake/llvm-toolchain.cmake:
--------------------------------------------------------------------------------
1 | find_package(LLVMAr REQUIRED)
2 | set(CMAKE_AR "${LLVMAR_EXECUTABLE}" CACHE FILEPATH "" FORCE)
3 |
4 | find_package(LLVMNm REQUIRED)
5 | set(CMAKE_NM "${LLVMNM_EXECUTABLE}" CACHE FILEPATH "" FORCE)
6 |
7 | find_package(LLVMRanLib REQUIRED)
8 | set(CMAKE_RANLIB "${LLVMRANLIB_EXECUTABLE}" CACHE FILEPATH "" FORCE)
9 |
--------------------------------------------------------------------------------
/vendor/simdjson/include/simdjson/simdjson.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * @deprecated We'll be removing this file so it isn't confused with the top level simdjson.h
4 | */
5 | #ifndef SIMDJSON_SIMDJSON_H
6 | #define SIMDJSON_SIMDJSON_H
7 |
8 | #include "simdjson/compiler_check.h"
9 | #include "simdjson/error.h"
10 |
11 | #endif // SIMDJSON_SIMDJSON_H
12 |
--------------------------------------------------------------------------------
/docs/errors/E0202.md:
--------------------------------------------------------------------------------
1 | # E0202: missing '=' after variable
2 |
3 | The following code has a missing equal '=' after variable name.
4 |
5 | ```javascript
6 | let x new Array();
7 | ```
8 |
9 | To fix this error, add '=' after variable `x`.
10 |
11 | ```javascript
12 | let x = new Array();
13 | ```
14 |
15 | Introduced in quick-lint-js version 0.3.0.
16 |
--------------------------------------------------------------------------------
/plugin/vscode-lsp/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "0.2.0",
3 | "configurations": [
4 | {
5 | "name": "Launch VS Code with Extension",
6 | "type": "extensionHost",
7 | "request": "launch",
8 | "runtimeExecutable": "${execPath}",
9 | "args": ["--extensionDevelopmentPath=${workspaceRoot}"]
10 | }
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/vendor/benchmark/cmake/gnu_posix_regex.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | int main() {
4 | std::string str = "test0159";
5 | regex_t re;
6 | int ec = regcomp(&re, "^[a-z]+[0-9]+$", REG_EXTENDED | REG_NOSUB);
7 | if (ec != 0) {
8 | return ec;
9 | }
10 | return regexec(&re, str.c_str(), 0, nullptr, 0) ? -1 : 0;
11 | }
12 |
13 |
--------------------------------------------------------------------------------
/vendor/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h:
--------------------------------------------------------------------------------
1 | // GOOGLETEST_CM0002 DO NOT DELETE
2 |
3 | #ifndef GOOGLEMOCK_INCLUDE_GMOCK_INTERNAL_CUSTOM_GMOCK_GENERATED_ACTIONS_H_
4 | #define GOOGLEMOCK_INCLUDE_GMOCK_INTERNAL_CUSTOM_GMOCK_GENERATED_ACTIONS_H_
5 |
6 | #endif // GOOGLEMOCK_INCLUDE_GMOCK_INTERNAL_CUSTOM_GMOCK_GENERATED_ACTIONS_H_
7 |
--------------------------------------------------------------------------------
/vendor/mongoose/src/arch_rp2040.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #if MG_ARCH == MG_ARCH_RP2040
4 | #include
5 | #include
6 | #include
7 | #include
8 | #include
9 | #include
10 | #include
11 | #include
12 |
13 | #include
14 | int mkdir(const char *, mode_t);
15 | #endif
16 |
--------------------------------------------------------------------------------
/vendor/simdjson/include/simdjson/generic/ondemand/token_position.h:
--------------------------------------------------------------------------------
1 | namespace simdjson {
2 | namespace SIMDJSON_IMPLEMENTATION {
3 | namespace ondemand {
4 |
5 | /** @private Position in the JSON buffer indexes */
6 | using token_position = const uint32_t *;
7 |
8 | } // namespace ondemand
9 | } // namespace SIMDJSON_IMPLEMENTATION
10 | } // namespace simdjson
11 |
--------------------------------------------------------------------------------
/vendor/simdjson/windows/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_library(simdjson-windows-headers INTERFACE)
2 | if(MSVC OR MINGW)
3 | target_include_directories(simdjson-windows-headers INTERFACE .)
4 | # getopt.h triggers bogus CRT_SECURE warnings. If you include them, you need this.
5 | target_compile_definitions(simdjson-windows-headers INTERFACE _CRT_SECURE_NO_WARNINGS)
6 | endif()
7 |
--------------------------------------------------------------------------------
/vendor/googletest/googletest/cmake/Config.cmake.in:
--------------------------------------------------------------------------------
1 | @PACKAGE_INIT@
2 | include(CMakeFindDependencyMacro)
3 | if (@GTEST_HAS_PTHREAD@)
4 | set(THREADS_PREFER_PTHREAD_FLAG @THREADS_PREFER_PTHREAD_FLAG@)
5 | find_dependency(Threads)
6 | endif()
7 |
8 | include("${CMAKE_CURRENT_LIST_DIR}/@targets_export_name@.cmake")
9 | check_required_components("@project_name@")
10 |
--------------------------------------------------------------------------------
/vendor/mongoose/src/md5.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "arch.h"
4 |
5 | typedef struct {
6 | uint32_t buf[4];
7 | uint32_t bits[2];
8 | unsigned char in[64];
9 | } mg_md5_ctx;
10 |
11 | void mg_md5_init(mg_md5_ctx *c);
12 | void mg_md5_update(mg_md5_ctx *c, const unsigned char *data, size_t len);
13 | void mg_md5_final(mg_md5_ctx *c, unsigned char[16]);
14 |
--------------------------------------------------------------------------------
/vendor/node-addon-api/index.js:
--------------------------------------------------------------------------------
1 | const path = require('path');
2 |
3 | const include_dir = path.relative('.', __dirname);
4 |
5 | module.exports = {
6 | include: `"${__dirname}"`, // deprecated, can be removed as part of 4.0.0
7 | include_dir,
8 | gyp: path.join(include_dir, 'node_api.gyp:nothing'),
9 | isNodeApiBuiltin: true,
10 | needsFlag: false
11 | };
12 |
--------------------------------------------------------------------------------
/.github/docker/quick-lint-js-github-emacs/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM ghcr.io/quick-lint/quick-lint-js-github-gcc:v1
2 |
3 | RUN \
4 | sed -n -e 's/^deb /deb-src /p' /etc/apt/sources.list >/etc/apt/sources.list.d/quick-lint-js-sources.list && \
5 | apt-get update && \
6 | DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
7 | emacs \
8 | zip
9 |
--------------------------------------------------------------------------------
/docs/errors/E0133.md:
--------------------------------------------------------------------------------
1 | # E0133: error generator function star belongs before name
2 |
3 | The following code has misplaced '*'.
4 |
5 | ```javascript
6 | *function f(x) { yield x; }
7 | ```
8 |
9 | To fix this error, move the '*' before function name.
10 |
11 | ```javascript
12 | function *f(x) { yield x; }
13 | ```
14 |
15 | Introduced in quick-lint-js version 0.2.0.
16 |
--------------------------------------------------------------------------------
/docs/errors/E0349.md:
--------------------------------------------------------------------------------
1 | # E0349: function parameter cannot be parenthesized
2 |
3 | Using parenthesis around the function parameter is invalid.
4 |
5 | ```typescript
6 | let g = ((x)) => { };
7 | let f = function ((x)) { };
8 | ```
9 |
10 | To fix this error, remove the parenthesis.
11 |
12 | ```typescript
13 | let g = (x) => { };
14 | let f = function (x) { };
15 | ```
16 |
--------------------------------------------------------------------------------
/docs/errors/E0203.md:
--------------------------------------------------------------------------------
1 | # E0203: depth limit exceeded
2 |
3 |
4 |
5 | JavaScript code can contain nested functions, arrays, objects, classes, etc.
6 | quick-lint-js only supports nesting up to a limit. Most code shouldn't hit this
7 | limit. If you do hit this limit, refactor your code to reduce nesting.
8 |
9 | Introduced in quick-lint-js version 0.3.0.
10 |
--------------------------------------------------------------------------------
/vendor/mongoose/src/sha1.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "arch.h"
4 |
5 | typedef struct {
6 | uint32_t state[5];
7 | uint32_t count[2];
8 | unsigned char buffer[64];
9 | } mg_sha1_ctx;
10 |
11 | void mg_sha1_init(mg_sha1_ctx *);
12 | void mg_sha1_update(mg_sha1_ctx *, const unsigned char *data, size_t len);
13 | void mg_sha1_final(unsigned char digest[20], mg_sha1_ctx *);
14 |
--------------------------------------------------------------------------------
/vendor/simdjson/scripts/transitions/Makefile:
--------------------------------------------------------------------------------
1 | all:../../include/transitions.h
2 |
3 | ../../include/transitions.h: generatetransitions
4 | ./generatetransitions > ../../include/jsonparser/transitions.h
5 |
6 | generatetransitions: generatetransitions.cpp
7 | $(CXX) -o generatetransitions generatetransitions.cpp -I../../include
8 |
9 | clean:
10 | rm -f generatetransitions
11 |
--------------------------------------------------------------------------------
/vendor/benchmark/docs/index.md:
--------------------------------------------------------------------------------
1 | # Benchmark
2 |
3 | * [Assembly Tests](AssemblyTests.md)
4 | * [Dependencies](dependencies.md)
5 | * [Perf Counters](perf_counters.md)
6 | * [Platform Specific Build Instructions](platform_specific_build_instructions.md)
7 | * [Random Interleaving](random_interleaving.md)
8 | * [Releasing](releasing.md)
9 | * [Tools](tools.md)
10 | * [User Guide](user_guide.md)
--------------------------------------------------------------------------------
/vendor/googletest/googletest/cmake/gtest.pc.in:
--------------------------------------------------------------------------------
1 | libdir=@CMAKE_INSTALL_FULL_LIBDIR@
2 | includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
3 |
4 | Name: gtest
5 | Description: GoogleTest (without main() function)
6 | Version: @PROJECT_VERSION@
7 | URL: https://github.com/google/googletest
8 | Libs: -L${libdir} -lgtest @CMAKE_THREAD_LIBS_INIT@
9 | Cflags: -I${includedir} @GTEST_HAS_PTHREAD_MACRO@
10 |
--------------------------------------------------------------------------------
/benchmark/benchmark-lsp/eslint/vue/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "env": {
3 | "browser": true,
4 | "es6": true,
5 | "node": true
6 | },
7 | "parserOptions": {
8 | "ecmaVersion": 2017
9 | },
10 | "extends": [
11 | "eslint:recommended",
12 | "plugin:vue/essential"
13 | ],
14 | "plugins": [
15 | "vue"
16 | ]
17 | }
18 |
--------------------------------------------------------------------------------
/src/quick-lint-js/debug/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | prettier@2.8.4:
6 | version "2.8.4"
7 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3"
8 | integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==
9 |
--------------------------------------------------------------------------------
/vendor/benchmark/cmake/benchmark.pc.in:
--------------------------------------------------------------------------------
1 | prefix=@CMAKE_INSTALL_PREFIX@
2 | exec_prefix=${prefix}
3 | libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
4 | includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
5 |
6 | Name: @PROJECT_NAME@
7 | Description: Google microbenchmark framework
8 | Version: @VERSION@
9 |
10 | Libs: -L${libdir} -lbenchmark
11 | Libs.private: -lpthread
12 | Cflags: -I${includedir}
13 |
--------------------------------------------------------------------------------
/vendor/benchmark/cmake/posix_regex.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | int main() {
4 | std::string str = "test0159";
5 | regex_t re;
6 | int ec = regcomp(&re, "^[a-z]+[0-9]+$", REG_EXTENDED | REG_NOSUB);
7 | if (ec != 0) {
8 | return ec;
9 | }
10 | int ret = regexec(&re, str.c_str(), 0, nullptr, 0) ? -1 : 0;
11 | regfree(&re);
12 | return ret;
13 | }
14 |
15 |
--------------------------------------------------------------------------------
/vendor/simdjson/cmake/add_compile_only_test.cmake:
--------------------------------------------------------------------------------
1 | function(add_compile_only_test TEST_NAME)
2 | add_test(
3 | NAME ${TEST_NAME}
4 | COMMAND ${CMAKE_COMMAND} --build . --target ${TEST_NAME} --config $
5 | WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
6 | )
7 | set_target_properties(${TEST_NAME} PROPERTIES EXCLUDE_FROM_ALL TRUE EXCLUDE_FROM_DEFAULT_BUILD TRUE)
8 | endfunction()
--------------------------------------------------------------------------------
/benchmark/benchmark-lsp/flow/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | flow-bin@*:
6 | version "0.223.0"
7 | resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.223.0.tgz#38fb6efd6c202b774d01834ded0620eb8eebad89"
8 | integrity sha512-E+GmTcBTPIRfnX/Dk19zJewX9grxoVQU+RG3Ypd/Os0OkUSOF7K3Sxo2I+8Oz1EpnPMGhnbM4WRAUuY0JaHRsw==
9 |
--------------------------------------------------------------------------------
/docs/INSTALLING.md:
--------------------------------------------------------------------------------
1 | # Installing quick-lint-js
2 |
3 | For quick-lint-js installation instructions, see the [installation
4 | instructions](https://quick-lint-js.com/install/) on the website.
5 |
6 | For instructions on building quick-lint-js, see [BUILDING
7 | instructions][build-from-source] for developers
8 |
9 | [build-from-source]: https://quick-lint-js.com/contribute/build-from-source/
10 |
--------------------------------------------------------------------------------
/docs/errors/E0002.md:
--------------------------------------------------------------------------------
1 | # E0002: assignment to const global variable
2 |
3 | `Infinity`, `NaN`, and `undefined` are global variables which cannot be changed.
4 | Assignments to these variables are silently ignored.
5 |
6 | ```javascript
7 | NaN = 0;
8 | undefined = null;
9 | ```
10 |
11 | To fix this error, pick a different variable to assign to.
12 |
13 | Introduced in quick-lint-js version 0.2.0.
14 |
--------------------------------------------------------------------------------
/docs/errors/E0086.md:
--------------------------------------------------------------------------------
1 | # E0086: redundant delete statement on variable
2 |
3 | The following delete statement is redundant on variable:
4 |
5 | ```javascript
6 | let x = 3;
7 | delete x;
8 | console.log(x);
9 | ```
10 |
11 | To fix this warning, remove the delete statement:
12 |
13 | ```javascript
14 | let x = 3;
15 | console.log(x);
16 | ```
17 |
18 | Introduced in quick-lint-js version 0.3.0.
19 |
--------------------------------------------------------------------------------
/docs/errors/E0204.md:
--------------------------------------------------------------------------------
1 | # E0204: error generator function star belongs after keyword function
2 |
3 | The following code has misplaced '*'.
4 |
5 | ```javascript
6 | let x = *function(y) { yield y; };
7 | ```
8 |
9 | To fix this error, move the '*' after the keyword function.
10 |
11 | ```javascript
12 | let x = function*(y) { yield y; };
13 | ```
14 |
15 | Introduced in quick-lint-js version 0.3.0.
16 |
--------------------------------------------------------------------------------
/docs/errors/E0165.md:
--------------------------------------------------------------------------------
1 | # E0165: TypeScript style const field
2 |
3 | `const` fields are only allowed in TypeScript, not JavaScript
4 |
5 | ```javascript
6 | class C {
7 | const f = null;
8 | }
9 | ```
10 |
11 | To fix this error, remove the `const` declarator from the field
12 |
13 | ```javascript
14 | class C {
15 | f = null;
16 | }
17 | ```
18 |
19 | Introduced in quick-lint-js version 0.3.0.
20 |
--------------------------------------------------------------------------------
/vendor/mongoose/src/arch_tirtos.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #if MG_ARCH == MG_ARCH_TIRTOS
4 |
5 | #include
6 | #include
7 | #include
8 | #include
9 | #include
10 | #include
11 | #include
12 | #include
13 |
14 | #include
15 | #include
16 |
17 | #include
18 |
19 | #endif
20 |
--------------------------------------------------------------------------------
/vendor/googletest/docs/community_created_documentation.md:
--------------------------------------------------------------------------------
1 | # Community-Created Documentation
2 |
3 | The following is a list, in no particular order, of links to documentation
4 | created by the Googletest community.
5 |
6 | * [Googlemock Insights](https://github.com/ElectricRCAircraftGuy/eRCaGuy_dotfiles/blob/master/googletest/insights.md),
7 | by [ElectricRCAircraftGuy](https://github.com/ElectricRCAircraftGuy)
8 |
--------------------------------------------------------------------------------
/vendor/simdjson/examples/quickstart/quickstart_ondemand.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include "simdjson.h"
3 | using namespace simdjson;
4 | int main(void) {
5 | ondemand::parser parser;
6 | padded_string json = padded_string::load("twitter.json");
7 | ondemand::document tweets = parser.iterate(json);
8 | std::cout << uint64_t(tweets["search_metadata"]["count"]) << " results." << std::endl;
9 | }
10 |
--------------------------------------------------------------------------------
/website/public/license/kate.svg.html:
--------------------------------------------------------------------------------
1 | From Tyson Tan:
2 |
3 | I hereby donate the new Kate the Cyber Woodpecker to Kate Editor project. The
4 | artworks are dual licensed under LGPL (or whatever the same as Kate Editor)
5 | and Creative Commons BY-SA. In this way you don’t need to ask me for
6 | permission before using/modifying the mascot.
7 |
8 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # CMake build directory. Created by instructions in
2 | # website/public/contribute/build-from-source/... and plugin/vscode/BUILDING.md.
3 | /build-tools/
4 | /build/
5 |
6 | # Nix symlink. Created by instructions in docs/BUILDING.md.
7 | /result
8 |
9 | # Created by clangd after the project has been analyzed.
10 | /.cache/
11 |
12 | # Relevant only to Dev Environment on Windows
13 | /.vs
14 | /out/build/*
--------------------------------------------------------------------------------
/.vscode/c_cpp_properties.json:
--------------------------------------------------------------------------------
1 | {
2 | "configurations": [
3 | {
4 | "name": "Linux",
5 | "defines": [],
6 | "compilerPath": "/usr/bin/clang",
7 | "cppStandard": "c++20",
8 | "intelliSenseMode": "linux-clang-x64",
9 | "compileCommands": "${workspaceFolder}/build/compile_commands.json"
10 | }
11 | ],
12 | "version": 4
13 | }
14 |
--------------------------------------------------------------------------------
/.github/docker/quick-lint-js-github-vim/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM debian:bullseye
2 |
3 | RUN \
4 | sed -n -e 's/^deb /deb-src /p' /etc/apt/sources.list >/etc/apt/sources.list.d/quick-lint-js-sources.list && \
5 | apt-get update && \
6 | DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
7 | ca-certificates \
8 | git \
9 | neovim \
10 | nodejs \
11 | vim \
12 | zip
13 |
--------------------------------------------------------------------------------
/vendor/googletest/googlemock/cmake/gmock.pc.in:
--------------------------------------------------------------------------------
1 | libdir=@CMAKE_INSTALL_FULL_LIBDIR@
2 | includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
3 |
4 | Name: gmock
5 | Description: GoogleMock (without main() function)
6 | Version: @PROJECT_VERSION@
7 | URL: https://github.com/google/googletest
8 | Requires: gtest = @PROJECT_VERSION@
9 | Libs: -L${libdir} -lgmock @CMAKE_THREAD_LIBS_INIT@
10 | Cflags: -I${includedir} @GTEST_HAS_PTHREAD_MACRO@
11 |
--------------------------------------------------------------------------------
/website/analytics/.npmignore:
--------------------------------------------------------------------------------
1 | # Keep yarn.lock for when we push to production.
2 | !/yarn.lock
3 |
4 | # Keep everything below this comment in sync with .gitignore.
5 |
6 | /node_modules/
7 |
8 | /config.json
9 |
10 | # Described by /config.example.json:
11 | /analytics.sqlite3
12 | /analytics.sqlite3-shm
13 | /analytics.sqlite3-wal
14 | /dist/
15 |
16 | # Created by 'npm pack':
17 | /quick-lint-js-website-analytics-0.0.0.tgz
18 |
--------------------------------------------------------------------------------
/vendor/simdjson/scripts/javascript/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "generatelargejson",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "generatelargejson.js",
6 | "dependencies": {
7 | "faker": "^4.1.0",
8 | "fs": "0.0.1-security"
9 | },
10 | "devDependencies": {},
11 | "scripts": {
12 | "test": "echo \"Error: no test specified\" && exit 1"
13 | },
14 | "author": "",
15 | "license": "ISC"
16 | }
17 |
--------------------------------------------------------------------------------
/vendor/benchmark/tools/BUILD.bazel:
--------------------------------------------------------------------------------
1 | load("@py_deps//:requirements.bzl", "requirement")
2 |
3 | py_library(
4 | name = "gbench",
5 | srcs = glob(["gbench/*.py"]),
6 | deps = [
7 | requirement("numpy"),
8 | requirement("scipy"),
9 | ],
10 | )
11 |
12 | py_binary(
13 | name = "compare",
14 | srcs = ["compare.py"],
15 | python_version = "PY2",
16 | deps = [
17 | ":gbench",
18 | ],
19 | )
20 |
--------------------------------------------------------------------------------
/vendor/googletest/googlemock/cmake/gmock_main.pc.in:
--------------------------------------------------------------------------------
1 | libdir=@CMAKE_INSTALL_FULL_LIBDIR@
2 | includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
3 |
4 | Name: gmock_main
5 | Description: GoogleMock (with main() function)
6 | Version: @PROJECT_VERSION@
7 | URL: https://github.com/google/googletest
8 | Requires: gmock = @PROJECT_VERSION@
9 | Libs: -L${libdir} -lgmock_main @CMAKE_THREAD_LIBS_INIT@
10 | Cflags: -I${includedir} @GTEST_HAS_PTHREAD_MACRO@
11 |
--------------------------------------------------------------------------------
/vendor/googletest/googletest/cmake/gtest_main.pc.in:
--------------------------------------------------------------------------------
1 | libdir=@CMAKE_INSTALL_FULL_LIBDIR@
2 | includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
3 |
4 | Name: gtest_main
5 | Description: GoogleTest (with main() function)
6 | Version: @PROJECT_VERSION@
7 | URL: https://github.com/google/googletest
8 | Requires: gtest = @PROJECT_VERSION@
9 | Libs: -L${libdir} -lgtest_main @CMAKE_THREAD_LIBS_INIT@
10 | Cflags: -I${includedir} @GTEST_HAS_PTHREAD_MACRO@
11 |
--------------------------------------------------------------------------------
/dist/apple/README.md:
--------------------------------------------------------------------------------
1 | This directory contains files related to distribution on Apple operating systems
2 | (such as macOS).
3 |
4 | ## `quick-lint-js.csreq`
5 |
6 | `quick-lint-js.csreq` is generated from the following command:
7 |
8 | $ csreq -r <(printf 'identifier "quick-lint-js" and certificate leaf = H"%s"\n' "$(openssl x509 -in ./dist/certificates/quick-lint-js.crt -outform der | shasum -a 1 | cut -c1-40)") -b dist/apple/quick-lint-js.csreq
9 |
--------------------------------------------------------------------------------
/infrastructure/quick-lint-js-web-2/roles/apache/files/ports.conf:
--------------------------------------------------------------------------------
1 | # If you just change the port or add more ports here, you will likely also
2 | # have to change the VirtualHost statement in
3 | # /etc/apache2/sites-enabled/000-default.conf
4 |
5 | Listen 80
6 |
7 |
8 | Listen 443
9 |
10 |
11 |
12 | Listen 443
13 |
14 |
15 | # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
16 |
--------------------------------------------------------------------------------
/plugin/vscode-lsp/README.md:
--------------------------------------------------------------------------------
1 | # quick-lint-js Visual Studio Code plugin
2 |
3 | This directory contains a plugin for the [Visual Studio Code
4 | editor][VisualStudioCode].
5 |
6 | ## Building
7 |
8 | To build the extension, run the following commands:
9 |
10 | $ yarn
11 | $ ./node_modules/.bin/vsce package
12 |
13 | This will create a file called `quick-lint-js-lsp-3.2.0.vsix`.
14 |
15 | [VisualStudioCode]: https://code.visualstudio.com/
16 |
--------------------------------------------------------------------------------
/vendor/benchmark/cmake/Modules/FindLLVMRanLib.cmake:
--------------------------------------------------------------------------------
1 | include(FeatureSummary)
2 |
3 | find_program(LLVMRANLIB_EXECUTABLE
4 | NAMES llvm-ranlib
5 | DOC "The llvm-ranlib executable"
6 | )
7 |
8 | include(FindPackageHandleStandardArgs)
9 | find_package_handle_standard_args(LLVMRanLib
10 | DEFAULT_MSG
11 | LLVMRANLIB_EXECUTABLE)
12 |
13 | SET_PACKAGE_PROPERTIES(LLVMRanLib PROPERTIES
14 | DESCRIPTION "generate index for LLVM archive"
15 | )
16 |
--------------------------------------------------------------------------------
/Formula/README.md:
--------------------------------------------------------------------------------
1 | # quick-lint-js Homebrew formula
2 |
3 | This directory contains formulae for the [Homebrew package manager][Homebrew].
4 |
5 | For installation instructions, see quick-lint-js' [installation
6 | documentation](../docs/INSTALLING.md#macos-homebrew).
7 |
8 | [`quick-lint-js.rb` is synchronized with Homebrew
9 | core.](https://github.com/Homebrew/homebrew-core/blob/master/Formula/quick-lint-js.rb)
10 |
11 | [Homebrew]: https://brew.sh/
12 |
--------------------------------------------------------------------------------
/docs/errors/E0126.md:
--------------------------------------------------------------------------------
1 | # E0126: expected 'as' between '\*' and variable
2 |
3 | You can import all of a module's exports using `import *`. It is a syntax error
4 | to omit the `as` keyword between the `*` and the new object's name:
5 |
6 | ```javascript
7 | import * d3 from 'd3';
8 | ```
9 |
10 | To fix this error, write `as` after `*`:
11 |
12 | ```javascript
13 | import * as d3 from 'd3';
14 | ```
15 |
16 | Introduced in quick-lint-js version 0.2.0.
17 |
--------------------------------------------------------------------------------
/docs/errors/E0274.md:
--------------------------------------------------------------------------------
1 | # E0274: TypeScript import aliases are not allowed in JavaScript
2 |
3 | TypeScript supports import alias using `import`. It is
4 | a syntax error to write such an alias in JavaScript code:
5 |
6 | ```javascript
7 | import m = require('mod');
8 | ```
9 |
10 | To fix this error, use `const` instead of `import`:
11 |
12 | ```javascript
13 | const m = require('mod');
14 | ```
15 |
16 | Introduced in quick-lint-js version 2.8.0.
17 |
--------------------------------------------------------------------------------
/dist/chocolatey/tools/VERIFICATION.txt:
--------------------------------------------------------------------------------
1 | VERIFICATION
2 | Verification is intended to assist the Chocolatey moderators and community
3 | in verifying that this package's contents are trustworthy.
4 |
5 | I, Matthew "strager" Glazar, am the software vendor who packaged this software
6 | for Chocolatey.
7 |
8 | Upstream SHA256 checksums: https://c.quick-lint-js.com/releases/3.2.0/SHA256SUMS
9 | GPG signature: https://c.quick-lint-js.com/releases/3.2.0/SHA256SUMS.asc
10 |
--------------------------------------------------------------------------------
/docs/errors/E0270.md:
--------------------------------------------------------------------------------
1 | # E0270: TypeScript type imports are not allowed in JavaScript
2 |
3 | TypeScript supports importing types using `import type`. It is a syntax error to
4 | write `import type` in JavaScript code:
5 |
6 | ```javascript
7 | import React, {type FC} from "react";
8 | ```
9 |
10 | To fix this error, delete the imported type:
11 |
12 | ```javascript
13 | import React from "react";
14 | ```
15 |
16 | Introduced in quick-lint-js version 2.8.0.
17 |
--------------------------------------------------------------------------------
/docs/errors/E0717.md:
--------------------------------------------------------------------------------
1 | # E0717: namespace alias cannot use 'import type'
2 |
3 |
4 | The error message "namespace alias cannot use 'import type'" occurs when
5 | trying to use the 'import type' syntax with an alias.
6 |
7 |
8 | ```typescript
9 | import type A = ns;
10 | ```
11 |
12 |
13 | To fix this error, you need to use the regular 'import' syntax instead
14 | of 'import type' when using an alias.
15 |
16 |
17 | ```typescript
18 | import A = ns;
19 | ```
20 |
--------------------------------------------------------------------------------
/vendor/benchmark/.github/workflows/clang-format-lint.yml:
--------------------------------------------------------------------------------
1 | name: clang-format-lint
2 | on:
3 | push: {}
4 | pull_request: {}
5 |
6 | jobs:
7 | build:
8 | runs-on: ubuntu-latest
9 |
10 | steps:
11 | - uses: actions/checkout@v2
12 | - uses: DoozyX/clang-format-lint-action@v0.13
13 | with:
14 | source: './include/benchmark ./src ./test'
15 | extensions: 'h,cc'
16 | clangFormatVersion: 12
17 | style: Google
18 |
--------------------------------------------------------------------------------
/vendor/mongoose/src/arch_rtx.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #if MG_ARCH == MG_ARCH_RTX
4 |
5 | #include
6 | #include
7 | #include
8 | #include
9 | #include
10 | #include
11 | #include
12 | #include
13 | #include
14 | #include
15 |
16 | #if !defined MG_ENABLE_RL && (!defined(MG_ENABLE_LWIP) || !MG_ENABLE_LWIP)
17 | #define MG_ENABLE_RL 1
18 | #endif
19 |
20 | #endif
21 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Configure GitHub's Linguist.
2 | # https://github.com/github-linguist/linguist/blob/master/docs/overrides.md
3 | *.h linguist-language=C++
4 | /** -linguist-vendored
5 | /vendor/*/** linguist-vendored
6 | /vendor/*.patch linguist-detectable
7 | /benchmark/benchmark-lsp/corpus/** -linguist-detectable
8 | /** -linguist-documentation
9 | /docs/** linguist-documentation
10 | /docs/analytics/** -linguist-documentation
11 | /website/** linguist-documentation
12 |
--------------------------------------------------------------------------------
/docs/errors/E0374.md:
--------------------------------------------------------------------------------
1 | # E0374: unexpected whitespace between '!' and '=='
2 |
3 | `x! == y` is a typo for a strict inequality, as in `x !== y`:
4 |
5 | ```javascript
6 | let x = 17;
7 | let y = 38;
8 | if (x! == y) {
9 | alert('Not equal!');
10 | }
11 | ```
12 |
13 | To fix the warning, replace `! ==` with ` !==`:
14 |
15 | ```javascript
16 | let x = 17;
17 | let y = 38;
18 | if (x !== y) {
19 | alert("Not equal!");
20 | }
21 | ```
22 |
23 | See also: E0373
24 |
--------------------------------------------------------------------------------
/docs/errors/E0708.md:
--------------------------------------------------------------------------------
1 | # E0708: unexpected '...'; expected expression
2 |
3 | The spread ('...') operator must precede an expression:
4 |
5 | ```javascript
6 | const arr1 = [1, 2, 3];
7 | const arr2 = [4, 5, 6];
8 |
9 | const arr3 = [...arr1, ...];
10 | ```
11 |
12 | To fix this error, insert a valid expression after the operator:
13 |
14 | ```javascript
15 | const arr1 = [1, 2, 3];
16 | const arr2 = [4, 5, 6];
17 |
18 | const arr3 = [...arr1, ...arr2];
19 |
20 | ```
--------------------------------------------------------------------------------
/docs/errors/E0709.md:
--------------------------------------------------------------------------------
1 | # E0709: expected variable name after '...'
2 |
3 | The spread operator ('...') must precede a variable name.
4 |
5 | ```javascript
6 | const numbers = () => { return [1, 2, 3, 4] };
7 | const [numberOne, numberTwo, ...] = numbers();
8 | ```
9 |
10 | To fix this mistake, place the identifier after '...':
11 |
12 | ```javascript
13 | const numbers = () => { return [1, 2, 3, 4] };
14 | const [numberOne, numberTwo, ...rest] = numbers();
15 | ```
16 |
--------------------------------------------------------------------------------
/vendor/mongoose/src/net_lwip.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #if defined(MG_ENABLE_LWIP) && MG_ENABLE_LWIP
4 | #if defined(__GNUC__)
5 | #include
6 | #include
7 | #else
8 | struct timeval {
9 | time_t tv_sec;
10 | long tv_usec;
11 | };
12 | #endif
13 |
14 | #include
15 |
16 | #if LWIP_SOCKET != 1
17 | // Sockets support disabled in LWIP by default
18 | #error Set LWIP_SOCKET variable to 1 (in lwipopts.h)
19 | #endif
20 | #endif
21 |
--------------------------------------------------------------------------------
/benchmark/benchmark-lsp/eslint/typescript/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "env": {
3 | "browser": true,
4 | "es6": true,
5 | "node": true
6 | },
7 | "parser": "@typescript-eslint/parser",
8 | "parserOptions": {
9 | "ecmaVersion": 2017
10 | },
11 | "extends": [
12 | "eslint:recommended",
13 | "plugin:@typescript-eslint/recommended"
14 | ],
15 | "plugins": [
16 | "@typescript-eslint"
17 | ]
18 | }
19 |
--------------------------------------------------------------------------------
/docs/errors/E0157.md:
--------------------------------------------------------------------------------
1 | # E0157: missing end of array; expected ']'
2 |
3 | An array literal requires a list of items surrounded by `[` and `]`. It is a
4 | syntax error to start an array literal with `[` but omit the final `]`:
5 |
6 | ```javascript
7 | let friends = ["Alice";
8 | ```
9 |
10 | To fix this error, write `]` at the end of the array literal:
11 |
12 | ```javascript
13 | let friends = ["Alice"];
14 | ```
15 |
16 | Introduced in quick-lint-js version 0.3.0.
17 |
--------------------------------------------------------------------------------
/docs/errors/E0327.md:
--------------------------------------------------------------------------------
1 | # E0327: 'function async' is not allowed; write 'async function' instead
2 |
3 | Functions can be marked with the `async` keyword. It is a syntax error to write
4 | the `async keyword after the `function` keyword:
5 |
6 | ```javascript
7 | function async f() {
8 | return 0;
9 | }
10 | ```
11 |
12 | To fix this error, replace `function async` with `async function`:
13 |
14 | ```javascript
15 | async function f() {
16 | return 0;
17 | }
18 | ```
19 |
--------------------------------------------------------------------------------
/website/analytics/config.example.json:
--------------------------------------------------------------------------------
1 | {
2 | "db.file": "analytics.sqlite3",
3 | "chart.directory": "dist",
4 |
5 | "apache2.log_files": "/var/log/apache2/access.log*",
6 |
7 | "matomo_analytics.db_host": "localhost",
8 | "matomo_analytics.db_socket": null,
9 | "matomo_analytics.db_user": "root",
10 | "matomo_analytics.db_password": "",
11 | "matomo_analytics.db_database": "matomo_analytics",
12 |
13 | "vscode.marketplace-personal-access-token": ""
14 | }
15 |
--------------------------------------------------------------------------------
/dist/debian/debian/source/lintian-overrides-bionic:
--------------------------------------------------------------------------------
1 | # This control file is for older Debian distributions such as Ubuntu 18.04
2 | # Bionic.
3 |
4 | quick-lint-js source: source-contains-prebuilt-javascript-object benchmark/benchmark-lsp/corpus/edex-ui-filesystem.class.js
5 | quick-lint-js source: source-is-missing benchmark/benchmark-lsp/corpus/edex-ui-filesystem.class.js line length is 545 characters (>512)
6 |
7 | quick-lint-js source: package-uses-deprecated-debhelper-compat-version 9
8 |
--------------------------------------------------------------------------------
/docs/errors/E0095.md:
--------------------------------------------------------------------------------
1 | # E0095: Unicode byte order mark (BOM) cannot appear before #! at beginning of script
2 |
3 | A script cannot have Unicode byte order mark (BOM) before `#!`
4 |
5 | ```javascript
6 | #!/usr/bin/env node
7 | let x = 3;
8 | console.log(x);
9 | ```
10 |
11 | To fix this error, remove the Unicode BOM before `#!`
12 |
13 | ```javascript
14 | #!/usr/bin/env node
15 | let x = 3;
16 | console.log(x);
17 | ```
18 |
19 | Introduced in quick-lint-js version 0.3.0.
20 |
--------------------------------------------------------------------------------
/docs/errors/E0129.md:
--------------------------------------------------------------------------------
1 | # E0129: expected 'from "name_of_module.mjs"'
2 |
3 | `import` statements load things from other files. It is a syntax error to omit
4 | the name of the module being imported:
5 |
6 | ```javascript
7 | import React, {createElement};
8 | ```
9 |
10 | To fix this error, write the `from` keyword followed by the module name:
11 |
12 | ```javascript
13 | import React, {createElement} from 'react';
14 | ```
15 |
16 | Introduced in quick-lint-js version 0.2.0.
17 |
--------------------------------------------------------------------------------
/docs/errors/E0325.md:
--------------------------------------------------------------------------------
1 | # E0325: cannot delete variables in TypeScript
2 |
3 | In JavaScript, it is possible to use `delete` on a variable. In TypeScript,
4 | deleting a variable is an error:
5 |
6 | ```typescript
7 | let x = 3;
8 | delete x;
9 | console.log(x);
10 | ```
11 |
12 | To fix this error, remove the `delete` statement:
13 |
14 | ```typescript
15 | let x = 3;
16 | console.log(x);
17 | ```
18 |
19 | See also: E0086
20 |
21 | Introduced in quick-lint-js version 2.10.0.
22 |
--------------------------------------------------------------------------------
/docs/errors/E0381.md:
--------------------------------------------------------------------------------
1 | # E0381: Typescript does not allow keywords to contain escape sequence
2 |
3 | The following code is legal in JavaScript but is illegal in TypeScript
4 |
5 | ```typescript
6 | class C {
7 | \u{63}onstructor() {} // equivalent to: constructor() {}
8 | }
9 | ```
10 |
11 | To fix this error, remove the escape sequence in the keyword.
12 |
13 |
14 | ```typescript
15 | class C {
16 | constructor() {} // equivalent to: constructor() {}
17 | }
18 | ```
19 |
--------------------------------------------------------------------------------
/vendor/node-addon-api/except.gypi:
--------------------------------------------------------------------------------
1 | {
2 | 'defines': [ 'NAPI_CPP_EXCEPTIONS' ],
3 | 'cflags!': [ '-fno-exceptions' ],
4 | 'cflags_cc!': [ '-fno-exceptions' ],
5 | 'msvs_settings': {
6 | 'VCCLCompilerTool': {
7 | 'ExceptionHandling': 1,
8 | 'EnablePREfast': 'true',
9 | },
10 | },
11 | 'xcode_settings': {
12 | 'CLANG_CXX_LIBRARY': 'libc++',
13 | 'MACOSX_DEPLOYMENT_TARGET': '10.7',
14 | 'GCC_ENABLE_CPP_EXCEPTIONS': 'YES',
15 | },
16 | }
17 |
--------------------------------------------------------------------------------
/vendor/simdjson/include/simdjson/dom/parsedjson.h:
--------------------------------------------------------------------------------
1 | // TODO Remove this -- deprecated API and files
2 |
3 | #ifndef SIMDJSON_DOM_PARSEDJSON_H
4 | #define SIMDJSON_DOM_PARSEDJSON_H
5 |
6 | #include "simdjson/dom/document.h"
7 |
8 | namespace simdjson {
9 |
10 | /**
11 | * @deprecated Use `dom::parser` instead.
12 | */
13 | using ParsedJson [[deprecated("Use dom::parser instead")]] = dom::parser;
14 |
15 | } // namespace simdjson
16 |
17 | #endif // SIMDJSON_DOM_PARSEDJSON_H
18 |
--------------------------------------------------------------------------------
/vendor/simdjson/scripts/selectparser.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
3 | cd $SCRIPTPATH/..
4 | make parsingcompetition
5 | echo
6 | for i in "$SCRIPTPATH/../jsonexamples/twitter.json" "$SCRIPTPATH/../jsonexamples/update-center.json" "$SCRIPTPATH/../jsonexamples/github_events.json" "$SCRIPTPATH/../jsonexamples/gsoc-2018.json" ; do
7 | [ -f "$i" ] || break
8 | echo $i
9 | $SCRIPTPATH/../parsingcompetition $i
10 | echo
11 | done
12 |
--------------------------------------------------------------------------------
/dist/debian/debian/quick-lint-js-vim.prerm:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # prerm script for quick-lint-js-vim
3 | #
4 | # see: dh_installdeb(1)
5 |
6 | set -e
7 |
8 | case "$1" in
9 | deconfigure|remove|upgrade)
10 | vim-addon-manager --system-wide remove quick-lint-js
11 | ;;
12 |
13 | failed-upgrade)
14 | ;;
15 |
16 | *)
17 | echo "prerm called with unknown argument \`$1'" >&2
18 | exit 1
19 | ;;
20 | esac
21 |
22 | #DEBHELPER#
23 |
24 | exit 0
25 |
--------------------------------------------------------------------------------
/docs/errors/E0049.md:
--------------------------------------------------------------------------------
1 | # E0049: binary number literal has no digits
2 |
3 | Decimal number literals start with `0b` and require at least one digit. It is an
4 | error to write `0b` with no following digits:
5 |
6 | ```javascript
7 | let mask = 0b
8 | ```
9 |
10 | To fix this error, write digits after `0b`:
11 |
12 | ```javascript
13 | let mask = 0b1000;
14 | ```
15 |
16 | Alternatively, remove `b` to create a `0` number literal.
17 |
18 | Introduced in quick-lint-js version 0.2.0.
19 |
--------------------------------------------------------------------------------
/docs/errors/E0051.md:
--------------------------------------------------------------------------------
1 | # E0051: octal number literal has no digits
2 |
3 | Octal number literals start with `0o` and require at least one digit. It is an
4 | error to write `0o` with no following digits:
5 |
6 | ```javascript
7 | let mask = 0o
8 | ```
9 |
10 | To fix this error, write digits after `0o`:
11 |
12 | ```javascript
13 | let mask = 0o700;
14 | ```
15 |
16 | Alternatively, remove `o` to create a `0` number literal.
17 |
18 | Introduced in quick-lint-js version 0.2.0.
19 |
--------------------------------------------------------------------------------
/docs/errors/E0452.md:
--------------------------------------------------------------------------------
1 | # E0452: empty parenthesis after control statement
2 |
3 | Leaving parenthesis empty after control statements (`if`, `while`, `switch`,
4 | `with`) is a syntax error.
5 |
6 | ```javascript
7 | while () {
8 | console.log("Oops!..")
9 | }
10 | ```
11 |
12 | If the intention here was to create an infinite loop, the implementation would
13 | be this:
14 |
15 | ```javascript
16 | while (true) {
17 | console.log("Now, that's an infinite loop");
18 | }
19 | ```
20 |
--------------------------------------------------------------------------------
/vendor/node-addon-api/noexcept.gypi:
--------------------------------------------------------------------------------
1 | {
2 | 'defines': [ 'NAPI_DISABLE_CPP_EXCEPTIONS' ],
3 | 'cflags': [ '-fno-exceptions' ],
4 | 'cflags_cc': [ '-fno-exceptions' ],
5 | 'msvs_settings': {
6 | 'VCCLCompilerTool': {
7 | 'ExceptionHandling': 0,
8 | 'EnablePREfast': 'true',
9 | },
10 | },
11 | 'xcode_settings': {
12 | 'CLANG_CXX_LIBRARY': 'libc++',
13 | 'MACOSX_DEPLOYMENT_TARGET': '10.7',
14 | 'GCC_ENABLE_CPP_EXCEPTIONS': 'NO',
15 | },
16 | }
17 |
--------------------------------------------------------------------------------
/dist/winget/quick-lint.quick-lint-js.template.yaml:
--------------------------------------------------------------------------------
1 | # To the extent possible under law, Matthew "strager" Glazar
2 | # has waived all copyright and related or neighboring rights
3 | # to _quick-lint-js winget manifests_. This work is
4 | # published from United States.
5 | # http://creativecommons.org/publicdomain/zero/1.0/
6 |
7 | PackageIdentifier: quick-lint.quick-lint-js
8 | PackageVersion: 3.2.0.0
9 |
10 | DefaultLocale: en-US
11 | ManifestType: version
12 | ManifestVersion: 1.1.0
13 |
--------------------------------------------------------------------------------
/docs/errors/E0128.md:
--------------------------------------------------------------------------------
1 | # E0128: expected 'from' before module specifier
2 |
3 | `import` statements load things from other files. It is a syntax error to omit
4 | the `from` keyword before the module name:
5 |
6 | ```javascript
7 | import React, {createElement} 'react';
8 | ```
9 |
10 | To fix this error, write the `from` keyword before the module name:
11 |
12 | ```javascript
13 | import React, {createElement} from 'react';
14 | ```
15 |
16 | Introduced in quick-lint-js version 0.2.0.
17 |
--------------------------------------------------------------------------------
/docs/errors/E0211.md:
--------------------------------------------------------------------------------
1 | # E0211: missing parentheses around self-invoked function
2 |
3 | Invoking an arrow function immediately without parentheses is a syntax error.
4 | For example:
5 |
6 | ```
7 | () => {
8 | console.log('hi');
9 | }()
10 | ```
11 |
12 | To fix this error, add parentheses around the entire function definition, before
13 | the invocation:
14 |
15 | ```
16 | (() => {
17 | console.log('hi');
18 | })()
19 | ```
20 |
21 | Introduced in quick-lint-js version 2.4.0.
22 |
--------------------------------------------------------------------------------
/docs/errors/E0376.md:
--------------------------------------------------------------------------------
1 | # E0376: JSX prop is missing an expression
2 |
3 | Every attribute in JSX with a prop requires an expression:
4 |
5 | ```javascript-jsx
6 | function Header({columns}) {
7 | return (<>
8 |
Name
9 | >);
10 | }
11 | ```
12 |
13 | To fix the mistake, add a valid expression to the prop:
14 |
15 | ```javascript-jsx
16 | function Header({columns}) {
17 | return (<>
18 |
Name
19 | >);
20 | }
21 | ```
--------------------------------------------------------------------------------
/vendor/benchmark/cmake/Modules/FindLLVMAr.cmake:
--------------------------------------------------------------------------------
1 | include(FeatureSummary)
2 |
3 | find_program(LLVMAR_EXECUTABLE
4 | NAMES llvm-ar
5 | DOC "The llvm-ar executable"
6 | )
7 |
8 | include(FindPackageHandleStandardArgs)
9 | find_package_handle_standard_args(LLVMAr
10 | DEFAULT_MSG
11 | LLVMAR_EXECUTABLE)
12 |
13 | SET_PACKAGE_PROPERTIES(LLVMAr PROPERTIES
14 | URL https://llvm.org/docs/CommandGuide/llvm-ar.html
15 | DESCRIPTION "create, modify, and extract from archives"
16 | )
17 |
--------------------------------------------------------------------------------
/dist/debian/debian/upstream/metadata:
--------------------------------------------------------------------------------
1 | Bug-Database: https://github.com/quick-lint/quick-lint-js/issues
2 | Bug-Submit: https://github.com/quick-lint/quick-lint-js/issues/new
3 | Changelog: https://quick-lint-js.com/releases/
4 | Documentation: https://quick-lint-js.com/docs/
5 | Donation: https://github.com/sponsors/quick-lint
6 | Repository-Browse: https://github.com/quick-lint/quick-lint-js
7 | Repository: https://github.com/quick-lint/quick-lint-js.git
8 | Webservice: https://quick-lint-js.com/demo/
9 |
--------------------------------------------------------------------------------
/docs/errors/E0017.md:
--------------------------------------------------------------------------------
1 | # E0017: if statement needs parentheses around condition
2 |
3 | In JavaScript, `if` statements require parentheses around the condition. It is
4 | an error to omit the parentheses:
5 |
6 | ```javascript
7 | if 2 + 2 == 4 {
8 | console.log("Math works!");
9 | }
10 | ```
11 |
12 | To fix this error, add `(` and `)`:
13 |
14 | ```javascript
15 | if (2 + 2 == 4) {
16 | console.log("Math works!");
17 | }
18 | ```
19 |
20 | Introduced in quick-lint-js version 0.2.0.
21 |
--------------------------------------------------------------------------------
/docs/errors/E0022.md:
--------------------------------------------------------------------------------
1 | # E0022: invalid UTF-8 sequence
2 |
3 |
4 |
5 | JavaScript files are normally encoded using UTF-8. It is an error for a
6 | UTF-8 JavaScript file to contain bytes which are not valid UTF-8.
7 |
8 | quick-lint-js only supports UTF-8 JavaScript files. UTF-16, ISO-8859-1, and
9 | other encodings are not supported by quick-lint-js. Save your file as UTF-8 to
10 | check it with quick-lint-js.
11 |
12 | Introduced in quick-lint-js version 0.2.0.
13 |
--------------------------------------------------------------------------------
/docs/errors/E0050.md:
--------------------------------------------------------------------------------
1 | # E0050: hex number literal has no digits
2 |
3 | Hexadecimal (hex) number literals start with `0x` and require at least one
4 | digit. It is an error to write `0x` with no following digits:
5 |
6 | ```javascript
7 | let mask = 0x
8 | ```
9 |
10 | To fix this error, write digits after `0x`:
11 |
12 | ```javascript
13 | let mask = 0xff00;
14 | ```
15 |
16 | Alternatively, remove `x` to create a `0` number literal.
17 |
18 | Introduced in quick-lint-js version 0.2.0.
19 |
--------------------------------------------------------------------------------
/.github/docker/quick-lint-js-github-gcc/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM debian:bullseye
2 |
3 | RUN \
4 | sed -n -e 's/^deb /deb-src /p' /etc/apt/sources.list >/etc/apt/sources.list.d/quick-lint-js-sources.list && \
5 | apt-get update && \
6 | DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
7 | ca-certificates \
8 | cmake \
9 | g++ \
10 | git \
11 | libc6-dev \
12 | make \
13 | ninja-build \
14 | nodejs \
15 | python3
16 |
--------------------------------------------------------------------------------
/benchmark/benchmark-lsp/eslint/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "@typescript-eslint/eslint-plugin": "*",
4 | "@typescript-eslint/parser": "*",
5 | "eslint": "*",
6 | "eslint-config-airbnb-base": "*",
7 | "eslint-plugin-import": "*",
8 | "eslint-plugin-react": "*",
9 | "eslint-plugin-vue": "*",
10 | "typescript": "*",
11 | "vscode-eslint": "https://github.com/microsoft/vscode-eslint/archive/d3c7703cd11dc6752c96edf0f140d50156d72dd7.tar.gz"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/docs/errors/E0030.md:
--------------------------------------------------------------------------------
1 | # E0030: octal literal may not have exponent
2 |
3 | Decimal number literals can contain exponents. Octal number literals, which
4 | start with an extra `0` digit, cannot contain exponents:
5 |
6 | ```javascript
7 | const googol = 01e+100;
8 | ```
9 |
10 | To fix this error, make the number literal a decimal number literal by removing
11 | the extra leading `0`:
12 |
13 | ```javascript
14 | const googol = 1e+100;
15 | ```
16 |
17 | Introduced in quick-lint-js version 0.2.0.
18 |
--------------------------------------------------------------------------------
/docs/errors/E0031.md:
--------------------------------------------------------------------------------
1 | # E0031: octal literal may not have decimal
2 |
3 | Decimal number literals can contain a decimal (fraction). Octal number literals,
4 | which start with an extra `0` digit, cannot contain a decimal:
5 |
6 | ```javascript
7 | const PI = 03.14;
8 | ```
9 |
10 | To fix this error, make the number literal a decimal number literal by removing
11 | the extra leading `0`:
12 |
13 | ```javascript
14 | const PI = 3.14;
15 | ```
16 |
17 | Introduced in quick-lint-js version 0.2.0.
18 |
--------------------------------------------------------------------------------
/docs/errors/E0056.md:
--------------------------------------------------------------------------------
1 | # E0056: unmatched parenthesis
2 |
3 | It is an error to write the `(` without its matching `)`:
4 |
5 | ```javascript
6 | function fma(a, b, c) {
7 | return (a * b + c;
8 | }
9 | let five = (fma(2, 2, 1);
10 | ```
11 |
12 | To fix this error, write the closing `)`, or remove the extraneous `(`:
13 |
14 | ```javascript
15 | function fma(a, b, c) {
16 | return (a * b) + c;
17 | }
18 | let five = fma(2, 2, 1);
19 | ```
20 |
21 | Introduced in quick-lint-js version 0.2.0.
22 |
--------------------------------------------------------------------------------
/docs/errors/E0205.md:
--------------------------------------------------------------------------------
1 | # E0205: error missing initializer in const declaration
2 |
3 | The following code is missing initialization for const
4 | variable declaration.
5 |
6 | ```javascript
7 | const x;
8 | ```
9 |
10 | To fix this error, initialize the variable x with some
11 | value.
12 |
13 | ```javascript
14 | const x = 10;
15 | ```
16 |
17 | Another way to fix this error, change const to let.
18 |
19 | ```javascript
20 | let x;
21 | ```
22 |
23 | Introduced in quick-lint-js version 0.3.0.
24 |
--------------------------------------------------------------------------------
/infrastructure/quick-lint-js-web-2/roles/apache/files/mods-available/fcgid.conf:
--------------------------------------------------------------------------------
1 |
2 | FcgidConnectTimeout 20
3 | FcgidMaxRequestLen 268435456
4 | FcgidMaxProcessesPerClass 10
5 | FcgidIOTimeout 300
6 | AddType application/x-httpd-php .php
7 | AddHandler application/x-httpd-php .php
8 | Alias /php8.1-fcgi /usr/lib/cgi-bin/php8.1-fcgi
9 |
10 | AddHandler fcgid-script .fcgi
11 |
12 |
13 |
--------------------------------------------------------------------------------
/vendor/benchmark/cmake/Modules/FindLLVMNm.cmake:
--------------------------------------------------------------------------------
1 | include(FeatureSummary)
2 |
3 | find_program(LLVMNM_EXECUTABLE
4 | NAMES llvm-nm
5 | DOC "The llvm-nm executable"
6 | )
7 |
8 | include(FindPackageHandleStandardArgs)
9 | find_package_handle_standard_args(LLVMNm
10 | DEFAULT_MSG
11 | LLVMNM_EXECUTABLE)
12 |
13 | SET_PACKAGE_PROPERTIES(LLVMNm PROPERTIES
14 | URL https://llvm.org/docs/CommandGuide/llvm-nm.html
15 | DESCRIPTION "list LLVM bitcode and object file’s symbol table"
16 | )
17 |
--------------------------------------------------------------------------------
/docs/errors/E0215.md:
--------------------------------------------------------------------------------
1 | # E0215: unclosed interface; expected '}' by end of file
2 |
3 | Every `{` introducing an interface block must have a matching `}` ending an
4 | interface block. It is a syntax error to omit the `}`:
5 |
6 | ```typescript
7 | export interface API {
8 | fetch(uri, params);
9 | ```
10 |
11 | To fix this error, write a matching `}`:
12 |
13 | ```typescript
14 | export interface API {
15 | fetch(uri, params);
16 | }
17 | ```
18 |
19 | Introduced in quick-lint-js version 2.6.0.
20 |
--------------------------------------------------------------------------------
/dist/debian/debian/quick-lint-js-vim.postinst:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # postinst script for quick-lint-js-vim
3 | #
4 | # see: dh_installdeb(1)
5 |
6 | set -e
7 |
8 | case "$1" in
9 | configure)
10 | vim-addon-manager --system-wide install quick-lint-js
11 | ;;
12 |
13 | abort-deconfigure|abort-remove|abort-upgrade)
14 | ;;
15 |
16 | *)
17 | echo "postinst called with unknown argument \`$1'" >&2
18 | exit 1
19 | ;;
20 | esac
21 |
22 | #DEBHELPER#
23 |
24 | exit 0
25 |
--------------------------------------------------------------------------------
/docs/errors/E0286.md:
--------------------------------------------------------------------------------
1 | # E0286: lower case letters compared with toUpperCase
2 |
3 | Comparing the result of a function named `toUpperCase` to a string literal with
4 | one or more lower case letters will always yield the same result.
5 |
6 | ```javascript
7 | let x = "BaNaNa";
8 |
9 | // always returns 'false'
10 | if (x.toUpperCase() === "banana") {
11 | }
12 |
13 | // always returns 'true'
14 | if (x.toUpperCase() !== "banana") {
15 | }
16 | ```
17 |
18 | Introduced in quick-lint-js version 2.9.0.
19 |
--------------------------------------------------------------------------------
/docs/errors/E0287.md:
--------------------------------------------------------------------------------
1 | # E0287: upper case letters compared with toLowerCase
2 |
3 | Comparing the result of a function named `toLowerCase` to a string literal with
4 | one or more upper case letters will always yield the same result.
5 |
6 | ```javascript
7 | let x = "BaNaNa";
8 |
9 | // always returns 'false'
10 | if (x.toLowerCase() === "BANANA") {
11 | }
12 |
13 | // always returns 'true'
14 | if (x.toLowerCase() !== "BANANA") {
15 | }
16 | ```
17 |
18 | Introduced in quick-lint-js version 2.9.0.
19 |
--------------------------------------------------------------------------------
/docs/errors/E0326.md:
--------------------------------------------------------------------------------
1 | # E0326: 'async export' is not allowed; write 'export async' instead
2 |
3 | Functions can be marked using the `async` keyword like `async function f() {`.
4 | It is a syntax error to write the `async` keyword after the `function` keyword:
5 |
6 | ```javascript
7 | async export function f() {
8 | return 0;
9 | }
10 | ```
11 |
12 | To fix this error, replace `async export` with `export async`:
13 |
14 | ```javascript
15 | export async function f() {
16 | return 0;
17 | }
18 | ```
19 |
--------------------------------------------------------------------------------
/docs/errors/E0369.md:
--------------------------------------------------------------------------------
1 | # E0369: nullish coalescing operator does nothing when left operand is never null
2 |
3 | When left operand is never null (such as comparisons and string literals), the expression will always resolve to the left operand value
4 |
5 | ```typescript
6 | let g = "hello" ?? "world";
7 | let f = 4 == 5 ?? true;
8 | ```
9 |
10 | To fix this warning, remove the nullish coalescing operaror (??) and the right operand.
11 |
12 | ```typescript
13 | let g = "hello";
14 | let f = 4 == 5;
15 | ```
16 |
--------------------------------------------------------------------------------
/docs/errors/E0038.md:
--------------------------------------------------------------------------------
1 | # E0038: unclosed identifier escape sequence
2 |
3 | Identifiers can contain Unicode escape sequences starting with `\u`. It is a
4 | syntax error to write `\u{` followed by hexadecimal digits without a closing
5 | `}`:
6 |
7 | ```javascript
8 | let guitar\u{3604 = "\u{D83C}\u{";
9 | ```
10 |
11 | To fix this error, write `}` to close the escape sequence.
12 |
13 | ```javascript
14 | let guitar\u{3604} = "\u{D83C}\u{DFB8}";
15 | ```
16 |
17 | Introduced in quick-lint-js version 0.2.0.
18 |
--------------------------------------------------------------------------------
/vendor/mongoose/src/arch_esp32.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #if MG_ARCH == MG_ARCH_ESP32
4 |
5 | #include
6 | #include
7 | #include
8 | #include
9 | #include
10 | #include
11 | #include
12 | #include
13 | #include
14 | #include
15 | #include
16 | #include
17 | #include
18 | #include
19 |
20 | #include
21 |
22 | #define MG_PATH_MAX 128
23 |
24 | #endif
25 |
--------------------------------------------------------------------------------
/website/backstop/README.md:
--------------------------------------------------------------------------------
1 | # Website screenshot testing with BackstopJS
2 |
3 | Want to see the impact of your CSS or HTML changes? Try this screenshotting
4 | tool.
5 |
6 | 1. Start dev server: `cd website/ && yarn start`
7 | 2. Take golden screenshots: `cd website/backstop/ && yarn test && yarn approve`
8 | 3. Make your CSS changes.
9 | 4. Take new screenshots and compare: `cd website/backstop/ && yarn test`
10 | 5. If things look good, then mark them as golden:
11 | `cd website/backstop/ && yarn approve`
12 |
--------------------------------------------------------------------------------
/docs/errors/E0235.md:
--------------------------------------------------------------------------------
1 | # E0235: missing quotes around module name
2 |
3 | Module names are strings. It is a syntax error to import a module without
4 | enclosing the module name in quotation marks:
5 |
6 | ```javascript
7 | import React from react;
8 | import { readFile } from fs;
9 | ```
10 |
11 | To fix this error, add quotation marks around the module's name:
12 |
13 | ```javascript
14 | import React from "react";
15 | import { readFile } from 'fs';
16 | ```
17 |
18 | Introduced in quick-lint-js version 2.6.0.
19 |
--------------------------------------------------------------------------------
/docs/errors/E0010.md:
--------------------------------------------------------------------------------
1 | # E0010: cannot import 'let'
2 |
3 | An imported function or variable cannot be named `let`:
4 |
5 | ```javascript
6 | import { let } from "./security.mjs";
7 | ```
8 |
9 | To fix this error, name the function or variable something other than `let`, or
10 | rename the function or variable using `import`-`as`:
11 |
12 | ```javascript
13 | import { allow } from "./security.mjs";
14 |
15 | import { let as permit } from "./security.mjs";
16 | ```
17 |
18 | Introduced in quick-lint-js version 0.2.0.
19 |
--------------------------------------------------------------------------------
/docs/errors/E0045.md:
--------------------------------------------------------------------------------
1 | # E0045: unexpected control character
2 |
3 | JavaScript treats some Unicode control characters, such as newlines, tabs, and
4 | form feeds, as whitespace. Most other control characters are now allowed outside
5 | string literals and template literals:
6 |
7 | ```javascript
8 |
9 | ```
10 |
11 | To fix this error, delete the extra control characters, or put them inside a
12 | comment:
13 |
14 | ```javascript
15 | /*
16 |
17 | */
18 | ```
19 |
20 | Introduced in quick-lint-js version 0.2.0.
21 |
--------------------------------------------------------------------------------
/website/public/license/linux.svg.html:
--------------------------------------------------------------------------------
1 |
3 | The copyright holder of this file allows anyone to use it for any purpose,
4 | provided that the copyright holder is properly attributed. Redistribution,
5 | derivative work, commercial use, and all other use is permitted.
6 |