@stacksjs/launchpad
Version:
Like Homebrew, but faster.
102 lines • 4.64 kB
TypeScript
/**
* Get all available categories
*/
export declare function getAvailableCategories(): CategoryInfo[];
/**
* Get packages by category
*/
export declare function getPackagesByCategory(categoryName: string): TaggedPackage[];
/**
* Search packages by tag/category
*/
export declare function searchPackagesByTag(searchTerm: string): TaggedPackage[];
/**
* Get category for a specific package
*/
export declare function getPackageCategory(packageName: string): string | null;
/**
* Format categories list for CLI display
*/
export declare function formatCategoriesList(categories: CategoryInfo[]): string;
/**
* Format packages by category for CLI display
*/
export declare function formatPackagesByCategory(categoryName: string, packages: TaggedPackage[], options?: {
compact?: boolean
showPrograms?: boolean
showVersions?: boolean
}): string;
/**
* Format tag search results for CLI display
*/
export declare function formatTagSearchResults(searchTerm: string, packages: TaggedPackage[], options?: {
compact?: boolean
groupByCategory?: boolean
}): string;
/**
* Predefined package categories based on ts-pkgx categorization
*/
export declare const PACKAGE_CATEGORIES: {
'Programming Languages': {
description: 'Popular programming languages and their runtimes';
domains: readonly ['nodejs.org', 'python.org', 'rust-lang.org', 'ruby-lang.org', 'go.dev', 'scala-lang.org', 'julia-lang.org', 'kotlin-lang.org', 'perl.org', 'php.net', 'swift.org', 'typescript-lang.org', 'crystal-lang.org', 'elixir-lang.org', 'haskell.org', 'gleam.run', 'deno.land', 'vlang.io', 'zig-lang.org', 'nim-lang.org', 'ocaml.org', 'dart.dev', 'erlang.org']
};
'JavaScript & Node.js': {
description: 'JavaScript runtimes, frameworks, and tools';
domains: readonly ['nodejs.org', 'bun.sh', 'deno.land', 'npmjs.com', 'pnpm.io', 'yarnpkg.com', 'classic.yarnpkg.com', 'vitejs.dev', 'angular.dev', 'expo.dev', 'flutter.dev']
};
'Package Managers': {
description: 'Package managers and build systems';
domains: readonly ['npmjs.com', 'pnpm.io', 'yarnpkg.com', 'python-poetry.org', 'pipenv.pypa.io', 'pip.pypa.io', 'rubygems.org', 'crates.io', 'maven.apache.org', 'gradle.org', 'cmake.org', 'ninja-build.org', 'meson-build.com']
};
'Databases': {
description: 'Database systems and data storage solutions';
domains: readonly ['postgresql.org', 'mysql.com', 'redis.io', 'mongodb.com', 'sqlite.org', 'cassandra.apache.org', 'influxdata.com', 'couchdb.apache.org', 'neo4j.com', 'clickhouse.com', 'surrealdb.com', 'duckdb.org', 'valkey.io']
};
'DevOps & Infrastructure': {
description: 'Container orchestration, infrastructure as code, and deployment tools';
domains: readonly ['docker.com', 'kubernetes.io', 'terraform.io', 'helm.sh', 'consul.io', 'vault.hashicorp.io', 'nomad-project.io', 'ansible.com', 'podman.io', 'traefik.io', 'envoyproxy.io', 'istio.io', 'cilium.io', 'fluxcd.io', 'argoproj.github.io']
};
'Cloud Platforms': {
description: 'Cloud platform CLIs and deployment services';
domains: readonly ['cli.github.com', 'aws.amazon.com', 'cloud.google.com', 'azure.microsoft.com', 'heroku.com', 'fly.io', 'railway.app', 'vercel.com', 'netlify.com']
};
'Development Tools': {
description: 'Essential development utilities and editors';
domains: readonly ['git-scm.com', 'neovim.io', 'vim.org', 'code.visualstudio.com', 'prettier.io', 'eslint.org', 'jq.dev', 'yq.dev']
};
'Web Servers': {
description: 'Web servers, reverse proxies, and load balancers';
domains: readonly ['nginx.org', 'apache.org', 'traefik.io', 'caddy.dev', 'haproxy.org']
};
'CLI Tools': {
description: 'Command-line utilities and system tools';
domains: readonly ['curl.se', 'wget.gnu.org', 'htop.dev', 'tree.dev', 'ripgrep.dev', 'fd.dev', 'bat.dev', 'exa.dev', 'fzf.dev']
};
'Security': {
description: 'Security tools and authentication services';
domains: readonly ['bitwarden.com', '1password.com', 'hashicorp.com', 'vault.hashicorp.io', 'age.dev', 'gnupg.org']
};
'Testing': {
description: 'Testing frameworks and quality assurance tools';
domains: readonly ['pytest.org', 'jest.dev', 'mocha.dev', 'cypress.io', 'playwright.dev']
};
'Monitoring': {
description: 'Application monitoring and observability tools';
domains: readonly ['grafana.com', 'sentry.io', 'prometheus.io', 'jaeger.dev']
}
};
export declare interface CategoryInfo {
name: string
description: string
packageCount: number
packages: string[]
}
export declare interface TaggedPackage {
name: string
domain: string
description?: string
category: string
programs?: readonly string[]
latestVersion?: string
}