johannesheinz / lcg-packages-editor

A simple Angular application to edit the packages.json file in the LCG CMake project at CERN

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LCG packages editor

A simple Angular application to edit the packages.json file in the LCG CMake project at CERN. This tool is used to provide a simple way to edit the package information displayed at the LCG Info website but it doesn't provide a way to update the information directly. Instead it provides a JSON file as replacement for the existing packages.json in lcgcmake/documentation/packages.json.

Input: The raw data from CERN's GitLab repository:

https://gitlab.cern.ch/sft/lcgcmake/raw/master/documentation/packages.json

Attribution

Original README

Useful Commands

  • npm install - installs the dependencies intitally
  • npm start - starts a dev server and opens browser with running app
  • npm run start:prod - runs full prod build and serves prod bundle
  • npm run test - runs lint and tests
  • npm run watch - runs tests in watch mode
  • npm run prettier - runs prettier to format whole code base (.ts and .scss)

Make It Your Own

When using this starter project to build your own app you might consider some of the following steps:

  • use search and replace functionality of your favourite IDE to replace anms with <your-app-prefix>
  • rename project in package.json name property and set appropriate version (eg 0.0.0 or 1.0.0)
  • remove / rename context path config -- --deploy-url /angular-ngrx-material-starter/ --base-href /angular-ngrx-material-starter in package.json, this is used to configure url (context path) on which the application will be available (eg. https://www.something.com/<context-path>/)
  • rename app in /environments/ files (will be shown in browser tab)
  • edit the title and Open Graph metadata properties in index.html
  • remove or adjust links in the footer
  • replace logo in /assets folder ( currently 128 x 128 pixel png file )
  • adjust colors in /themes/default-theme.scss

Goals

The main goal of this repository is to provide an up to date example of Angular application following all recent best practices in various areas like:

  • @ngrx/store - including reducers, actions, selectors
  • @ngrx/effects - for implementation of side effects like http requests, logging, notifications,...
  • @ngrx/entity - for CRUD operations
  • @ngrx/router-store - to connect the Angular Router to @ngrx/store
  • @ngrx/store-devtools - to enable a powerful time-travelling debugger.
  • @angular/material - material design component library, theming, ...
  • routing
  • testing of all the above mentioned concepts
  • Angular CLI configuration (prod build, budgets, ...)

This repository will also strive to always stay in sync with releases of Angular and the related libraries. The nature of the repository is also a great match for first time open source contributors who can add simple features and enhance test coverage, all contributors are more than welcome!

Learning Materials

Articles with content that explains various approaches used to build this starter project.

Theming

Features

  • custom themes support (4 themes included)
  • lazy-loading of feature modules
  • lazy reducers
  • localStorage ui state persistence
  • @ngrx/effects for API requests
  • fully responsive design
  • angular-material and custom components in SharedModule

Stack

  • Angular
  • ngrx (or try ngx-model if you prefer less boilerplate)
  • Angular Material
  • Bootstrap 4 (only reset, utils and grids)

Troubleshooting

  • Blocking at emitting LicenseWebpackPlugin when npm start - try using cnpm instead of npm

About

A simple Angular application to edit the packages.json file in the LCG CMake project at CERN

License:MIT License


Languages

Language:TypeScript 85.8%Language:HTML 10.1%Language:CSS 3.6%Language:JavaScript 0.5%