feat: docker compose maybe

This commit is contained in:
2023-11-13 16:10:04 -05:00
parent 180b261e40
commit b625ccd8d6
8031 changed files with 2182966 additions and 0 deletions

21
node_modules/eslint-compat-utils/LICENSE generated vendored Normal file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2023 Yosuke Ota
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

48
node_modules/eslint-compat-utils/README.md generated vendored Normal file
View File

@ -0,0 +1,48 @@
# eslint-compat-utils
***This package is still in the experimental stage.***
Provides an API for ESLint custom rules that is compatible with the latest ESLint even when using older ESLint.
## Installation
```bash
npm install --save-dev eslint-compat-utils
```
## Usage
```js
const { getSourceCode } = require("eslint-compat-utils");
module.exports = {
meta: { /* ... */ },
create(context) {
const sourceCode = getSourceCode(context)
return {
"Program"(node) {
const scope = sourceCode.getScope(node);
},
};
},
}
```
### API
#### `getSourceCode(context)`
Returns an extended instance of `context.sourceCode` or the result of `context.getSourceCode()`. Extended instances can use new APIs such as `getScope(node)` even with old ESLint.
#### `getCwd(context)`
Gets the value of `context.cwd`, but for older ESLint it returns the result of `context.getCwd()`.
Versions older than v6.6.0 return a value from the result of `process.cwd()`.
#### `getFilename(context)`
Gets the value of `context.filename`, but for older ESLint it returns the result of `context.getFilename()`.
#### `getPhysicalFilename(context)`
Gets the value of `context.physicalFilename`, but for older ESLint it returns the result of `context.getPhysicalFilename()`.
Versions older than v7.28.0 return a value guessed from the result of `context.getFilename()`, but it may be incorrect.

212
node_modules/eslint-compat-utils/dist/index.cjs generated vendored Normal file
View File

