@omlet/eslint-plugin
Advanced tools
Comparing version 0.0.0-staging-202409171341-5ec1e1 to 0.0.0-staging-202409231320-79588f
import { Workspace } from "./models/Workspace.js"; | ||
export declare function getDefaultWorkspace(): Promise<Workspace>; | ||
declare let workspace: any; | ||
export { workspace }; |
@@ -1,20 +0,26 @@ | ||
import { randomUUID } from "node:crypto"; | ||
import { readFile } from "node:fs/promises"; | ||
import os from "node:os"; | ||
import { StatusCodes } from "http-status-codes"; | ||
import { ProxyAgent, setGlobalDispatcher } from "undici"; | ||
import upath from "upath"; | ||
import { version } from "../package.json"; | ||
import { BASE_URL, HTTP_PROXY_URL, OMLET_TOKEN } from "./envConfig.js"; | ||
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.getDefaultWorkspace = getDefaultWorkspace; | ||
const node_crypto_1 = require("node:crypto"); | ||
const promises_1 = require("node:fs/promises"); | ||
const node_os_1 = __importDefault(require("node:os")); | ||
const http_status_codes_1 = require("http-status-codes"); | ||
const undici_1 = require("undici"); | ||
const upath_1 = __importDefault(require("upath")); | ||
const package_json_1 = require("../package.json"); | ||
const envConfig_js_1 = require("./envConfig.js"); | ||
const TOKEN_FILE_NAME = ".omletrc"; | ||
const TOKEN_FILE_PATH = upath.join(os.homedir(), TOKEN_FILE_NAME); | ||
const TOKEN_FILE_PATH = upath_1.default.join(node_os_1.default.homedir(), TOKEN_FILE_NAME); | ||
function generateUserAgent() { | ||
return `OmletESLintPlugin/${version}`; | ||
return `OmletESLintPlugin/${package_json_1.version}`; | ||
} | ||
async function readTokenFile() { | ||
try { | ||
const content = await readFile(TOKEN_FILE_PATH, "utf8"); | ||
const content = await (0, promises_1.readFile)(TOKEN_FILE_PATH, "utf8"); | ||
return JSON.parse(content); | ||
} | ||
catch { | ||
catch (_a) { | ||
return {}; | ||
@@ -24,7 +30,7 @@ } | ||
async function getToken() { | ||
if (OMLET_TOKEN) { | ||
return OMLET_TOKEN; | ||
if (envConfig_js_1.OMLET_TOKEN) { | ||
return envConfig_js_1.OMLET_TOKEN; | ||
} | ||
const tokens = await readTokenFile(); | ||
return tokens[BASE_URL]; | ||
return tokens[envConfig_js_1.BASE_URL]; | ||
} | ||
@@ -35,4 +41,4 @@ const REQUEST_TIMEOUT_MSEC = 150000; | ||
const token = await getToken(); | ||
const url = new URL(pathname, BASE_URL).toString(); | ||
const requestId = randomUUID(); | ||
const url = new URL(pathname, envConfig_js_1.BASE_URL).toString(); | ||
const requestId = (0, node_crypto_1.randomUUID)(); | ||
const headers = { | ||
@@ -46,5 +52,5 @@ ...options.headers, | ||
let response; | ||
if (HTTP_PROXY_URL) { | ||
const proxyAgent = new ProxyAgent(HTTP_PROXY_URL); | ||
setGlobalDispatcher(proxyAgent); | ||
if (envConfig_js_1.HTTP_PROXY_URL) { | ||
const proxyAgent = new undici_1.ProxyAgent(envConfig_js_1.HTTP_PROXY_URL); | ||
(0, undici_1.setGlobalDispatcher)(proxyAgent); | ||
} | ||
@@ -65,6 +71,6 @@ const abortSignal = AbortSignal.timeout(REQUEST_TIMEOUT_MSEC); | ||
} | ||
if (response.status === StatusCodes.UNAUTHORIZED) { | ||
if (response.status === http_status_codes_1.StatusCodes.UNAUTHORIZED) { | ||
throw new Error("Login required"); | ||
} | ||
else if (response.status === StatusCodes.REQUEST_TIMEOUT || response.status === StatusCodes.GATEWAY_TIMEOUT) { | ||
else if (response.status === http_status_codes_1.StatusCodes.REQUEST_TIMEOUT || response.status === http_status_codes_1.StatusCodes.GATEWAY_TIMEOUT) { | ||
throw new Error("Request timed out"); | ||
@@ -78,13 +84,12 @@ } | ||
} | ||
export async function getDefaultWorkspace() { | ||
async function getDefaultWorkspace() { | ||
const { data } = await apiRequest("/api/workspaces/default"); | ||
return data; | ||
} | ||
let workspace; | ||
try { | ||
workspace = await getDefaultWorkspace(); | ||
} | ||
catch { | ||
console.warn("Getting workspace failed"); | ||
} | ||
export { workspace }; | ||
// let workspace; | ||
// try { | ||
// workspace = await getDefaultWorkspace(); | ||
// } catch { | ||
// console.warn("Getting workspace failed"); | ||
// } | ||
// export { workspace }; |
@@ -0,1 +1,5 @@ | ||
"use strict"; | ||
var _a, _b; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.OMLET_TOKEN = exports.HTTP_PROXY_URL = exports.BASE_URL = void 0; | ||
function getProxyConfig() { | ||
@@ -24,4 +28,4 @@ const varNames = [ | ||
const PROD_BASE_URL = "https://feta.omlet.dev"; | ||
export const BASE_URL = process.env.OMLET_BASE_URL ?? PROD_BASE_URL; | ||
export const HTTP_PROXY_URL = getProxyConfig(); | ||
export const OMLET_TOKEN = process.env.OMLET_TOKEN ?? ""; | ||
exports.BASE_URL = (_a = process.env.OMLET_BASE_URL) !== null && _a !== void 0 ? _a : PROD_BASE_URL; | ||
exports.HTTP_PROXY_URL = getProxyConfig(); | ||
exports.OMLET_TOKEN = (_b = process.env.OMLET_TOKEN) !== null && _b !== void 0 ? _b : ""; |
@@ -11,2 +11,1 @@ import { type ESLint } from "eslint"; | ||
export default plugin; | ||
export { rules }; |
@@ -0,1 +1,3 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const rules = require("./rules/index.js"); | ||
@@ -10,4 +12,3 @@ console.log("Omlet ESLint plugin is loaded!"); | ||
}; | ||
export default plugin; | ||
export { rules }; | ||
exports.default = plugin; | ||
module.exports = plugin; |
@@ -1,1 +0,2 @@ | ||
export {}; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); |
@@ -1,2 +0,5 @@ | ||
export var FilterDataType; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.FilterDataType = void 0; | ||
var FilterDataType; | ||
(function (FilterDataType) { | ||
@@ -7,2 +10,2 @@ FilterDataType["String"] = "string"; | ||
FilterDataType["Date"] = "date"; | ||
})(FilterDataType || (FilterDataType = {})); | ||
})(FilterDataType || (exports.FilterDataType = FilterDataType = {})); |
@@ -1,2 +0,5 @@ | ||
export var FilterOperation; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.FilterOperation = void 0; | ||
var FilterOperation; | ||
(function (FilterOperation) { | ||
@@ -15,3 +18,3 @@ FilterOperation["Equals"] = "equals"; | ||
FilterOperation["Between"] = "between"; | ||
})(FilterOperation || (FilterOperation = {})); | ||
})(FilterOperation || (exports.FilterOperation = FilterOperation = {})); | ||
const equalityFilterOperations = [FilterOperation.Equals, FilterOperation.IsNotEqual]; | ||
@@ -18,0 +21,0 @@ const stringFilterOperations = [FilterOperation.Contains, FilterOperation.DoesNotContain, FilterOperation.StartsWith, FilterOperation.DoesNotStartWith, FilterOperation.EndsWith, FilterOperation.DoesNotEndWith, FilterOperation.Regex]; |
@@ -1,2 +0,5 @@ | ||
export var FilterType; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.FilterType = void 0; | ||
var FilterType; | ||
(function (FilterType) { | ||
@@ -14,2 +17,2 @@ FilterType["ProjectDefined"] = "projectDefined"; | ||
FilterType["CustomProperty"] = "customProperty"; | ||
})(FilterType || (FilterType = {})); | ||
})(FilterType || (exports.FilterType = FilterType = {})); |
@@ -1,1 +0,2 @@ | ||
export {}; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); |
@@ -1,1 +0,2 @@ | ||
export {}; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); |
@@ -1,1 +0,2 @@ | ||
export {}; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); |
@@ -1,1 +0,2 @@ | ||
export {}; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); |
@@ -1,1 +0,2 @@ | ||
export {}; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); |
@@ -1,1 +0,2 @@ | ||
export {}; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); |
@@ -1,1 +0,2 @@ | ||
export {}; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); |
@@ -1,3 +0,5 @@ | ||
import { ESLintUtils, AST_NODE_TYPES } from "@typescript-eslint/utils"; | ||
const createRule = ESLintUtils.RuleCreator(name => `https://docs.omlet.dev/linter/rules/${name}`); | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const utils_1 = require("@typescript-eslint/utils"); | ||
const createRule = utils_1.ESLintUtils.RuleCreator(name => `https://docs.omlet.dev/linter/rules/${name}`); | ||
const optionSchema = { | ||
@@ -20,3 +22,3 @@ type: "string", | ||
}; | ||
export default createRule({ | ||
exports.default = createRule({ | ||
name: "disallow-elements", | ||
@@ -53,3 +55,3 @@ meta: { | ||
JSXElement(node) { | ||
if (node.openingElement.name.type !== AST_NODE_TYPES.JSXIdentifier) { | ||
if (node.openingElement.name.type !== utils_1.AST_NODE_TYPES.JSXIdentifier) { | ||
return; | ||
@@ -56,0 +58,0 @@ } |
@@ -1,6 +0,18 @@ | ||
export declare const ruleModules: readonly [import("@typescript-eslint/utils/ts-eslint").RuleModule<"useColorToken", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>, import("@typescript-eslint/utils/ts-eslint").RuleModule<"dontUseElementsWithTag", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>]; | ||
export declare const ruleModules: readonly [import("@typescript-eslint/utils/ts-eslint").RuleModule<"dontUseElement" | "useSuggestedElement", [{ | ||
elements: (string | { | ||
element: string; | ||
suggestion: string; | ||
})[]; | ||
}], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>, import("@typescript-eslint/utils/ts-eslint").RuleModule<"useColorToken", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>, import("@typescript-eslint/utils/ts-eslint").RuleModule<"dontUseElementsWithTag", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>]; | ||
declare const _default: { | ||
"disallow-elements": import("@typescript-eslint/utils/ts-eslint").RuleModule<"dontUseElement" | "useSuggestedElement", [{ | ||
elements: (string | { | ||
element: string; | ||
suggestion: string; | ||
})[]; | ||
}], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>; | ||
"no-hardcoded-colors": import("@typescript-eslint/utils/ts-eslint").RuleModule<"useColorToken", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>; | ||
"no-hardcoded-styles": import("@typescript-eslint/utils/ts-eslint").RuleModule<"dontApplyStylesDirectly", unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>; | ||
"no-elements-with-tag": import("@typescript-eslint/utils/ts-eslint").RuleModule<"dontUseElementsWithTag", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>; | ||
}; | ||
export default _default; |
@@ -1,10 +0,21 @@ | ||
import noHardcodedColors from "./no-hardcoded-colors.js"; | ||
import noElementsWithTag from "./no-element-with-tag.js"; | ||
export const ruleModules = [ | ||
noHardcodedColors, | ||
noElementsWithTag, | ||
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.ruleModules = void 0; | ||
const disallow_elements_js_1 = __importDefault(require("./disallow-elements.js")); | ||
const no_hardcoded_colors_js_1 = __importDefault(require("./no-hardcoded-colors.js")); | ||
const no_hardcoded_styles_js_1 = __importDefault(require("./no-hardcoded-styles.js")); | ||
const no_element_with_tag_js_1 = __importDefault(require("./no-element-with-tag.js")); | ||
exports.ruleModules = [ | ||
disallow_elements_js_1.default, | ||
no_hardcoded_colors_js_1.default, | ||
no_element_with_tag_js_1.default, | ||
]; | ||
export default { | ||
"no-hardcoded-colors": noHardcodedColors, | ||
"no-elements-with-tag": noElementsWithTag, | ||
exports.default = { | ||
"disallow-elements": disallow_elements_js_1.default, | ||
"no-hardcoded-colors": no_hardcoded_colors_js_1.default, | ||
"no-hardcoded-styles": no_hardcoded_styles_js_1.default, | ||
"no-elements-with-tag": no_element_with_tag_js_1.default, | ||
}; |
@@ -1,4 +0,6 @@ | ||
import { AST_NODE_TYPES, ESLintUtils } from "@typescript-eslint/utils"; | ||
const createRule = ESLintUtils.RuleCreator(name => `https://docs.omlet.dev/linter/rules/${name}`); | ||
export default createRule({ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const utils_1 = require("@typescript-eslint/utils"); | ||
const createRule = utils_1.ESLintUtils.RuleCreator(name => `https://docs.omlet.dev/linter/rules/${name}`); | ||
exports.default = createRule({ | ||
name: "no-element-with-tag", | ||
@@ -33,3 +35,3 @@ meta: { | ||
for (const node of jsxElements) { | ||
if (node.openingElement.name.type === AST_NODE_TYPES.JSXIdentifier && | ||
if (node.openingElement.name.type === utils_1.AST_NODE_TYPES.JSXIdentifier && | ||
/^legacy/i.test(node.openingElement.name.name)) { | ||
@@ -36,0 +38,0 @@ context.report({ |
@@ -1,3 +0,5 @@ | ||
import { ESLintUtils } from "@typescript-eslint/utils"; | ||
const createRule = ESLintUtils.RuleCreator(name => `https://docs.omlet.dev/linter/rules/${name}`); | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const utils_1 = require("@typescript-eslint/utils"); | ||
const createRule = utils_1.ESLintUtils.RuleCreator(name => `https://docs.omlet.dev/linter/rules/${name}`); | ||
const hexRegex = /^#(\p{Hex_Digit}{8}|\p{Hex_Digit}{6}|\p{Hex_Digit}{3,4})$/u; | ||
@@ -10,3 +12,3 @@ function isHardcodedColor(literal) { | ||
} | ||
export default createRule({ | ||
exports.default = createRule({ | ||
name: "no-hardcoded-colors", | ||
@@ -13,0 +15,0 @@ meta: { |
@@ -1,3 +0,5 @@ | ||
import { ESLintUtils } from "@typescript-eslint/utils"; | ||
const createRule = ESLintUtils.RuleCreator(name => `https://docs.omlet.dev/linter/rules/${name}`); | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const utils_1 = require("@typescript-eslint/utils"); | ||
const createRule = utils_1.ESLintUtils.RuleCreator(name => `https://docs.omlet.dev/linter/rules/${name}`); | ||
const STYLE_ATTRIBUTES = ["style", "sx"]; | ||
@@ -8,3 +10,3 @@ function isStyleAttribute(attribute) { | ||
} | ||
export default createRule({ | ||
exports.default = createRule({ | ||
name: "no-hardcoded-styles", | ||
@@ -11,0 +13,0 @@ meta: { |
@@ -1,4 +0,9 @@ | ||
import { RuleTester } from "@typescript-eslint/rule-tester"; | ||
import disallowElements from "../rules/disallow-elements.js"; | ||
const ruleTester = new RuleTester(); | ||
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const rule_tester_1 = require("@typescript-eslint/rule-tester"); | ||
const disallow_elements_js_1 = __importDefault(require("../rules/disallow-elements.js")); | ||
const ruleTester = new rule_tester_1.RuleTester(); | ||
const languageOptions = { | ||
@@ -11,3 +16,3 @@ parserOptions: { | ||
}; | ||
ruleTester.run("disallow-elements", disallowElements, { | ||
ruleTester.run("disallow-elements", disallow_elements_js_1.default, { | ||
valid: [{ | ||
@@ -14,0 +19,0 @@ languageOptions, |
@@ -1,4 +0,9 @@ | ||
import { RuleTester } from "@typescript-eslint/rule-tester"; | ||
import noElementWithTag from "../rules/no-element-with-tag.js"; | ||
const ruleTester = new RuleTester(); | ||
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const rule_tester_1 = require("@typescript-eslint/rule-tester"); | ||
const no_element_with_tag_js_1 = __importDefault(require("../rules/no-element-with-tag.js")); | ||
const ruleTester = new rule_tester_1.RuleTester(); | ||
const languageOptions = { | ||
@@ -11,3 +16,3 @@ parserOptions: { | ||
}; | ||
ruleTester.run("no-element-with-tag", noElementWithTag, { | ||
ruleTester.run("no-element-with-tag", no_element_with_tag_js_1.default, { | ||
valid: [{ | ||
@@ -14,0 +19,0 @@ languageOptions, |
@@ -1,5 +0,10 @@ | ||
import { RuleTester } from "@typescript-eslint/rule-tester"; | ||
import noHardcodedColors from "../rules/no-hardcoded-colors.js"; | ||
const ruleTester = new RuleTester(); | ||
ruleTester.run("no-hardcoded-colors", noHardcodedColors, { | ||
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const rule_tester_1 = require("@typescript-eslint/rule-tester"); | ||
const no_hardcoded_colors_js_1 = __importDefault(require("../rules/no-hardcoded-colors.js")); | ||
const ruleTester = new rule_tester_1.RuleTester(); | ||
ruleTester.run("no-hardcoded-colors", no_hardcoded_colors_js_1.default, { | ||
valid: [{ | ||
@@ -6,0 +11,0 @@ code: "const foo = ds.tokens.colors.white;", |
@@ -1,4 +0,9 @@ | ||
import { RuleTester } from "@typescript-eslint/rule-tester"; | ||
import noHardcodedStyles from "../rules/no-hardcoded-styles.js"; | ||
const ruleTester = new RuleTester(); | ||
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const rule_tester_1 = require("@typescript-eslint/rule-tester"); | ||
const no_hardcoded_styles_js_1 = __importDefault(require("../rules/no-hardcoded-styles.js")); | ||
const ruleTester = new rule_tester_1.RuleTester(); | ||
const languageOptions = { | ||
@@ -11,3 +16,3 @@ parserOptions: { | ||
}; | ||
ruleTester.run("no-hardcoded-styles", noHardcodedStyles, { | ||
ruleTester.run("no-hardcoded-styles", no_hardcoded_styles_js_1.default, { | ||
valid: [{ | ||
@@ -14,0 +19,0 @@ languageOptions, |
@@ -0,1 +1,4 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.generateDefinitionId = generateDefinitionId; | ||
const FILE_EXTENSION_REGEX = /\.[jt]sx?$/; | ||
@@ -15,3 +18,3 @@ const INDEX_FILE_REGEX = /\/index$/; | ||
} | ||
export function generateDefinitionId(node) { | ||
function generateDefinitionId(node) { | ||
const importPath = node.source.value; | ||
@@ -18,0 +21,0 @@ const pathParts = importPath.split("/"); |
{ | ||
"name": "@omlet/eslint-plugin", | ||
"version": "0.0.0-staging-202409171341-5ec1e1", | ||
"version": "0.0.0-staging-202409231320-79588f", | ||
"description": "Omlet's ESLint rules and configs.", | ||
"type": "module", | ||
"keywords": [ | ||
@@ -7,0 +6,0 @@ "eslint", |
33472
876
No