validstart
Version:
ValidStart is a powerful and intuitive command-line interface (CLI) tool meticulously crafted to streamline the project setup process.
416 lines (413 loc) • 7.99 kB
text/typescript
export const languageMap: Record<string, string[]> = {
Fullstack: ["JavaScript", "TypeScript", "Python", "Go", "Java", "PHP", "Rust"],
Frontend: ["JavaScript", "TypeScript", "HTML/CSS"],
Backend: ["JavaScript", "TypeScript", "Python", "Go", "Rust", "Java", "PHP", "Ruby", "C#"],
"CLI tool": ["JavaScript", "TypeScript", "Python", "Rust", "Go"],
"Library/Package": ["JavaScript", "TypeScript", "Python", "Rust", "Go", "Java", "PHP"],
};
export const frameworks: Record<string, Record<string, string[]>> = {
Frontend: {
JavaScript: ["React", "Vue", "Svelte", "Preact"],
TypeScript: ["React", "Vue", "Svelte", "SolidJS"],
"HTML/CSS": [],
},
Backend: {
JavaScript: ["Express", "Fastify", "Koa"],
TypeScript: ["Express", "Fastify", "Koa", "NestJS"],
Python: ["FastAPI", "Flask", "Django"],
Go: ["Gin", "Fiber"],
Rust: ["Actix", "Rocket"],
Java: ["Spring Boot"],
PHP: ["Laravel", "Symfony"],
Ruby: ["Rails"],
"C#": ["ASP.NET Core"],
},
Fullstack: {
JavaScript: ["Next.js", "Remix", "Meteor"],
TypeScript: ["Next.js", "Remix", "tRPC", "Blitz.js"],
Python: ["Django REST + React", "FastAPI + HTMX"],
Go: ["Buffalo", "Echo + React"],
Java: ["Spring + Thymeleaf"],
PHP: ["Laravel + Vue"],
Rust: ["Yew + Actix"],
},
"CLI tool": {
JavaScript: ["Commander.js", "Yargs"],
TypeScript: ["Oclif", "Enquirer"],
Python: ["Click", "Typer"],
Rust: ["Clap", "StructOpt"],
Go: ["Cobra", "urfave/cli"],
},
"Library/Package": {
JavaScript: ["Rollup", "ESBuild", "Jest"],
TypeScript: ["TSUP", "SWC", "Vitest"],
Python: ["Poetry", "Setuptools"],
Rust: ["Cargo", "Serde"],
Go: ["Go Modules", "GoReleaser"],
Java: ["Maven", "Gradle"],
PHP: ["Composer", "PHPUnit"],
},
};
export const toolsAndLibs: Record<string, string[]> = {
JavaScript: [
"Vite",
"TailwindCSS",
"Bootstrap",
"react-icons",
"shadcn/ui",
"Zustand",
"React Query",
"Framer Motion",
"Prettier",
"ESLint",
"Husky",
"Lodash",
"Axios",
"Jest",
"Vitest",
"Redux Toolkit",
"Headless UI",
"Radix UI",
"clsx",
"dotenv",
"chalk",
"react-toastify",
"formik",
"react-hook-form",
"msw",
"i18next",
"react-i18next",
"date-fns",
"uuid",
"immer",
"yup",
"recharts",
"chart.js",
"helmet",
"react-router-dom",
"react-helmet-async",
"zustand-persist",
"valtio",
"jotai",
"ahooks",
"usehooks-ts",
"firebase",
"react-firebase-hooks",
"swr",
"mobx",
"enzyme",
"testing-library/react",
"query-string",
"react-table",
"axios-mock-adapter",
],
TypeScript: [
"Zod",
"TSUP",
"SWC",
"ts-pattern",
"tRPC",
"vite-tsconfig-paths",
"react-query",
"tanstack/react-query",
"zod-form",
"react-hook-form",
"typescript-eslint",
"type-fest",
"tslib",
"tsup",
"valtio",
"clsx",
"zod-to-json-schema",
"vite-plugin-checker",
"eslint-plugin-tsdoc",
"nestjs",
"rxjs",
"class-transformer",
"class-validator",
"typeorm",
"nestjs/swagger",
"nestjs/config",
"ts-node",
"ts-morph",
"tslog",
"typanion",
"nanostores",
"superjson",
"zact",
"express-validator",
"inversify",
"type-graphql",
"graphql-request",
"urql",
"apollo-client",
"next-auth",
"next-intl",
"trpc-openapi",
],
Python: [
"FastAPI",
"Flask",
"Django",
"Pydantic",
"Uvicorn",
"Gunicorn",
"Typer",
"Click",
"SQLAlchemy",
"Tortoise ORM",
"Alembic",
"Black",
"Flake8",
"isort",
"pytest",
"Jinja2",
"httpx",
"Requests",
"pytz",
"Babel",
"Celery",
"Dramatiq",
"Redis-py",
"pandas",
"NumPy",
"matplotlib",
"scikit-learn",
"TensorFlow",
"transformers",
"BeautifulSoup",
"Scrapy",
"Poetry",
"pipenv",
"pylint",
"PyJWT",
"fastapi-users",
"pygments",
"pydub",
"loguru",
"rich",
"typer-cli",
"watchdog",
"faker",
"factory-boy",
"pytest-mock",
"pylint-django",
],
Go: [
"Gin",
"Fiber",
"Echo",
"GoReleaser",
"Viper",
"Cobra",
"GORM",
"Zap",
"Logrus",
"Mux",
"fx",
"Kratos",
"air",
"golangci-lint",
"sqlx",
"ent",
"wire",
"go-migrate",
"godotenv",
"testify",
"mockery",
"httptest",
"urfave/cli",
"negroni",
"chi",
"go-kit",
"grpc-go",
"protobuf",
"gqlgen",
"graphql-go",
"ozzo-validation",
"resty",
"jwt-go",
"echo-contrib/session",
"casbin",
"bleve",
"goquery",
"logrus-hooks",
"dep",
"modd",
"hugo",
"nats.go",
"redis",
"zerolog",
"bbolt",
"ffcli",
"glide",
"nanoid",
],
Rust: [
"Actix",
"Rocket",
"Axum",
"Serde",
"Tokio",
"Clap",
"StructOpt",
"Diesel",
"SeaORM",
"Anyhow",
"Thiserror",
"Tracing",
"Log",
"Env_logger",
"Rayon",
"Hyper",
"Reqwest",
"Tower",
"async-std",
"indicatif",
"crossbeam",
"Crossterm",
"colored",
"dotenvy",
"Cargo-edit",
"Cargo-make",
"proptest",
"Quickcheck",
"rand",
"chrono",
"time",
"uuid",
"jsonwebtoken",
"bcrypt",
"sqlx",
"askama",
"tera",
"minijinja",
"rocket_db_pools",
"sled",
"warp",
"nom",
"syn",
"quote",
"tokio-stream",
"futures",
"pin-project",
"parking_lot",
"lazy_static",
],
Java: [
"Spring Boot",
"Lombok",
"MapStruct",
"JUnit",
"Mockito",
"Hibernate",
"Thymeleaf",
"Logback",
"SLF4J",
"Jackson",
"OkHttp",
"Retrofit",
"Maven",
"Gradle",
"Spring Security",
"JPA",
"ModelMapper",
"Guava",
"Gson",
"Flyway",
"Liquibase",
"Log4j",
"RestTemplate",
"Project Reactor",
"Micronaut",
"Kotlinx-coroutines",
"Javalin",
"Spark Java",
"Vaadin",
"GraphQL Java",
"Apache Commons",
"Jersey",
"Vert.x",
"MapDB",
"QueryDSL",
"Armeria",
"RxJava",
"Reactor Netty",
"Picocli",
"Groovy",
"Kotlin Stdlib",
"Ktor",
"JUnit 5",
"AssertJ",
],
PHP: [
"Laravel",
"Symfony",
"Composer",
"PHPUnit",
"Blade",
"Eloquent",
"Guzzle",
"Monolog",
"PHPStan",
"Pest",
"Carbon",
"Flysystem",
"PHP-CS-Fixer",
"Twig",
"Doctrine ORM",
"Slim Framework",
"CodeIgniter",
"Yii",
"Predis",
"Whoops",
"Laravel Mix",
"Laravel Valet",
"Laravel Dusk",
"Spatie",
"Intervention Image",
"FakerPHP",
"Barryvdh DomPDF",
"PhpSpreadsheet",
"JWT-Auth",
"Sanctum",
"Octane",
"Telescope",
"Laravel Horizon",
],
"HTML/CSS": [
"TailwindCSS",
"Bootstrap",
"Bulma",
"Foundation",
"Materialize",
"Animate.css",
"Font Awesome",
"Heroicons",
"AOS",
"Hover.css",
"Normalize.css",
"SCSS",
"PostCSS",
"Autoprefixer",
"BEM",
"CSS Modules",
"CSS Variables",
"Clamp",
"Responsive.css",
"Typography.js",
"Vanilla Extract",
"emotion",
"styled-components",
"less",
"sass",
"Stylus",
"Open Props",
"modern-normalize",
"reset-css",
"Gridlex",
"tailwind-variants",
"tw-elements",
"shadcn/ui",
],
};