@ -0,0 +1,212 @@
'use strict';
const path = require('path');
const fs = require('fs');
const eslint = require('eslint');
function _interopNamespaceCompat(e) {
if (e && typeof e === 'object' && 'default' in e) return e;
const n = Object.create(null);
if (e) {
for (const k in e) {
n[k] = e[k];
}
}
n.default = e;
return n;
}
const eslint__namespace = /*#__PURE__*/_interopNamespaceCompat(eslint);
function applyPolyfills(object, polyfill) {
return new Proxy(object, {
get(_target, p) {
var _a;
return (_a = object[p]) != null ? _a : polyfill[p];
}
});
}
function getParent(node) {
return node.parent;
}
const cache = /* @__PURE__ */ new WeakMap();
function getSourceCode(context) {
const original = context.sourceCode || context.getSourceCode();
const cached = cache.get(original);
if (cached) {
return cached;
}
const sourceCode = applyPolyfills(original, {
getScope(node) {
const inner = node.type !== "Program";
for (let n = node; n; n = getParent(n)) {
const scope = original.scopeManager.acquire(n, inner);
if (scope) {
if (scope.type === "function-expression-name") {
return scope.childScopes[0];
}
return scope;
}
}
return original.scopeManager.scopes[0];
},
markVariableAsUsed(name, refNode = original.ast) {
const currentScope = sourceCode.getScope(refNode);
if (currentScope === context.getScope()) {
return context.markVariableAsUsed(name);
}
let initialScope = currentScope;
if (currentScope.type === "global" && currentScope.childScopes.length > 0 && currentScope.childScopes[0].block === original.ast) {
initialScope = currentScope.childScopes[0];
}
for (let scope = initialScope; scope; scope = scope.upper) {
const variable = scope.variables.find(
(scopeVar) => scopeVar.name === name
);
if (variable) {
variable.eslintUsed = true;
return true;
}
}
return false;
},
getAncestors(node) {
const result = [];
for (let ancestor = getParent(node); ancestor; ancestor = ancestor.parent) {
result.unshift(ancestor);
}
return result;
},
getDeclaredVariables(node) {
return original.scopeManager.getDeclaredVariables(node);
},
isSpaceBetween(first, second) {
if (first.range[0] <= second.range[1] && second.range[0] <= first.range[1]) {
return false;
}
const [startingNodeOrToken, endingNodeOrToken] = first.range[1] <= second.range[0] ? [first, second] : [second, first];
const tokens = sourceCode.getTokensBetween(first, second, {
includeComments: true
});
let startIndex = startingNodeOrToken.range[1];
for (const token of tokens) {
if (startIndex !== token.range[0]) {
return true;
}
startIndex = token.range[1];
}
return startIndex !== endingNodeOrToken.range[0];
}
});
cache.set(original, sourceCode);
return sourceCode;
}
function getCwd(context) {
var _a, _b, _c;
return (_c = (_b = context.cwd) != null ? _b : (_a = context.getCwd) == null ? void 0 : _a.call(context)) != null ? _c : (
// getCwd is added in v6.6.0
process.cwd()
);
}
function getFilename(context) {
var _a;
return (_a = context.filename) != null ? _a : context.getFilename();
}
function getPhysicalFilename(context) {
var _a, _b;
const physicalFilename = (_b = context.physicalFilename) != null ? _b : (_a = context.getPhysicalFilename) == null ? void 0 : _a.call(context);
if (physicalFilename != null) {
return physicalFilename;
}
const filename = getFilename(context);
let target = filename;
while (/^\d+_/u.test(path.basename(target)) && !fs.existsSync(target)) {
const next = path.dirname(target);
if (next === target || !path.extname(next)) {
break;
}
target = next;
}
return target;
}
var __defProp = Object.defineProperty;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __publicField = (obj, key, value) => {
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
return value;
};
function getESLint() {
var _a;
return (_a = eslint__namespace.ESLint) != null ? _a : getESLintClassForV6();
}
function getESLintClassForV6() {
const CLIEngine = eslint__namespace.CLIEngine;
class ESLintForV6 {
constructor(options) {
__publicField(this, "engine");
const {
overrideConfig: { plugins, globals, rules, ...overrideConfig } = {
plugins: [],
globals: {},
rules: {}
},
fix,
reportUnusedDisableDirectives,
plugins: pluginsMap,
...otherOptions
} = options || {};
const newOptions = {
fix: Boolean(fix),
reportUnusedDisableDirectives: reportUnusedDisableDirectives ? reportUnusedDisableDirectives !== "off" : void 0,
...otherOptions,
globals: globals ? Object.keys(globals).filter((n) => globals[n]) : void 0,
plugins: plugins || [],
rules: rules ? Object.fromEntries(
Object.entries(rules).flatMap(
([ruleId, opt]) => opt ? [[ruleId, opt]] : []
)
) : void 0,
...overrideConfig
};
this.engine = new CLIEngine(newOptions);
for (const [name, plugin] of Object.entries(pluginsMap || {})) {
this.engine.addPlugin(name, plugin);
}
}
static get version() {
return CLIEngine.version;
}
// eslint-disable-next-line @typescript-eslint/require-await -- ignore
async lintText(...params) {
var _a;
const result = this.engine.executeOnText(params[0], (_a = params[1]) == null ? void 0 : _a.filePath);
return result.results;
}
// eslint-disable-next-line @typescript-eslint/require-await -- ignore
async lintFiles(...params) {
const result = this.engine.executeOnFiles(
Array.isArray(params[0]) ? params[0] : [params[0]]
);
return result.results;
}
// eslint-disable-next-line @typescript-eslint/require-await -- ignore
static async outputFixes(...params) {
return CLIEngine.outputFixes({
results: params[0]
});
}
}
return ESLintForV6;
}
exports.getCwd = getCwd;
exports.getESLint = getESLint;
exports.getFilename = getFilename;
exports.getPhysicalFilename = getPhysicalFilename;
exports.getSourceCode = getSourceCode;

34
node_modules/eslint-compat-utils/dist/index.d.cts generated vendored Normal file
View File

