sicua
Version:
A tool for analyzing project structure and dependencies
153 lines (152 loc) • 3.66 kB
JavaScript
"use strict";
/**
* Constants for Project Metadata Detection
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.CONFIG_FILES = exports.STATE_MANAGEMENT_PACKAGES = exports.UI_STYLING_PACKAGES = exports.DEVELOPMENT_TOOLS = exports.FRAMEWORK_PACKAGES = void 0;
/**
* Framework and runtime packages with their detection keys
*/
exports.FRAMEWORK_PACKAGES = [
{
key: "react",
packageNames: ["react", "react-dom"],
},
{
key: "nextjs",
packageNames: ["next", "@next/core"],
},
{
key: "typescript",
packageNames: ["typescript"],
},
];
/**
* Development tools categorized by functionality
*/
exports.DEVELOPMENT_TOOLS = {
buildTools: [
"webpack",
"rollup",
"esbuild",
"swc",
"@swc/core",
"turbo",
"turborepo",
],
linting: [
"eslint",
"@typescript-eslint/eslint-plugin",
"@typescript-eslint/parser",
"prettier",
"@next/eslint-config-next",
],
testing: [
"jest",
"@jest/core",
"vitest",
"@vitest/ui",
"cypress",
"@cypress/react",
"playwright",
"@playwright/test",
"@testing-library/react",
"@testing-library/jest-dom",
"@testing-library/user-event",
"react-test-renderer",
],
bundlers: ["vite", "@vitejs/plugin-react", "parcel"],
};
/**
* UI and styling related packages
*/
exports.UI_STYLING_PACKAGES = {
cssFrameworks: [
"tailwindcss",
"@tailwindcss/typography",
"@tailwindcss/forms",
"bootstrap",
"bulma",
"foundation-sites",
],
uiLibraries: [
"@mui/material",
"@mui/x-data-grid",
"@mui/lab",
"antd",
"@ant-design/icons",
"@chakra-ui/react",
"@chakra-ui/icons",
"@mantine/core",
"@mantine/hooks",
"@headlessui/react",
"@radix-ui/react-dialog",
"@radix-ui/react-dropdown-menu",
"react-bootstrap",
"semantic-ui-react",
"grommet",
"evergreen-ui",
],
iconLibraries: [
"lucide-react",
"react-icons",
"@heroicons/react",
"@phosphor-icons/react",
"react-feather",
"@tabler/icons-react",
],
};
/**
* State management libraries
*/
exports.STATE_MANAGEMENT_PACKAGES = [
"@reduxjs/toolkit",
"redux",
"react-redux",
"zustand",
"jotai",
"recoil",
"@tanstack/react-query",
"react-query",
"swr",
"valtio",
"mobx",
"mobx-react-lite",
"xstate",
"@xstate/react",
];
/**
* Configuration files to detect by category
*/
exports.CONFIG_FILES = {
nextConfig: ["next.config.js", "next.config.mjs", "next.config.ts"],
tsConfig: ["tsconfig.json"],
eslintConfig: [
".eslintrc",
".eslintrc.js",
".eslintrc.json",
".eslintrc.yml",
".eslintrc.yaml",
"eslint.config.js",
"eslint.config.mjs",
"eslint.config.ts",
],
prettierConfig: [
".prettierrc",
".prettierrc.js",
".prettierrc.json",
".prettierrc.yml",
".prettierrc.yaml",
"prettier.config.js",
"prettier.config.mjs",
],
jestConfig: [
"jest.config.js",
"jest.config.ts",
"jest.config.mjs",
"jest.config.json",
],
vitestConfig: ["vitest.config.js", "vitest.config.ts", "vitest.config.mjs"],
playwrightConfig: ["playwright.config.js", "playwright.config.ts"],
cypressConfig: ["cypress.config.js", "cypress.config.ts"],
};