Giter Site home page Giter Site logo

teeso / webapps Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gravitational/webapps

0.0 0.0 0.0 10.34 MB

Mono-repository of Gravitational Web Applications

JavaScript 82.90% Dockerfile 0.05% Makefile 0.18% HTML 0.02% CSS 0.15% Shell 0.01% TypeScript 16.67%

webapps's Introduction

Gravitational Web Applications and Packages

This mono-repository contains the source code for the web UIs of the following projects: Teleport Gravity Force

The code is organized in terms of independent yarn packages which reside in the packages directory.

Getting Started

You can make production builds locally or you can use Docker to do that.

Local Build

Make sure that you have yarn installed on your system since this monorepo uses the yarn package manager.

Then you need download and initialize these repository dependencies.

$ yarn install

To build the Teleport web UI

$ yarn build-teleport

To build the Gravity web UI

$ yarn build-gravity

To build the Force web UI

$ yarn build-force

The resulting output will be in the /packages/{package-name}/dist/ folders respectively.

Docker Build

To build all packages

$ make all

To build the Teleport web UI

$ make packages/teleport/dist

To build the Gravity web UI

$ make packages/gravity/dist

To build the Force web UI

$ make packages/force/dist

Development

To avoid having to install a dedicated Teleport or Gravity cluster, you can use a local development server which can proxy network requests to an existing cluster.

For example, if https://example.com:3080/web is the URL of your cluster UI then:

to start your local Teleport development server

$ yarn start-teleport --target=https://example.com:3080/web

or to start your local Gravity development server

$ yarn start-gravity --target=https://example.com:3080/web

This service will serve your local javascript files and proxy network requests to the given target.

Keep in mind that you have to use a local user because social logins (google/github) are not supported by development server.

Unit-Tests

We use jest as our testing framework.

To run all jest unit-tests:

$ yarn run test

To run jest in watch-mode

$ yarn run tdd

Interactive Testing

We use storybook for our interactive testing. It allows us to browse our component library, view the different states of each component, and interactively develop and test components.

To start a storybook:

$ yarn run storybook

This command will open a new browser window with storybook in it. There you will see components from all packages so it makes it faster to work and iterate on shared functionality.

Setup Prettier on VSCode

  1. Install plugin: https://github.com/prettier/prettier-vscode
  2. Go to Command Palette: CMD/CTRL + SHIFT + P (or F1)
  3. Type open settings
  4. Select Open Settings (JSON)
  5. Include the below snippet and save:
// Autoformat on save
"editor.formatOnSave": false,

// Specify prettier configuration file
"prettier.configPath": ".prettierrc",

"[javascript]": {
    "editor.formatOnSave": true
},

"[javascriptreact]": {
    "editor.tabSize": 2,
    "editor.formatOnSave": true,
    "editor.defaultFormatter": "esbenp.prettier-vscode"
},

"[html]": {
    "editor.tabSize": 2,
    "editor.defaultFormatter": "esbenp.prettier-vscode"
}

webapps's People

Contributors

alex-kovoy avatar dependabot[bot] avatar klizhentas avatar pierrebeaucamp avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.