@ -0,0 +1,34 @@
import * as eslint from 'eslint';
import { Rule, SourceCode } from 'eslint';
/**
* Returns an extended instance of `context.sourceCode` or the result of `context.getSourceCode()`.
* Extended instances can use new APIs such as `getScope(node)` even with old ESLint.
*/
declare function getSourceCode(context: Rule.RuleContext): SourceCode;
/**
* Gets the value of `context.cwd`, but for older ESLint it returns the result of `context.getCwd()`.
* Versions older than v6.6.0 return a value from the result of `process.cwd()`.
*/
declare function getCwd(context: Rule.RuleContext): string;
/**
* Gets the value of `context.filename`, but for older ESLint it returns the result of `context.getFilename()`.
*/
declare function getFilename(context: Rule.RuleContext): string;
/**
* Gets the value of `context.physicalFilename`,
* but for older ESLint it returns the result of `context.getPhysicalFilename()`.
* Versions older than v7.28.0 return a value guessed from the result of `context.getFilename()`,
* but it may be incorrect.
*/
declare function getPhysicalFilename(context: Rule.RuleContext): string;
/**
* Get ESLint class
*/
declare function getESLint(): typeof eslint.ESLint;
export { getCwd, getESLint, getFilename, getPhysicalFilename, getSourceCode };

34
node_modules/eslint-compat-utils/dist/index.d.mts generated vendored Normal file
View File

@ -0,0 +1,34 @@
import * as eslint from 'eslint';
import { Rule, SourceCode } from 'eslint';
/**
* Returns an extended instance of `context.sourceCode` or the result of `context.getSourceCode()`.
* Extended instances can use new APIs such as `getScope(node)` even with old ESLint.
*/
declare function getSourceCode(context: Rule.RuleContext): SourceCode;
/**
* Gets the value of `context.cwd`, but for older ESLint it returns the result of `context.getCwd()`.
* Versions older than v6.6.0 return a value from the result of `process.cwd()`.
*/
declare function getCwd(context: Rule.RuleContext): string;
/**
* Gets the value of `context.filename`, but for older ESLint it returns the result of `context.getFilename()`.
*/
declare function getFilename(context: Rule.RuleContext): string;
/**
* Gets the value of `context.physicalFilename`,
* but for older ESLint it returns the result of `context.getPhysicalFilename()`.
* Versions older than v7.28.0 return a value guessed from the result of `context.getFilename()`,
* but it may be incorrect.
*/
declare function getPhysicalFilename(context: Rule.RuleContext): string;
/**
* Get ESLint class
*/
declare function getESLint(): typeof eslint.ESLint;
export { getCwd, getESLint, getFilename, getPhysicalFilename, getSourceCode };

34
node_modules/eslint-compat-utils/dist/index.d.ts generated vendored Normal file
View File

@ -0,0 +1,34 @@
import * as eslint from 'eslint';
import { Rule, SourceCode } from 'eslint';
/**
* Returns an extended instance of `context.sourceCode` or the result of `context.getSourceCode()`.
* Extended instances can use new APIs such as `getScope(node)` even with old ESLint.
*/
declare function getSourceCode(context: Rule.RuleContext): SourceCode;
/**
* Gets the value of `context.cwd`, but for older ESLint it returns the result of `context.getCwd()`.
* Versions older than v6.6.0 return a value from the result of `process.cwd()`.
*/
declare function getCwd(context: Rule.RuleContext): string;
/**
* Gets the value of `context.filename`, but for older ESLint it returns the result of `context.getFilename()`.
*/
declare function getFilename(context: Rule.RuleContext): string;
/**
* Gets the value of `context.physicalFilename`,
* but for older ESLint it returns the result of `context.getPhysicalFilename()`.
* Versions older than v7.28.0 return a value guessed from the result of `context.getFilename()`,
* but it may be incorrect.
*/
declare function getPhysicalFilename(context: Rule.RuleContext): string;
/**
* Get ESLint class
*/
declare function getESLint(): typeof eslint.ESLint;
export { getCwd, getESLint, getFilename, getPhysicalFilename, getSourceCode };

192
node_modules/eslint-compat-utils/dist/index.mjs generated vendored Normal file
View File

