routie dev init since i didn't adhere to any proper guidance up until now

This commit is contained in:
2026-04-29 22:27:29 -06:00
commit e1dabb71e2
15301 changed files with 3562618 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
# Released under MIT License
Copyright (c) 2016-present Vuetify LLC
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.
+131
View File
@@ -0,0 +1,131 @@
<div align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://cdn.vuetifyjs.com/docs/images/one/logos/veslconfig-logo-dark.png">
<img alt="Vuetify ESLint Config Logo" src="https://cdn.vuetifyjs.com/docs/images/one/logos/veslconfig-logo-light.png" height="100">
</picture>
</div>
<p align="center">
<a href="https://www.npmjs.com/package/eslint-config-vuetify"><img src="https://img.shields.io/npm/v/eslint-config-vuetify.svg" alt="npm version"></a>
<a href="https://npm.chart.dev/eslint-config-vuetify"><img src="https://img.shields.io/npm/dm/eslint-config-vuetify?color=blue" alt="npm downloads"></a>
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License: MIT"></a>
<a href="https://community.vuetifyjs.com"><img src="https://discordapp.com/api/guilds/340160225338195969/widget.png" alt="Discord"></a>
</p>
# eslint-config-vuetify
✨ An opinionated eslint config for Vuetify, crafted to keep your code clean and consistent!
### 💿 Install
<!-- automd:pm-install dev auto=false -->
```sh
# npm
npm install -D eslint-config-vuetify
# yarn
yarn add -D eslint-config-vuetify
# pnpm
pnpm install -D eslint-config-vuetify
# bun
bun install -D eslint-config-vuetify
# deno
deno install --dev eslint-config-vuetify
```
<!-- /automd -->
### 🚀 Usage
Update your `eslint.config.js` flat config to _extend_ vuetify:
```js
import vuetify from 'eslint-config-vuetify'
export default vuetify()
```
Most features are automatically detected, but you can explicitly turn them on/off or customize them
```js
import vuetify from 'eslint-config-vuetify'
export default vuetify({
vue: true,
ts: {
preset: 'all',
},
})
```
You can provide additional ESLint configurations after the options object, or directly specify them for simpler use cases where the default settings work fine:
```js
import vuetify from 'eslint-config-vuetify'
export default vuetify(
{
pnpm: false,
},
{
plugins: {
sonarjs,
},
rules: {
...sonarjs.configs.recommended.rules,
},
},
)
```
```js
import vuetify from 'eslint-config-vuetify'
export default vuetify({
rules: {
'no-console': 'error',
},
})
```
### 💪 Supporting Vuetify
<p>Vuetify is an open source MIT project that has been made possible due to the generous contributions by <a href="https://github.com/vuetifyjs/vuetify/blob/dev/BACKERS.md">community backers</a>. If you are interested in supporting this project, please consider:</p>
<ul>
<li>
<a href="https://github.com/users/johnleider/sponsorship">Becoming a sponsor on Github</a>
<strong><small>(supports John)</small></strong>
</li>
<li>
<a href="https://opencollective.com/vuetify">Becoming a backer on OpenCollective</a>
<strong><small>(supports the Dev team)</small></strong>
</li>
<li>
<a href="https://tidelift.com/subscription/npm/vuetify?utm_source=vuetify&utm_medium=referral&utm_campaign=readme">Become a subscriber on Tidelift</a>
</li>
<li>
<a href="https://paypal.me/vuetify">Make a one-time payment with Paypal</a>
</li>
<li>
<a href="https://vuetifyjs.com/getting-started/consulting-and-support?ref=github">Book time with John</a>
</li>
</ul>
### 📑 License
[MIT](http://opensource.org/licenses/MIT)
Copyright (c) 2016-present Vuetify LLC
----
This project exists and thrives thanks to all the wonderful people who contribute 😍
<br><br>
<a href="https://github.com/vuetifyjs/eslint-config-vuetify/graphs/contributors">
<img src="https://contrib.rocks/image?repo=vuetifyjs/eslint-config-vuetify" />
</a>
+5
View File
@@ -0,0 +1,5 @@
#!/usr/bin/env node
import { main } from '../dist/cli.mjs'
main()
+4
View File
@@ -0,0 +1,4 @@
//#region src/cli.d.ts
declare function main(): Promise<void>;
//#endregion
export { main };
+122
View File
@@ -0,0 +1,122 @@
import { readFile, writeFile } from "node:fs/promises";
import { relative, resolve } from "node:path";
import { confirm, intro, log, outro, spinner } from "@clack/prompts";
import { ansi256, link, underline } from "kolorist";
import { addDevDependency } from "nypm";
import { resolveCommand } from "package-manager-detector/commands";
import { x } from "tinyexec";
import { existsSync } from "node:fs";
import { createResolver } from "exsolve";
import { getPackageInfoSync, isPackageExists } from "local-pkg";
import { detect } from "package-manager-detector";
import { FlatCompat } from "@eslint/eslintrc";
//#region src/constants/cli.ts
const ESLINT = "eslint";
const ESLINT_CONFIG = "eslint-config-vuetify";
const VUETIFY = "vuetify";
const LINKS = {
[ESLINT]: link(ESLINT, "https://npmjs.org/package/eslint"),
[ESLINT_CONFIG]: link(ESLINT_CONFIG, "https://npmjs.org/package/eslint-config-vuetify"),
[VUETIFY]: link("Vuetify", "https://vuetifyjs.com/")
};
//#endregion
//#region src/constants/config.ts
const configData = `import vuetify from 'eslint-config-vuetify'
export default vuetify()
`;
new FlatCompat({});
const { resolveModulePath: resolveModulePath$1 } = createResolver({ extensions: [".json"] });
hasPackage("eslint-config-vuetify");
function hasPackage(pkg, scope) {
return isPackageExists(pkg, { paths: scope ? [scope] : [] });
}
function getPackageVersion(pkg) {
return getPackageInfoSync(pkg, { paths: [currentScope] })?.version;
}
const currentScope = new URL(".", import.meta.url).pathname;
process.cwd();
function hasFile(file) {
return existsSync(resolve(process.cwd(), file));
}
async function getPackageManager() {
return detect({ cwd: process.cwd() });
}
const { resolveModulePath } = createResolver({ extensions: [
".js",
".mjs",
".cjs",
".ts",
".mts",
".cts"
] });
const configUrl = resolveModulePath("./eslint.config", { try: true });
function isVersionAtLeast(version, targetVersion) {
const [vMajor, vMinor, vPatch] = version.split(".").map(Number);
const [major, minor, patch] = targetVersion.split(".").map(Number);
return vMajor > major || vMajor === major && vMinor > minor || vMajor === major && vMinor === minor && vPatch >= patch;
}
//#endregion
//#region src/cli.ts
const blue = ansi256(33);
const description = `Welcome to ${blue(ESLINT_CONFIG)} — an opinionated ESLint config by the ${blue(LINKS[VUETIFY])} team.`;
const eslintVersion = getPackageVersion("eslint") ?? "0.0.0";
const configVersion = getPackageVersion("eslint-config-vuetify") ?? "0.0.0";
const hasEslint = hasPackage(ESLINT);
const hasEslintConfig = hasPackage(ESLINT_CONFIG);
const isEslintVersionValid = isVersionAtLeast(eslintVersion, "9.5.0");
const isConfigVersionValid = isVersionAtLeast(configVersion, "4.0.0");
const packagesToInstall = [...hasEslint ? [] : [ESLINT], ...hasEslintConfig ? [] : [ESLINT_CONFIG]];
const packagesToUpgrade = [...isEslintVersionValid ? [] : [ESLINT], ...isConfigVersionValid ? [] : [ESLINT_CONFIG]];
function getActionMessage() {
const actions = [];
if (packagesToInstall.length > 0) actions.push(`install ${packagesToInstall.map((pkg) => LINKS[pkg]).join(", ")}`);
if (packagesToUpgrade.length > 0) {
const upgradeAction = `upgrade ${packagesToUpgrade.map((pkg) => LINKS[pkg]).join(", ")}`;
if (packagesToInstall.length > 0) actions.push(`and ${upgradeAction}`);
else actions.push(upgradeAction);
}
if (hasEslint || hasEslintConfig) {
actions.push("(Currently:");
if (hasEslint) actions.push(` ${ESLINT}: ${eslintVersion}`);
if (hasEslintConfig) actions.push(` ${ESLINT_CONFIG}: ${configVersion}`);
actions.push(")");
}
return `We need to ${actions.join(" ")}.`;
}
async function main() {
intro(description);
if (packagesToInstall.length > 0 || packagesToUpgrade.length > 0) {
log.info(getActionMessage());
if (await confirm({ message: "Do you want to proceed?" }) === true) {
const s = spinner();
s.start("Installing dependencies...");
if (packagesToInstall.length > 0) await addDevDependency(packagesToInstall);
if (packagesToUpgrade.length > 0) {
const upgradeCommand = resolveCommand((await getPackageManager()).agent, "upgrade", packagesToUpgrade);
await x(upgradeCommand.command, upgradeCommand.args);
}
s.stop("Dependencies installed!");
}
} else log.info("All required dependencies are already installed.");
let overwriteConfig = false;
overwriteConfig = await (configUrl ? confirm({ message: `Found ${underline(relative(process.cwd(), configUrl))}. Do you want to overwrite it?` }) : confirm({ message: "No ESLint config found. Do you want to create one?" }));
if (overwriteConfig === true) {
const s = spinner();
s.start("Setting up ESLint config...");
await writeFile(configUrl ?? "eslint.config.mjs", configData);
s.stop("ESLint config setup complete!");
}
if (hasFile("package.json")) {
const packageJson = JSON.parse(await readFile("package.json", "utf8"));
if (!packageJson.scripts) packageJson.scripts = {};
if ((packageJson.scripts.lint && packageJson.scripts["lint:fix"] ? false : await confirm({ message: "Do you want to add lint scripts to package.json?" })) === true) {
if (!packageJson.scripts.lint) packageJson.scripts.lint = "eslint";
if (!packageJson.scripts["lint:fix"]) packageJson.scripts["lint:fix"] = "eslint --fix";
await writeFile("package.json", JSON.stringify(packageJson, null, 2));
}
}
outro("All done! Happy hacking!");
}
//#endregion
export { main };
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,19 @@
Copyright OpenJS Foundation and other contributors, <www.openjsf.org>
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.
@@ -0,0 +1,103 @@
[![npm version](https://img.shields.io/npm/v/@eslint/js.svg)](https://www.npmjs.com/package/@eslint/js)
[![Downloads](https://img.shields.io/npm/dm/@eslint/js.svg)](https://www.npmjs.com/package/@eslint/js)
[![Build Status](https://github.com/eslint/eslint/workflows/CI/badge.svg)](https://github.com/eslint/eslint/actions)
<br>
[![Open Collective Backers](https://img.shields.io/opencollective/backers/eslint)](https://opencollective.com/eslint)
[![Open Collective Sponsors](https://img.shields.io/opencollective/sponsors/eslint)](https://opencollective.com/eslint)
# ESLint JavaScript Plugin
[Website](https://eslint.org) |
[Configure ESLint](https://eslint.org/docs/latest/use/configure) |
[Rules](https://eslint.org/docs/rules/) |
[Contribute to ESLint](https://eslint.org/docs/latest/contribute) |
[Report Bugs](https://eslint.org/docs/latest/contribute/report-bugs) |
[Code of Conduct](https://eslint.org/conduct) |
[X](https://x.com/geteslint) |
[Discord](https://eslint.org/chat) |
[Mastodon](https://fosstodon.org/@eslint) |
[Bluesky](https://bsky.app/profile/eslint.org)
The beginnings of separating out JavaScript-specific functionality from ESLint.
Right now, this plugin contains two configurations:
- `recommended` - enables the rules recommended by the ESLint team (the replacement for `"eslint:recommended"`)
- `all` - enables all ESLint rules (the replacement for `"eslint:all"`)
## Installation
You can install ESLint using npm or other package managers:
```shell
npm install eslint -D
# or
yarn add eslint -D
# or
pnpm install eslint -D
# or
bun add eslint -D
```
Then install this plugin:
```shell
npm install @eslint/js -D
# or
yarn add @eslint/js -D
# or
pnpm install @eslint/js -D
# or
bun add @eslint/js -D
```
## Usage
Use in your `eslint.config.js` file anytime you want to extend one of the configs:
```js
import { defineConfig } from "eslint/config";
import js from "@eslint/js";
export default defineConfig([
// apply recommended rules to JS files
{
name: "your-project/recommended-rules",
files: ["**/*.js"],
plugins: {
js,
},
extends: ["js/recommended"],
},
// apply recommended rules to JS files with an override
{
name: "your-project/recommended-rules-with-override",
files: ["**/*.js"],
plugins: {
js,
},
extends: ["js/recommended"],
rules: {
"no-unused-vars": "warn",
},
},
// apply all rules to JS files
{
name: "your-project/all-rules",
files: ["**/*.js"],
plugins: {
js,
},
extends: ["js/all"],
rules: {
"no-unused-vars": "warn",
},
},
]);
```
## License
MIT
@@ -0,0 +1,44 @@
{
"name": "@eslint/js",
"version": "10.0.1",
"description": "ESLint JavaScript language implementation",
"funding": "https://eslint.org/donate",
"main": "./src/index.js",
"types": "./types/index.d.ts",
"scripts": {
"test:types": "tsc -p tests/types/tsconfig.json"
},
"files": [
"LICENSE",
"README.md",
"src",
"types"
],
"publishConfig": {
"access": "public"
},
"repository": {
"type": "git",
"url": "https://github.com/eslint/eslint.git",
"directory": "packages/js"
},
"homepage": "https://eslint.org",
"bugs": "https://github.com/eslint/eslint/issues/",
"keywords": [
"javascript",
"eslint-plugin",
"eslint"
],
"license": "MIT",
"peerDependencies": {
"eslint": "^10.0.0"
},
"peerDependenciesMeta": {
"eslint": {
"optional": true
}
},
"engines": {
"node": "^20.19.0 || ^22.13.0 || >=24"
}
}
@@ -0,0 +1,210 @@
/*
* WARNING: This file is autogenerated using the tools/update-eslint-all.js
* script. Do not edit manually.
*/
"use strict";
module.exports = Object.freeze({
name: "@eslint/js/all",
rules: Object.freeze({
"accessor-pairs": "error",
"array-callback-return": "error",
"arrow-body-style": "error",
"block-scoped-var": "error",
"camelcase": "error",
"capitalized-comments": "error",
"class-methods-use-this": "error",
"complexity": "error",
"consistent-return": "error",
"consistent-this": "error",
"constructor-super": "error",
"curly": "error",
"default-case": "error",
"default-case-last": "error",
"default-param-last": "error",
"dot-notation": "error",
"eqeqeq": "error",
"for-direction": "error",
"func-name-matching": "error",
"func-names": "error",
"func-style": "error",
"getter-return": "error",
"grouped-accessor-pairs": "error",
"guard-for-in": "error",
"id-denylist": "error",
"id-length": "error",
"id-match": "error",
"init-declarations": "error",
"logical-assignment-operators": "error",
"max-classes-per-file": "error",
"max-depth": "error",
"max-lines": "error",
"max-lines-per-function": "error",
"max-nested-callbacks": "error",
"max-params": "error",
"max-statements": "error",
"new-cap": "error",
"no-alert": "error",
"no-array-constructor": "error",
"no-async-promise-executor": "error",
"no-await-in-loop": "error",
"no-bitwise": "error",
"no-caller": "error",
"no-case-declarations": "error",
"no-class-assign": "error",
"no-compare-neg-zero": "error",
"no-cond-assign": "error",
"no-console": "error",
"no-const-assign": "error",
"no-constant-binary-expression": "error",
"no-constant-condition": "error",
"no-constructor-return": "error",
"no-continue": "error",
"no-control-regex": "error",
"no-debugger": "error",
"no-delete-var": "error",
"no-div-regex": "error",
"no-dupe-args": "error",
"no-dupe-class-members": "error",
"no-dupe-else-if": "error",
"no-dupe-keys": "error",
"no-duplicate-case": "error",
"no-duplicate-imports": "error",
"no-else-return": "error",
"no-empty": "error",
"no-empty-character-class": "error",
"no-empty-function": "error",
"no-empty-pattern": "error",
"no-empty-static-block": "error",
"no-eq-null": "error",
"no-eval": "error",
"no-ex-assign": "error",
"no-extend-native": "error",
"no-extra-bind": "error",
"no-extra-boolean-cast": "error",
"no-extra-label": "error",
"no-fallthrough": "error",
"no-func-assign": "error",
"no-global-assign": "error",
"no-implicit-coercion": "error",
"no-implicit-globals": "error",
"no-implied-eval": "error",
"no-import-assign": "error",
"no-inline-comments": "error",
"no-inner-declarations": "error",
"no-invalid-regexp": "error",
"no-invalid-this": "error",
"no-irregular-whitespace": "error",
"no-iterator": "error",
"no-label-var": "error",
"no-labels": "error",
"no-lone-blocks": "error",
"no-lonely-if": "error",
"no-loop-func": "error",
"no-loss-of-precision": "error",
"no-magic-numbers": "error",
"no-misleading-character-class": "error",
"no-multi-assign": "error",
"no-multi-str": "error",
"no-negated-condition": "error",
"no-nested-ternary": "error",
"no-new": "error",
"no-new-func": "error",
"no-new-native-nonconstructor": "error",
"no-new-wrappers": "error",
"no-nonoctal-decimal-escape": "error",
"no-obj-calls": "error",
"no-object-constructor": "error",
"no-octal": "error",
"no-octal-escape": "error",
"no-param-reassign": "error",
"no-plusplus": "error",
"no-promise-executor-return": "error",
"no-proto": "error",
"no-prototype-builtins": "error",
"no-redeclare": "error",
"no-regex-spaces": "error",
"no-restricted-exports": "error",
"no-restricted-globals": "error",
"no-restricted-imports": "error",
"no-restricted-properties": "error",
"no-restricted-syntax": "error",
"no-return-assign": "error",
"no-script-url": "error",
"no-self-assign": "error",
"no-self-compare": "error",
"no-sequences": "error",
"no-setter-return": "error",
"no-shadow": "error",
"no-shadow-restricted-names": "error",
"no-sparse-arrays": "error",
"no-template-curly-in-string": "error",
"no-ternary": "error",
"no-this-before-super": "error",
"no-throw-literal": "error",
"no-unassigned-vars": "error",
"no-undef": "error",
"no-undef-init": "error",
"no-undefined": "error",
"no-underscore-dangle": "error",
"no-unexpected-multiline": "error",
"no-unmodified-loop-condition": "error",
"no-unneeded-ternary": "error",
"no-unreachable": "error",
"no-unreachable-loop": "error",
"no-unsafe-finally": "error",
"no-unsafe-negation": "error",
"no-unsafe-optional-chaining": "error",
"no-unused-expressions": "error",
"no-unused-labels": "error",
"no-unused-private-class-members": "error",
"no-unused-vars": "error",
"no-use-before-define": "error",
"no-useless-assignment": "error",
"no-useless-backreference": "error",
"no-useless-call": "error",
"no-useless-catch": "error",
"no-useless-computed-key": "error",
"no-useless-concat": "error",
"no-useless-constructor": "error",
"no-useless-escape": "error",
"no-useless-rename": "error",
"no-useless-return": "error",
"no-var": "error",
"no-void": "error",
"no-warning-comments": "error",
"no-with": "error",
"object-shorthand": "error",
"one-var": "error",
"operator-assignment": "error",
"prefer-arrow-callback": "error",
"prefer-const": "error",
"prefer-destructuring": "error",
"prefer-exponentiation-operator": "error",
"prefer-named-capture-group": "error",
"prefer-numeric-literals": "error",
"prefer-object-has-own": "error",
"prefer-object-spread": "error",
"prefer-promise-reject-errors": "error",
"prefer-regex-literals": "error",
"prefer-rest-params": "error",
"prefer-spread": "error",
"prefer-template": "error",
"preserve-caught-error": "error",
"radix": "error",
"require-atomic-updates": "error",
"require-await": "error",
"require-unicode-regexp": "error",
"require-yield": "error",
"sort-imports": "error",
"sort-keys": "error",
"sort-vars": "error",
"strict": "error",
"symbol-description": "error",
"unicode-bom": "error",
"use-isnan": "error",
"valid-typeof": "error",
"vars-on-top": "error",
"yoda": "error"
})
});
@@ -0,0 +1,75 @@
/*
* WARNING: This file is autogenerated using the tools/update-eslint-recommended.js
* script. Do not edit manually.
*/
"use strict";
module.exports = Object.freeze({
name: "@eslint/js/recommended",
rules: Object.freeze({
"constructor-super": "error",
"for-direction": "error",
"getter-return": "error",
"no-async-promise-executor": "error",
"no-case-declarations": "error",
"no-class-assign": "error",
"no-compare-neg-zero": "error",
"no-cond-assign": "error",
"no-const-assign": "error",
"no-constant-binary-expression": "error",
"no-constant-condition": "error",
"no-control-regex": "error",
"no-debugger": "error",
"no-delete-var": "error",
"no-dupe-args": "error",
"no-dupe-class-members": "error",
"no-dupe-else-if": "error",
"no-dupe-keys": "error",
"no-duplicate-case": "error",
"no-empty": "error",
"no-empty-character-class": "error",
"no-empty-pattern": "error",
"no-empty-static-block": "error",
"no-ex-assign": "error",
"no-extra-boolean-cast": "error",
"no-fallthrough": "error",
"no-func-assign": "error",
"no-global-assign": "error",
"no-import-assign": "error",
"no-invalid-regexp": "error",
"no-irregular-whitespace": "error",
"no-loss-of-precision": "error",
"no-misleading-character-class": "error",
"no-new-native-nonconstructor": "error",
"no-nonoctal-decimal-escape": "error",
"no-obj-calls": "error",
"no-octal": "error",
"no-prototype-builtins": "error",
"no-redeclare": "error",
"no-regex-spaces": "error",
"no-self-assign": "error",
"no-setter-return": "error",
"no-shadow-restricted-names": "error",
"no-sparse-arrays": "error",
"no-this-before-super": "error",
"no-unassigned-vars": "error",
"no-undef": "error",
"no-unexpected-multiline": "error",
"no-unreachable": "error",
"no-unsafe-finally": "error",
"no-unsafe-negation": "error",
"no-unsafe-optional-chaining": "error",
"no-unused-labels": "error",
"no-unused-private-class-members": "error",
"no-unused-vars": "error",
"no-useless-assignment": "error",
"no-useless-backreference": "error",
"no-useless-catch": "error",
"no-useless-escape": "error",
"no-with": "error",
"preserve-caught-error": "error",
"require-yield": "error",
"use-isnan": "error",
"valid-typeof": "error"
}),
});
@@ -0,0 +1,23 @@
/**
* @fileoverview Main package entrypoint.
* @author Nicholas C. Zakas
*/
"use strict";
const { name, version } = require("../package.json");
//------------------------------------------------------------------------------
// Public Interface
//------------------------------------------------------------------------------
module.exports = {
meta: {
name,
version,
},
configs: {
all: require("./configs/eslint-all"),
recommended: require("./configs/eslint-recommended"),
},
};
@@ -0,0 +1,14 @@
import type { Linter } from "eslint";
declare const js: {
readonly meta: {
readonly name: string;
readonly version: string;
};
readonly configs: {
readonly recommended: { readonly rules: Readonly<Linter.RulesRecord> };
readonly all: { readonly rules: Readonly<Linter.RulesRecord> };
};
};
export = js;
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,2 @@
'use strict';
module.exports = require('./globals.json');
@@ -0,0 +1,9 @@
MIT License
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
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.
@@ -0,0 +1,121 @@
{
"name": "globals",
"version": "17.5.0",
"description": "Global identifiers from different JavaScript environments",
"license": "MIT",
"repository": "sindresorhus/globals",
"funding": "https://github.com/sponsors/sindresorhus",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
"url": "https://sindresorhus.com"
},
"sideEffects": false,
"engines": {
"node": ">=18"
},
"scripts": {
"test": "npm run build && xo && ava && tsd",
"prepare": "npm run build",
"update": "node scripts/update.mjs",
"update:browser": "node scripts/update.mjs --job=browser",
"update:builtin": "node scripts/update.mjs --job=builtin",
"update:builtin-yearly": "node scripts/update.mjs --job=builtin-yearly",
"update:nodeBuiltin": "node scripts/update.mjs --job=nodeBuiltin",
"update:bunBuiltin": "node scripts/update.mjs --job=bunBuiltin",
"update:denoBuiltin": "node scripts/update.mjs --job=denoBuiltin",
"update:worker": "node scripts/update.mjs --job=worker",
"update:serviceworker": "node scripts/update.mjs --job=serviceworker",
"update:sharedWorker": "node scripts/update.mjs --job=sharedWorker",
"update:audioWorklet": "node scripts/update.mjs --job=audioWorklet",
"update:shelljs": "node scripts/update.mjs --job=shelljs",
"update:jest": "node scripts/update.mjs --job=jest",
"update:vitest": "node scripts/update.mjs --job=vitest",
"build": "run-s build:data build:types",
"build:data": "node scripts/generate-data.mjs",
"build:types": "node scripts/generate-types.mjs"
},
"files": [
"index.js",
"index.d.ts",
"globals.json"
],
"keywords": [
"globals",
"global",
"identifiers",
"variables",
"vars",
"jshint",
"eslint",
"environments"
],
"devDependencies": {
"@vitest/eslint-plugin": "^1.1.44",
"ava": "^6.3.0",
"cheerio": "^1.0.0",
"eslint-plugin-jest": "^28.11.0",
"get-port": "^7.1.0",
"is-identifier": "^1.0.1",
"nano-spawn": "^0.2.0",
"npm-run-all2": "^8.0.1",
"outdent": "^0.8.0",
"puppeteer": "^24.40.0",
"shelljs": "^0.9.2",
"tsd": "^0.32.0",
"type-fest": "^4.41.0",
"xo": "^0.60.0"
},
"xo": {
"rules": {
"unicorn/prefer-module": "off"
},
"overrides": [
{
"files": [
"data/*.mjs"
],
"rules": {
"import/no-anonymous-default-export": "off",
"camelcase": "off",
"unicorn/filename-case": [
"error",
{
"cases": {
"camelCase": true,
"kebabCase": true
}
}
]
}
},
{
"files": [
"scripts/*.mjs"
],
"rules": {
"n/no-unsupported-features/node-builtins": "off"
}
},
{
"files": [
"scripts/browser/assets/**/*.mjs"
],
"envs": [
"browser",
"worker",
"serviceworker"
],
"rules": {
"n/no-unsupported-features/node-builtins": "off",
"unicorn/prefer-add-event-listener": "off"
}
}
]
},
"tsd": {
"compilerOptions": {
"resolveJsonModule": true
}
}
}
@@ -0,0 +1,42 @@
# globals
> Global identifiers from different JavaScript environments
It's just a [JSON file](globals.json), so you can use it in any environment.
This package is used by ESLint 8 and earlier. For ESLint 9 and later, you should depend on this package directly in [your ESLint config](https://eslint.org/docs/latest/use/configure/language-options#predefined-global-variables).
## Install
```sh
npm install globals
```
## Usage
```js
import globals from 'globals';
console.log(globals.browser);
/*
{
addEventListener: false,
applicationCache: false,
ArrayBuffer: false,
atob: false,
}
*/
```
Each global is given a value of `true` or `false`. A value of `true` indicates that the variable may be overwritten. A value of `false` indicates that the variable should be considered read-only. This information is used by static analysis tools to flag incorrect behavior. We assume all variables should be `false` unless we hear otherwise.
For Node.js this package provides two sets of globals:
- `globals.nodeBuiltin`: Globals available to all code running in Node.js.
These will usually be available as properties on the `globalThis` object and include `process`, `Buffer`, but not CommonJS arguments like `require`.
See: https://nodejs.org/api/globals.html
- `globals.node`: A combination of the globals from `nodeBuiltin` plus all CommonJS arguments ("CommonJS module scope").
See: https://nodejs.org/api/modules.html#modules_the_module_scope
When analyzing code that is known to run outside of a CommonJS wrapper, for example, JavaScript modules, `nodeBuiltin` can find accidental CommonJS references.
+110
View File
@@ -0,0 +1,110 @@
{
"name": "eslint-config-vuetify",
"version": "4.6.2",
"description": "eslint config for vue.js projects",
"type": "module",
"bin": {
"eslint-config-vuetify": "bin/cli.mjs"
},
"exports": {
".": "./dist/index.mjs",
"./cli": "./dist/cli.mjs",
"./package.json": "./package.json"
},
"types": "./dist/index.d.ts",
"files": [
"dist"
],
"repository": {
"type": "git",
"url": "git+https://github.com/vuetifyjs/eslint-config-vuetify.git"
},
"keywords": [
"eslint",
"config",
"eslint-config",
"vue",
"vuetify"
],
"author": "John Leider <john@vuetifyjs.com>",
"license": "MIT",
"peerDependencies": {
"@vitest/eslint-plugin": "^1.1.42",
"eslint": "^9.5.0 || ^10.0.0",
"eslint-plugin-jest": "^29.0.1",
"eslint-plugin-no-only-tests": "^3.3.0",
"eslint-plugin-vuejs-accessibility": "^2.0.0"
},
"peerDependenciesMeta": {
"eslint-plugin-import-x": {
"optional": true
},
"eslint-plugin-jest": {
"optional": true
},
"eslint-plugin-no-only-tests": {
"optional": true
},
"@vitest/eslint-plugin": {
"optional": true
},
"eslint-plugin-vuejs-accessibility": {
"optional": true
}
},
"dependencies": {
"@clack/prompts": "^1.2.0",
"@eslint/eslintrc": "^3.3.5",
"@eslint/js": "^10.0.1",
"@stylistic/eslint-plugin": "^5.10.0",
"@typescript-eslint/parser": "^8.59.0",
"eslint-config-flat-gitignore": "^2.3.0",
"eslint-flat-config-utils": "^3.1.0",
"eslint-plugin-antfu": "^3.2.2",
"eslint-plugin-import-lite": "^0.6.0",
"eslint-plugin-jsonc": "^3.1.2",
"eslint-plugin-perfectionist": "^5.9.0",
"eslint-plugin-pnpm": "^1.6.0",
"eslint-plugin-regexp": "^3.1.0",
"eslint-plugin-unicorn": "^64.0.0",
"eslint-plugin-vue": "^10.9.0",
"eslint-typegen": "^2.3.1",
"exsolve": "^1.0.8",
"globals": "^17.5.0",
"jsonc-eslint-parser": "^3.1.0",
"kolorist": "^1.8.0",
"local-pkg": "^1.1.2",
"nypm": "^0.6.5",
"package-manager-detector": "^1.6.0",
"tinyexec": "^1.1.1",
"typescript-eslint": "^8.59.0",
"vue-eslint-parser": "^10.4.0",
"yaml-eslint-parser": "^2.0.0"
},
"devDependencies": {
"@types/node": "^25.6.0",
"bumpp": "^11.0.1",
"changelogithub": "^14.0.0",
"eslint": "^10.2.1",
"eslint-config-vuetify": "file:",
"tsdown": "^0.21.9",
"tsx": "^4.21.0",
"typescript": "^6.0.3",
"valibot": "^1.3.1",
"vitest": "^4.1.5",
"vue": "^3.5.32"
},
"inlinedDependencies": {
"valibot": "1.3.1"
},
"scripts": {
"typegen": "tsx scripts/typegen.ts",
"build": "node --run typegen && tsdown",
"lint": "eslint",
"lint:fix": "eslint --fix",
"test": "vitest run",
"dev": "vitest",
"dev:prepare": "node --run typegen",
"release": "bumpp -r"
}
}