All Projects → Financial-Times → origami-build-tools

Financial-Times / origami-build-tools

Licence: other
Standard Origami component development tools.

Programming Languages

javascript
184084 projects - #8 most used programming language
SCSS
7915 projects

Projects that are alternatives of or similar to origami-build-tools

node-health-check
Build health check functions which comply with the FT health check standard
Stars: ✭ 20 (-59.18%)
Mutual labels:  origami, node-module
gruntworkflows
Repository for my tutorial course: Grunt.js Web Workflows on LinkedIn Learning and Lynda.com.
Stars: ✭ 28 (-42.86%)
Mutual labels:  tooling
originator
🌱 es6 starter - babel, tape, zuul, npm scripts
Stars: ✭ 12 (-75.51%)
Mutual labels:  node-module
mezzio-tooling
Migration and development tooling for Mezzio
Stars: ✭ 14 (-71.43%)
Mutual labels:  tooling
covid-data-pipeline
Scan/Trim/Extra Pipeline for State Coronavirus Site
Stars: ✭ 15 (-69.39%)
Mutual labels:  tooling
xlsx-extract
nodejs lib for extracting data from XLSX files
Stars: ✭ 33 (-32.65%)
Mutual labels:  node-module
the-traveler
The Traveler is a small npm package which wraps around the Destiny 2 API.
Stars: ✭ 52 (+6.12%)
Mutual labels:  node-module
ugql
🚀GraphQL.js over HTTP with uWebSockets.js
Stars: ✭ 27 (-44.9%)
Mutual labels:  node-module
node-mysql
Node with mysql boilerplate
Stars: ✭ 72 (+46.94%)
Mutual labels:  node-module
graphql-action
A GitHub Action to send queries to GitHub's GraphQL API
Stars: ✭ 70 (+42.86%)
Mutual labels:  tooling
npmtooling
This is the repository for my course, Tooling with NPM Scripts on LinkedIn Learning and Lynda.com.
Stars: ✭ 13 (-73.47%)
Mutual labels:  tooling
ioBroker.epson stylus px830
Zustand Druckerpatronen im EPSON Stylus PX830 für ioBroker auslesen
Stars: ✭ 18 (-63.27%)
Mutual labels:  node-module
cache-all
Fast, efficient cache engines for both express routes & native nodeJs (redis, in-memory & file cache)
Stars: ✭ 22 (-55.1%)
Mutual labels:  node-module
Origami
Packer compressing .net assemblies, (ab)using the PE format for data storage
Stars: ✭ 111 (+126.53%)
Mutual labels:  origami
vayder
Easy and concise validations for Express routes
Stars: ✭ 26 (-46.94%)
Mutual labels:  node-module
s3-concat
Concatenate Amazon S3 files remotely using flexible patterns
Stars: ✭ 32 (-34.69%)
Mutual labels:  tooling
covid19-datafetcher
Fetch COVID19 data published by US states.
Stars: ✭ 32 (-34.69%)
Mutual labels:  tooling
foundry
Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.
Stars: ✭ 4,623 (+9334.69%)
Mutual labels:  tooling
concats
🔨 Desktop app to output a single-column csv file of rows of concatenated fields from an input csv or tsv file.
Stars: ✭ 20 (-59.18%)
Mutual labels:  tooling
lit-bb-hack-tools
Little Bug Bounty & Hacking Tools⚔️
Stars: ✭ 180 (+267.35%)
Mutual labels:  cli-tool

origami-build-tools

Build tools for developing Origami components.

Installation

  1. Install node.js

  2. Install the build tools globally:

    npm install -g origami-build-tools

Usage

Developing Existing Components Locally

First, change to your components directory:

git clone [email protected]:Financial-Times/o-table.git
cd o-table

Then install its dependencies:

obt install

To preview the components demos run the dev command. The dev command will automatically re-build the demos every time a file changes:

obt dev

After making your changes run the linter and check for errors:

obt lint

Also run the components tests:

obt test

To debug JavaScript test errors with immediate feedback and breakpoints, pass the debug flag. This will open the tests in a browser window with logs in the browser console. It will also watch and rebuild tests when you make changes:

obt test --debug

Further, JavaScript tests may be run in BrowserStack automatically with the --browserstack flag. See the test command for more details.

Creating A New Component

Origami Build Tools provides boilerplate for creating up a new Origami component. Run obt init and follow the prompts.

API Reference

Usage
	$ obt <command> [<options>]

Commands
	install, i             Install npm dependencies required to build the component
	develop, dev           Build demos locally every time a file changes and run a server to view them
	demo, d                Build demos into the demos directory
	init                   Initialise a new component with a boilerplate folder structure
	test, t                Run Origami specification tests and component specific tests
	verify, v, lint, l     Check folder and code structure follows Origami specification

Options
	-h, --help                 Print out this message
	-v, --version              Print out version of origami-build-tools
	--browserstack             Run tests using Browserstack instead of Chrome Stable
	--demo-filter=<demo-name>  Build a specific demo. E.G. --demo-filter=pa11y to build only the pa11y.html demo.
	--brand=<brand-name>       Build SCSS for a given brand. E.G. --brand=internal to build the component for the internal brand.
	--debug                    Keep the test runner open to enable debugging in any browser.

Commands

install or i

Install npm required to build components.

develop or dev

Build demos locally every time a file changes and run a server to view them.

init

Creates boilerplate for a new Origami component.

demo or d

Build demos found in the origami.json manifest.

Build a specific demo with the --demo-filter option.

Demos consist of HTML, CSS and JS (if Sass & JS exists), and are created in demos/local/. These files should not be committed. It is recommended to add demos/local/ to your .gitignore.

verify or v or lint or l

Lints JavaScript, Sass and configuration files (see Origami code recommendations).

test or t

Runs JavaScript and Sass tests.

  • If --debug is set, the test runner will not exit automatically to allow debugging of the tests.

Checks Sass includes a primary mixin. If pa11y.html demo exists, confirms it is accessible using Pa11y. Runs tests using Karma defaulting to Chrome Stable, can be configured to use BrowserStack by using the --browserstack flag. You will need the environment variables BROWSER_STACK_USERNAME and BROWSER_STACK_ACCESS_KEY set. This will run the tests on the minimum version for enhanced experience based on the [FT Browser Support Policy[(https://docs.google.com/document/d/1mByh6sT8zI4XRyPKqWVsC2jUfXHZvhshS5SlHErWjXU).

Migration Guides

State Major Version Last Minor Release Migration guide
active 11 N/A migrate to v11
maintained 10 10.9 migrate to v10
╳ deprecated 9 9.0 migrate to v9
╳ deprecated 8 8.2 migrate to v8
╳ deprecated 7 7.14 migrate to v7
╳ deprecated 6 6.2 migrate to v6
╳ deprecated 5 5.8 -
╳ deprecated 4 4.5 -
╳ deprecated 3 3.3 -
╳ deprecated 2 2.1 -
╳ deprecated 1 1.0 N/A

Licence

This software is published by the Financial Times under the MIT licence.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].