Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gatsby initial configuration #27

Closed
4 tasks done
arcticicestudio opened this issue Nov 18, 2018 · 0 comments
Closed
4 tasks done

Gatsby initial configuration #27

arcticicestudio opened this issue Nov 18, 2018 · 0 comments

Comments

@arcticicestudio
Copy link
Contributor

arcticicestudio commented Nov 18, 2018

Related epics: #25, #26

Initially implement the core configuration of Gatsby through the gatsby-config.js file that will be placed in the project root. It will define project-wide site metadata that can be used through the GraphQL API and configures all plugins that will be used.

Site Metadata

All metadata will be, like defined in #26, placed in the corresponding folders for configurations (src/config) and data (src/data). Initially this will include information stored in the package.json file of the project and the nord package. There will also be constants for important project root folders to be used in imports later on.

Gatsby Plugins

This initial implementation will include the following basic plugins:

NPM script

To provide a simple development flow new NPM scripts will be created to start the Gatsby's development mode and build a production bundle. This also includes basic scripts like a clean up to remove possible cache problems and previously created bundles and the currently not available „collected“ scripts to run all scripts of the same type/task. The npm-run-all package will be installed to simplify the scripts and prevent unnecessary long chained commands and OS related problems.

Tasks

  • Install and configure the main gatsby package and all basic plugins
  • Create constants and site metadata configurations
  • Implement the new NPM scripts
@arcticicestudio arcticicestudio added this to the 0.1.0 milestone Nov 18, 2018
@arcticicestudio arcticicestudio self-assigned this Nov 18, 2018
arcticicestudio added a commit that referenced this issue Nov 18, 2018
All metadata and constants, like defined in GH-26, are
placed in the corresponding folders for configurations (`src/config`)
and data (`src/data`). Initially this includes information stored in
the `package.json` file of the project and the `nord` package which has
also been installed.
This commit also adds base and important constants that will be used
later on:

- `src/config/internal/constants.js` - Provides internally used
  constants
- `src/config/internal/nodes.js` - Provides internally used data about
  custom Gatsby GraphQL API nodes.
- `src/config/routes/constants.js` - Provides routing constants.
- `src/config/routes/mappings.js` - Provides route mapping constants.

GH-27
arcticicestudio added a commit that referenced this issue Nov 18, 2018
Added new NPM scripts for Gatsby specific commands and tasks:

- `build` - Base script that cleans up the project (`clean`) and runs
  `build:gatsby` afterwards.
- `build:gatsby` - Run Gatsby's `build` command to build a production
  bundle.
- `clean` - Cleans up the project by removing generated data like
  `.cache` and `public`/`build` of previous builds.
- `dev` - Starts the Gatsby development mode.
- `dev:fresh` - Base script that cleans up the project (`clean`) and
  runs `dev` afterwards.
- `dev:local` - Same as `dev`, but adds the `-H` option with the
  `0.0.0.0` parameter to make the development mode available in the
  network through the hosts network IP.
- `format` - Base script to run all configured code style formatter in
  order: Prettier -> ESLint
- `lint` - Base script to run all configured code style linters in
  order: ESLint -> remark-lint
- `serve` - Starts Gatsby's HTTP server to host the created production
  bundle (build with `build` or `build:gatsby`).

>> Installed packages

To create the base scripts that run multiple scripts (parallel or
serial) the `npm-run-all` package has been installed as development
dependency. Also to clean up the project (`clean` script) the `del-cli`
package has also been installed.

GH-27
arcticicestudio added a commit that referenced this issue Nov 19, 2018
…ial-configuration

Gatsby initial configuration
@arcticicestudio arcticicestudio removed their assignment Nov 19, 2018
arcticicestudio added a commit that referenced this issue Nov 20, 2018
During the initial implementation of Gatsby (GH-27) the
gatsby-plugin-react-helmet (1) has been added, but the required
react-helmet (2) main package was accidentally forgotten to be added.

References:
  (1) https://www.npmjs.com/package/gatsby-plugin-react-helmet
  (2)https://www.npmjs.com/package/react-helmet

Related to GH-27
Closes GH-34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant