{"id":15292777,"url":"https://github.com/vulcanjs/vulcan-npm","last_synced_at":"2025-04-11T23:17:52.912Z","repository":{"id":38190613,"uuid":"243242235","full_name":"VulcanJS/vulcan-npm","owner":"VulcanJS","description":"The full-stack JavaScript App Framework","archived":false,"fork":false,"pushed_at":"2024-06-11T05:42:41.000Z","size":10941,"stargazers_count":31,"open_issues_count":70,"forks_count":8,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-11T23:17:43.354Z","etag":null,"topics":["apollo","graphql","hacktoberfest","lerna","nextjs","vulcan"],"latest_commit_sha":null,"homepage":"https://vulcan-docs.vercel.app","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/VulcanJS.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","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}},"created_at":"2020-02-26T11:05:00.000Z","updated_at":"2025-03-28T18:54:37.000Z","dependencies_parsed_at":"2024-06-18T19:58:19.321Z","dependency_job_id":"6b969090-3ebc-4c3a-8264-f2ca53d36630","html_url":"https://github.com/VulcanJS/vulcan-npm","commit_stats":{"total_commits":982,"total_committers":7,"mean_commits":"140.28571428571428","dds":0.07739307535641549,"last_synced_commit":"8040b2436dc14a5b5b3df5e7b198d94b0d87924a"},"previous_names":[],"tags_count":131,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VulcanJS%2Fvulcan-npm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VulcanJS%2Fvulcan-npm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VulcanJS%2Fvulcan-npm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VulcanJS%2Fvulcan-npm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VulcanJS","download_url":"https://codeload.github.com/VulcanJS/vulcan-npm/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248492885,"owners_count":21113163,"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":["apollo","graphql","hacktoberfest","lerna","nextjs","vulcan"],"created_at":"2024-09-30T16:26:59.087Z","updated_at":"2025-04-11T23:17:52.890Z","avatar_url":"https://github.com/VulcanJS.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vulcan NPM\n\n## What is Vuclan\n\nVulcan is an open source full-stack JavaScript toolkit.\n\nIt brings everything you need to create modern web applications on top of modern frameworks.\n\nThis monorepo is where all the development happens. Only contributor should need to clone it, if you want\nto create an app with Vulcan:\n\n- discover [Vulcan Next](https://vulcan-next.vercel.app/), the Next.js and GraphQL starter app based on Vulcan NPM package library.\n- Or you might prefer our [Remix \"Eurodance\" stack](https://eurodance-stack.vercel.app/).\n\nSee Vulcan docs for detailed documentation: [https://vulcan-docs.vercel.app/](https://vulcan-docs.vercel.app/)\n\n## Contribute\n\nAfter you've read the README, also check [the contribution documentation](https://vulcan-docs.vercel.app/docs/core/contribute) for more information about contributions.\n\n### Architecture of the monorepo\n\n- Turborepo to run scripts efficiently\n- Yarn 3 workspaces\n- TypeScript\n- Tsup (Esbuild + Rollup) for bundling packages\n- Packages in `packages` and starter apps in `starters`\n- Storybook\n- Jest client and server tests\n- Docusaurus documentation\n\n### From Lerna to Yarn 2\n\nRIP [![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)\n\nLerna is officially deprecated. Instead we are progressively replacing it with Yarn 2 workspaces.\n\n- Install Yarn 2+: https://yarnpkg.com/getting-started/install\n\n```\n# 1. Install Node 16.10+, then:\ncorepack enable\nyarn set version stable\n```\n\nPlugins are already installed, since some parts of the \".yarn\" folder are stored in the repo (Yarn executable, plugins etc.)\n\n- We replace Lerna commands either by \"yarn workspace\" or \"lerna-lite\" commands\n- Use \"\\*\" as the version dependency to force Yarn to install local versions when the package is not yet published: https://blog.charlesloubao.com/one-line-javascript-tip-1-how-to-install-a-local/\n- If necessary, go back to \"classic\" with \"yarn set classic\"\n\n## Install Vulcan NPM and start coding\n\nPlease use [Yarn](https://yarnpkg.com/)\n\n```sh\nyarn # will install + bootstrap learn\nyarn run build # build all packages\n```\n\nNow you can either run Storybook `yarn run storybook` or unit tests `yarn run test` and start working.\n\n## Plug to another local application\n\nIf you want to connect your local Vulcan NPM install to an existing application, please check [Vulcan Next documentation](https://vulcan-docs/docs/vulcan-next/contribute).\n\nIt's a 2 step process:\n\n- you publish the packages locally using Yalc `yarn run publish:local`\n- you install them, using Yalc, in your app.\n\nWe use Yalc and not `yarn link` because linking is not sufficient, it raises a lot of issues with locally installed packages.\n\nNow `@vulcanjs/xxx` will be available in your own application.\n\n## Windows\n\nTo use a testing database on windows, you could encounter an unexpected issue ; a solution is to download Visual C++ redistribuable.\nSee https://github.com/nodkz/mongodb-memory-server/issues/475\n\n## Ubuntu updates\n\n- Mongo doesn't support Ubuntu (today 09/2022), see https://www.mongodb.com/community/forums/t/installing-mongodb-over-ubuntu-22-04/159931/43\nThis leads to issue when running mongodb-server-inmemory for development.\n\nBest solution is to use a dockerized Mongo instead or stick to Ubuntu 20.\n\n\n## Resources\n\n- [Babel monorepo](https://github.com/babel/babel), a great example of Lerna project\n- [Lee Robinson (Vercel) take on monorepo](https://leerob.io/blog/turborepo-design-system-monorepo)\n\n---\n\n[![Powered by Vercel](https://www.datocms-assets.com/31049/1618983297-powered-by-vercel.svg)](https://vercel.com?utm_source=vulcan\u0026utm_campaign=oss)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvulcanjs%2Fvulcan-npm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvulcanjs%2Fvulcan-npm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvulcanjs%2Fvulcan-npm/lists"}