@ -0,0 +1,192 @@
import { basename, dirname, extname } from 'path';
import { existsSync } from 'fs';
import * as eslint from 'eslint';
function applyPolyfills(object, polyfill) {
return new Proxy(object, {
get(_target, p) {
var _a;
return (_a = object[p]) != null ? _a : polyfill[p];
}
});
}
function getParent(node) {
return node.parent;
}
const cache = /* @__PURE__ */ new WeakMap();
function getSourceCode(context) {
const original = context.sourceCode || context.getSourceCode();
const cached = cache.get(original);
if (cached) {
return cached;
}
const sourceCode = applyPolyfills(original, {
getScope(node) {
const inner = node.type !== "Program";
for (let n = node; n; n = getParent(n)) {
const scope = original.scopeManager.acquire(n, inner);
if (scope) {
if (scope.type === "function-expression-name") {
return scope.childScopes[0];
}
return scope;
}
}
return original.scopeManager.scopes[0];
},
markVariableAsUsed(name, refNode = original.ast) {
const currentScope = sourceCode.getScope(refNode);
if (currentScope === context.getScope()) {
return context.markVariableAsUsed(name);
}
let initialScope = currentScope;
if (currentScope.type === "global" && currentScope.childScopes.length > 0 && currentScope.childScopes[0].block === original.ast) {
initialScope = currentScope.childScopes[0];
}
for (let scope = initialScope; scope; scope = scope.upper) {
const variable = scope.variables.find(
(scopeVar) => scopeVar.name === name
);
if (variable) {
variable.eslintUsed = true;
return true;
}
}
return false;
},
getAncestors(node) {
const result = [];
for (let ancestor = getParent(node); ancestor; ancestor = ancestor.parent) {
result.unshift(ancestor);
}
return result;
},
getDeclaredVariables(node) {
return original.scopeManager.getDeclaredVariables(node);
},
isSpaceBetween(first, second) {
if (first.range[0] <= second.range[1] && second.range[0] <= first.range[1]) {
return false;
}
const [startingNodeOrToken, endingNodeOrToken] = first.range[1] <= second.range[0] ? [first, second] : [second, first];
const tokens = sourceCode.getTokensBetween(first, second, {
includeComments: true
});
let startIndex = startingNodeOrToken.range[1];
for (const token of tokens) {
if (startIndex !== token.range[0]) {
return true;
}
startIndex = token.range[1];
}
return startIndex !== endingNodeOrToken.range[0];
}
});
cache.set(original, sourceCode);
return sourceCode;
}
function getCwd(context) {
var _a, _b, _c;
return (_c = (_b = context.cwd) != null ? _b : (_a = context.getCwd) == null ? void 0 : _a.call(context)) != null ? _c : (
// getCwd is added in v6.6.0
process.cwd()
);
}
function getFilename(context) {
var _a;
return (_a = context.filename) != null ? _a : context.getFilename();
}
function getPhysicalFilename(context) {
var _a, _b;
const physicalFilename = (_b = context.physicalFilename) != null ? _b : (_a = context.getPhysicalFilename) == null ? void 0 : _a.call(context);
if (physicalFilename != null) {
return physicalFilename;
}
const filename = getFilename(context);
let target = filename;
while (/^\d+_/u.test(basename(target)) && !existsSync(target)) {
const next = dirname(target);
if (next === target || !extname(next)) {
break;
}
target = next;
}
return target;
}
var __defProp = Object.defineProperty;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __publicField = (obj, key, value) => {
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
return value;
};
function getESLint() {
var _a;
return (_a = eslint.ESLint) != null ? _a : getESLintClassForV6();
}
function getESLintClassForV6() {
const CLIEngine = eslint.CLIEngine;
class ESLintForV6 {
constructor(options) {
__publicField(this, "engine");
const {
overrideConfig: { plugins, globals, rules, ...overrideConfig } = {
plugins: [],
globals: {},
rules: {}
},
fix,
reportUnusedDisableDirectives,
plugins: pluginsMap,
...otherOptions
} = options || {};
const newOptions = {
fix: Boolean(fix),
reportUnusedDisableDirectives: reportUnusedDisableDirectives ? reportUnusedDisableDirectives !== "off" : void 0,
...otherOptions,
globals: globals ? Object.keys(globals).filter((n) => globals[n]) : void 0,
plugins: plugins || [],
rules: rules ? Object.fromEntries(
Object.entries(rules).flatMap(
([ruleId, opt]) => opt ? [[ruleId, opt]] : []
)
) : void 0,
...overrideConfig
};
this.engine = new CLIEngine(newOptions);
for (const [name, plugin] of Object.entries(pluginsMap || {})) {
this.engine.addPlugin(name, plugin);
}
}
static get version() {
return CLIEngine.version;
}
// eslint-disable-next-line @typescript-eslint/require-await -- ignore
async lintText(...params) {
var _a;
const result = this.engine.executeOnText(params[0], (_a = params[1]) == null ? void 0 : _a.filePath);
return result.results;
}
// eslint-disable-next-line @typescript-eslint/require-await -- ignore
async lintFiles(...params) {
const result = this.engine.executeOnFiles(
Array.isArray(params[0]) ? params[0] : [params[0]]
);
return result.results;
}
// eslint-disable-next-line @typescript-eslint/require-await -- ignore
static async outputFixes(...params) {
return CLIEngine.outputFixes({
results: params[0]
});
}
}
return ESLintForV6;
}
export { getCwd, getESLint, getFilename, getPhysicalFilename, getSourceCode };

