1.0.80 • Published 5 years ago

catarse.js v1.0.80

Weekly downloads
69
License
-
Repository
-
Last release
5 years ago

catarse.js Circle CI Code Climate

Mithril components for the Catarse world

A set of mithril components to use accross catarse.

Development

Install project dependencies npm install.

Catarse.js uses webpack as build tool.

To trigger a build, run: npm run build

If you are deploying the built code to production, then run: npm run build:prod

When developing, you need to link catarse.js as an npm dependency for the main catarse project. You can do so by:

Running npm link in the root folder of the catarse.js project and then npm link catarse.js in the root folder of the main catarse project

You can use webpack-dev-server to provide your assets locally by running npm build:dev and running the rails application with webpack_dev_server configuration set to true in config/application.rb

Project Architecture

Webpack compiles the code found inside the /src directory and outputs into the /dist folder as catarse.js There are 3 different folders: /c, /root and /vm.

/c

Small UI components: self-contained javascript modules that contain specific UI and behavior root - Root components are bigger then regular components. They are the main component and the ones that are mounted (directly or by mithril's router). They also own their data, which should flow in one direction to it's children components (kind of like a Flux implementation). In our projects, they are related to endpoints (e.g.: when you hit a /project-permalink endpoint the JS will mount the projectsShow root component)

/root

Core components need fuller description here...

/vm

View-models. Component controllers ideally should not deal with nothing more then the ocmponent's user interface behavior. All other type of data manipulation should be handled by a view-model

/c.js

The entry point we use to expose the root components to the application

/app.js

Where we do the application bootstraping

/api.js

The module that handles setup for all the different apis we currently communicate with

/h.js

Module containing helper methods used across components. stuff like datetime formatting and other types of tasks that are common to all components

/error.js

Module that implements an error interface to be used across components

1.0.80

5 years ago

1.0.79

5 years ago

1.0.78

5 years ago

1.0.77

5 years ago

1.0.76

5 years ago

1.0.75

5 years ago

1.0.74

5 years ago

1.0.73

5 years ago

1.0.72

6 years ago

1.0.71

6 years ago

1.0.70

6 years ago

1.0.69

6 years ago

1.0.67

6 years ago

1.0.66

6 years ago

1.0.65

6 years ago

1.0.63

6 years ago

1.0.62

6 years ago

1.0.61

6 years ago

1.0.60

6 years ago

1.0.58

6 years ago

1.0.56

6 years ago

1.0.54

6 years ago

1.0.51

6 years ago