Mono repository for @bullgit
.
This repo provides two cli tools:
bullgit
: handles git related tasksrepos
: gets repos from the bullgit org--log
: logs the result to the console--write
: updates the repos.json file
members
: (n.a.)
gitch
: handles member related tasksadd
: adds a new gitch to the bullgiverseedit
: (n.a.)remove
: (n.a.)
Several tasks have been defined to build or watch files during development.
yarn build
: builds the website (used for deployment)yarn watch
: watches and serves the website (https & hot)- all lerna packages are watched (respecting ignored)
- SSR will not reload (requires a restart until implemented)
yarn cli:build
: builds the cli toolsyarn cli:watch
: watches the cli tools- ...
To get a list of all tasks please look at the
package.json
for this project.
The tasks have comment headers to explain their purpose
The build uses SSR therefore every component needs to allow to be rendered on the server.
The build result is split into chunks to optimize performance.
To add packages you can chose between different directories.
config
: only configuration heretools
: cli/build toolssite
: Home of the website (can host several different sites)packages
: public npm packages (ui-components, misc npm releases under @bullgit)
Packages are usually bundled via rollup.js. You can use any bundler you like as long as the repo follows the npm standards.
While the Website uses TypeScript, there are no restrictions to packages.
We recommend TypeScript for compatibility reasons but having fun is more important.
To work on the website please work inside the folder site/client/src
.
All tasks should be run from the project root.
You will see a file called routes.ts
which looks similar to this:
import {Home} from "./pages/home";
export interface Route {
location: string,
component: React.ComponentType<any>
}
export type Routes = Route[]
export const routes: Routes = [
{
component: Home,
location: "/"
}
];
You can add your page and the desired path here:
placeholders like
my-page/:pageNumber
are currently not supported but will be added in the future.
import {Home} from "./pages/home";
import {MyPage} from "./pages/my-page";
export interface Route {
location: string,
component: React.ComponentType<any>
}
export type Routes = Route[]
export const routes: Routes = [
{
component: Home,
location: "/",
},
{
component: MyPage,
location: "/my-page",
}
];
Copyright © 2018 by team Bullgit.