79
node_modules/eslint-compat-utils/package.json generated vendored Normal file
View File

@ -0,0 +1,79 @@
{
"name": "eslint-compat-utils",
"version": "0.1.2",
"description": "Provides an API for ESLint custom rules that is compatible with the latest ESLint even when using older ESLint.",
"engines": {
"node": ">=12"
},
"exports": {
".": {
"types": "./index.d.ts",
"import": "./dist/index.mjs",
"require": "./dist/index.cjs"
},
"./package.json": "./package.json"
},
"main": "./dist/index.cjs",
"module": "./dist/index.mjs",
"types": "./dist/index.d.ts",
"files": [
"dist"
],
"scripts": {
"prebuild": "npm run -s clean",
"build": "unbuild",
"clean": "rimraf .nyc_output dist coverage",
"lint": "npm-run-all \"lint:*\"",
"lint:js": "eslint . --ext .js,.mjs,.ts,.json,.yml,.yaml",
"eslint-fix": "eslint . --ext .js,.mjs,.ts,.json,.yml,.yaml --fix",
"test:cover": "nyc --reporter=lcov npm run test",
"test": "npm run mocha -- \"tests/src/**/*.ts\" --reporter dot --timeout 60000",
"update:extract-v6-props": "npm run ts -- tools/extract-v6-props.ts",
"ts": "node -r esbuild-register",
"mocha": "npm run ts -- ./node_modules/mocha/bin/mocha.js",
"prerelease": "npm run clean && npm run build",
"release": "changeset publish"
},
"repository": {
"type": "git",
"url": "git+https://github.com/ota-meshi/eslint-compat-utils.git"
},
"keywords": [
"eslint"
],
"author": "Yosuke Ota (https://github.com/ota-meshi)",
"license": "MIT",
"bugs": {
"url": "https://github.com/ota-meshi/eslint-compat-utils/issues"
},
"homepage": "https://github.com/ota-meshi/eslint-compat-utils#readme",
"peerDependencies": {
"eslint": ">=6.0.0"
},
"publishConfig": {
"access": "public"
},
"devDependencies": {
"@changesets/cli": "^2.26.2",
"@ota-meshi/eslint-plugin": "^0.15.0",
"@svitejs/changesets-changelog-github-compact": "^1.1.0",
"@types/eslint": "^8.44.3",
"@types/mocha": "^10.0.0",
"@types/node": "^18.11.0",
"@typescript-eslint/eslint-plugin": "^6.7.4",
"@typescript-eslint/parser": "^6.7.4",
"esbuild-register": "^3.5.0",
"eslint": "^8.51.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-json-schema-validator": "^4.6.0",
"eslint-plugin-jsonc": "^2.9.0",
"eslint-plugin-n": "^16.1.0",
"eslint-plugin-prettier": "^5.0.0",
"eslint-plugin-yml": "^1.9.0",
"mocha": "^10.2.0",
"npm-run-all": "^4.1.5",
"nyc": "^15.1.0",
"prettier": "^3.0.3",
"unbuild": "^2.0.0"
}
}