Skip to content

Latest commit

 

History

History
18 lines (12 loc) · 1.63 KB

web-dev.md

File metadata and controls

18 lines (12 loc) · 1.63 KB

Wikipedia iOS Web Development

This document describes how the project is set up for web development, including dependency management and how web sources are bundled with the app.

NOTE: The files generated by grunt are committed to the repo to streamline the native development workflow. When modifying any web-related aspects of the app, be sure to commit both your changes and the generated files. We hope to eventually look into ways to make the web packaging and integration more flexible and reliable.

Prerequisites

The web assets are developed with a NodeJS toolchain. Node is available via Homebrew, but please be sure to install the version declared in .node-version. Similar to the project's Ruby setup, the web portion uses a version file which can be picked up by a node version manager such as nodenv. This the recommended way to install and manage node installations.

Node package dependencies are managed by npm. See package.json for detailed information about the node dependencies.

Tasks

We use grunt to automate tasks related to web development such as dependency management and packaging the sources for integration into the app. A brief overview of the tasks is provided below, but refer to the Gruntfile for detailed and up-to-date information.

Testing

We use jshint to lint the code. Eventually we'll use something like mocha or qunit to test it too...

Integrating Web Into The Native App

TODO: describe how it's integrated