{"id":15505379,"url":"https://github.com/lekoarts/secco","last_synced_at":"2025-04-13T02:12:56.840Z","repository":{"id":197449795,"uuid":"695562916","full_name":"LekoArts/secco","owner":"LekoArts","description":"Local package testing made easy","archived":false,"fork":false,"pushed_at":"2025-04-04T09:25:48.000Z","size":3323,"stargazers_count":19,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-13T02:12:44.123Z","etag":null,"topics":["cli","dev-cli","developer-tools","lekoarts-oss","local","secco","verdaccio","yalc"],"latest_commit_sha":null,"homepage":"https://secco.lekoarts.de","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LekoArts.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["LekoArts"],"patreon":null,"open_collective":null,"ko_fi":"lekoarts","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2023-09-23T14:58:24.000Z","updated_at":"2025-04-04T09:25:51.000Z","dependencies_parsed_at":"2023-10-16T11:02:57.711Z","dependency_job_id":"de59a762-d27c-4fe6-839f-129a3a6da08a","html_url":"https://github.com/LekoArts/secco","commit_stats":{"total_commits":163,"total_committers":3,"mean_commits":"54.333333333333336","dds":0.5337423312883436,"last_synced_commit":"c90274d661d3057298e01cd998353c720f676bf9"},"previous_names":["lekoarts/secco"],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LekoArts%2Fsecco","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LekoArts%2Fsecco/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LekoArts%2Fsecco/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LekoArts%2Fsecco/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LekoArts","download_url":"https://codeload.github.com/LekoArts/secco/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248654094,"owners_count":21140236,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","dev-cli","developer-tools","lekoarts-oss","local","secco","verdaccio","yalc"],"created_at":"2024-10-02T09:23:03.446Z","updated_at":"2025-04-13T02:12:56.807Z","avatar_url":"https://github.com/LekoArts.png","language":"TypeScript","funding_links":["https://github.com/sponsors/LekoArts","https://ko-fi.com/lekoarts"],"categories":[],"sub_categories":[],"readme":"# secco\n\n**Local package testing made easy.**\n\nsecco is a command-line tool for local development. It uses [Verdaccio](https://verdaccio.org/) and direct file copying to apply your latest changes to other projects.\n\nWhen developing and maintaining (multiple) packages, it's a real hassle to use something like `npm link`. But you also don't want to publish your changes to npm's remote registry. Both have a lot of pitfalls as they might break on complicated dependency chains or symlinking.\n\nsecco solves these problems and streamlines the process of local package testing.\n\n**Want to try it?** Start with our [Getting Started](https://secco.lekoarts.de/guide/) guide. Need a longer explanation? Read our [Learn secco](https://secco.lekoarts.de/guide/learn-secco/) tutorial.\n\n**Features:**\n\n- **File Sync \u0026 Package Publishing.** By default, changes will be copied over from the source into the destination's `node_modules` folder. If necessary, changes are published to a local [Verdaccio](https://verdaccio.org/) registry first, so that you don't have to worry about symlinks or dependency hell.\n- **Link Multiple Projects.** secco reads the `.seccorc` file to make the connection between destination and source. This allows you to use `secco` with as many source folders as you wish.\n- **npm, yarn, pnpm, and bun support.** You can use any of these package managers in your source and destination projects.\n- **Watch and CI mode.** By default, secco starts a watch task. But you can also only run it once, enabling CI End-To-End testing use cases.\n- **Workspaces.** Your source \u0026 destination folders can be a monorepo using workspaces.\n\n\u003ca href=\"https://www.lekoarts.de?utm_source=secco\"\u003e\n  \u003cimg alt=\"lekoarts.de\" src=\"https://img.shields.io/badge/-website-blue\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://bsky.app/profile/lekoarts.de\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Bluesky-0285FF?logo=bluesky\u0026logoColor=fff\" alt=\"Follow @lekoarts.de\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://mastodon.social/@lekoarts\"\u003e\n  \u003cimg alt=\"Mastodon Follow\" src=\"https://img.shields.io/mastodon/follow/109244982385960702\"\u003e\n\u003c/a\u003e\n\n## Installation\n\nUsing a global installation:\n\n```shell\nnpm install --global secco\n```\n\nYou can also use [`npx`](https://docs.npmjs.com/cli/v10/commands/npx) to invoke it.\n\n```shell\nnpx secco@latest --help\n```\n\n\u003ca href=\"https://www.npmjs.org/package/secco\"\u003e\n  \u003cimg src=\"https://img.shields.io/npm/v/secco.svg\" alt=\"Current npm package version.\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://npmcharts.com/compare/secco?minimal=true\"\u003e\n  \u003cimg src=\"https://img.shields.io/npm/dm/secco.svg\" alt=\"Downloads per month on npm.\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://npmcharts.com/compare/secco?minimal=true\"\u003e\n  \u003cimg src=\"https://img.shields.io/npm/dt/secco.svg\" alt=\"Total downloads on npm.\" /\u003e\n\u003c/a\u003e\n\n## Usage\n\nIt's recommended to also go through the [Getting Started](https://secco.lekoarts.de/guide/) guide to understand how you can leverage `secco` in your projects.\n\nsecco uses the terms **source** and **destination** throughout its docs and messages. The **source** refers to the root folder that contains the package(s) that you want to test in other places. The **destination** refers to the folder you want to test your package(s) in. So your destination's `package.json` should have the source as a dependency.\n\nsecco **requires** to either find a `.seccorc` file in the destination (with `source.path` set) or that the `SECCO_SOURCE_PATH` environment variable is defined.\n\nHere's an overview of all available commands and flags:\n\n```shell\nUsage: secco \u003ccommand\u003e\n\nCommands:\n  secco init                        Initialize a new .seccorc file\n  secco packages [packageNames...]  Specify list of packages you want to link\n\nOptions:\n  --help             Show help\n  --version          Show version number\n  --scan-once        Scan source once and do not start file watching\n  --force-verdaccio  Disable file copying/watching and force usage of Verdaccio\n  --verbose          Output verbose logging\n\nExamples:\n  secco                     Scan destination and copy files from source\n  secco packages ars aurea  Copy specified packages from source to destination\n```\n\n## Documentation\n\nVisit secco's [official documentation](https://secco.lekoarts.de)\n\n## Contributing\n\nWant to improve secco? Great! Read the [Contributing guide](https://github.com/LekoArts/secco/blob/main/CONTRIBUTING.md) to get started.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flekoarts%2Fsecco","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flekoarts%2Fsecco","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flekoarts%2Fsecco/lists"}