{"id":13434085,"url":"https://github.com/TrueCar/gluestick","last_synced_at":"2025-03-17T14:30:42.440Z","repository":{"id":139186645,"uuid":"47585131","full_name":"TrueCar/gluestick","owner":"TrueCar","description":"GlueStick is a command line interface for quickly developing universal web applications using React and Redux.","archived":true,"fork":false,"pushed_at":"2020-08-04T18:42:14.000Z","size":12230,"stargazers_count":359,"open_issues_count":152,"forks_count":43,"subscribers_count":43,"default_branch":"develop","last_synced_at":"2025-03-09T17:16:29.152Z","etag":null,"topics":["react","redux"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/TrueCar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2015-12-07T23:12:30.000Z","updated_at":"2025-01-16T18:11:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"5fc68c33-b562-4d8a-820d-0c6dd69edc20","html_url":"https://github.com/TrueCar/gluestick","commit_stats":null,"previous_names":[],"tags_count":233,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TrueCar%2Fgluestick","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TrueCar%2Fgluestick/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TrueCar%2Fgluestick/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TrueCar%2Fgluestick/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TrueCar","download_url":"https://codeload.github.com/TrueCar/gluestick/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244050007,"owners_count":20389618,"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":["react","redux"],"created_at":"2024-07-31T02:01:45.325Z","updated_at":"2025-03-17T14:30:41.568Z","avatar_url":"https://github.com/TrueCar.png","language":"JavaScript","readme":"# Deprecation Notice\n\nGlueStick is now archived. It was one of the first React-in-a-box projects and helped TrueCar quickly migrate to React. With the React community growing and changing so quickly, it became difficult for TrueCar to keep GlueStick up to date. Thank you to all the contributors that helped along the way! \n\nIf you're interested in this type of project, we recommend [NextJS](https://nextjs.org/), which provides server rendering along with many other features GlueStick offered.\n\n# GlueStick - Beyond the Boilerplate\n[![npm](https://img.shields.io/npm/v/gluestick.svg)](https://www.npmjs.com/package/gluestick)\n[![Build Status](https://circleci.com/gh/TrueCar/gluestick.svg?style=svg)](https://circleci.com/gh/TrueCar/gluestick)\n\nGlueStick is a command line interface for quickly developing universal web\napplications using React and Redux.\n\n## Why is your project or boilerplate not enough?\n1. **You need integrated updates.** Without integrated updates, you are forced to manually merge in new features/fixes.\n2. **Isomorphic rendering.** Server-side and client-side rendering are identical. No more worries about SEO, loading spinners, or users with javascript disabled\n3. **Integrated dockerization.** Go from development to production as simply as `gluestick dockerize MyApp`\n4. **Automatic babel and webpack loader support.** Use the latest JavaScript features\n5. **Automatic test framework setup.** Preloaded with `Jest` and `Enzyme` right out of the box\n6. **Built in best practices.** Things like code splitting, hot module replacement, react-router, etc\n7. **Rails-like generators** for common needs like components/reducers/containers/etc, with all necessary hooks and tests\n\n\n## Why GlueStick?\nGlueStick allows users to quickly create new applications with its bootstrap\ngenerator, along with generators for components, containers, and reducers. In\naddition, GlueStick contains a fully functional test environment, server-side\nrendering, and an asset bundler. However, GlueStick sidesteps the hassle of any\nconfiguration files.\n\nThe goal is not to be another boilerplate for building universal web\napplications. Instead, the goal is to abstract all of the boilerplate code into\none location that the developer doesn't have to worry about. Not only does this\nmake your application code cleaner but it makes it easier to update the\nboilerplate code as new improvements are discovered.\n\nGluestick is actively worked on, supported and used in production by TrueCar.\n\n## What about Create React App?\nCreate React App is an excellent command line interface for creating React applications.\nGluestick is a much more opinionated tool, which offers several features out-of-the-box\n(pre-configured) that Create React App does not (and in some cases would require ejection\nfrom Create React App), such as:\n\n* Code splitting\n* Server rendering\n* React Router and Redux implementation\n* Generators for standard development needs\n\n## Requirements\nNode 6.3.0+\n\n## Quick Start\n```bash\nnpm install gluestick-cli -g\ngluestick new SampleProject\ncd SampleProject\ngluestick start\n```\n\n## Docs \u0026 Help\n\n* [Commands](docs/Commands.md)\n* [Development](docs/Development.md)\n* [Plugins](docs/configuration/Plugins.md)\n* [Configuration](docs/Configuration.md)\n* [Styles](docs/configuration/Styles.md)\n* [Webpack Bundle Analyzer Guide](docs/guides/WebpackBundleAnalyzerGuide.md)\n* [Contribution Guidelines](CONTRIBUTING.md)\n\n## Guides\n\n* [Profiling GlueStick server](docs/guides/ProfilingRenderer.md)\n\n## Terms \u0026 Definitions\n\n* [`Gluestick`](https://github.com/TrueCar/gluestick) is a monorepo. It is published to npm with `Lerna` and contains depdent modules or \"packages\" for building Gluestick apps. The Gluestick repo uses Lerna [1](https://www.npmjs.com/package/lerna),[2](https://lernajs.io/) to help break what would otherwise be a potentially large code base in to smaller, versioned packages.\n* [`gluestick-cli`](https://github.com/TrueCar/gluestick/tree/develop/packages/gluestick-cli) - A package in the Gluestick monorepo that acts as a thin wrapper for managing Gluestick apps from the command-line. With it you can create an app, destroy it, auto upgrade all of its dependent packages, etc... It has a few commands of its own, but several are proxied to your local Gluestick package.\n* [`gluestick`](https://github.com/TrueCar/gluestick/tree/develop/packages/gluestick) - A package in the Gluestick monorepo that provides additional command line functionality for building for universal-React apps as well as the internals (guts) for driving the Gluestickm Universal React apps themselves.\n* [`Lerna`](https://github.com/lerna/lerna) - \"A tool for managing JavaScript projects with multiple packages\", or put another way: \"Lerna is a tool that optimizes the workflow around managing multi-package repositories with git and npm.\" Packages are independent codebases that can be versioned and published to `npm`.\n\n## F.A.Q.s\n\nQ: *The main project is called \"Gluestick\", but the binary is called \"gluestick-cli\", but there's a package in the main project called \"gluestick\". What's up with that?*\n\nA: Gluestick is a monorepo. `gluestick-cli` is a sub-package in that repo that is deployed to `npm` and is used to manage Gluestick apps. `gluestick` (little 'g') is also a sub-package and contains the guts of Gluestick applications.\n","funding_links":[],"categories":["JavaScript","Uncategorized","Code Design"],"sub_categories":["Uncategorized","Boilerplate"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTrueCar%2Fgluestick","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FTrueCar%2Fgluestick","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTrueCar%2Fgluestick/lists"}