Skip to content
Project to investigate porting Chrome Apps to websites.
Python JavaScript HTML CSS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs Added usage summary to docs and added syntax highlighting. Jan 28, 2016
src
tests
.gitignore Updated JS dependency management and testing dependencies. Jan 13, 2016
CONTRIBUTING.md Added CONTRIBUTING and LICENSE files. Nov 29, 2015
LICENSE
PRESUBMIT.py
README.md
codereview.settings Set up codereview.chromium.org as the code review site. Jan 6, 2016
karma.conf.js Added test runner. Feb 12, 2016
package.json
requirements.txt
run_tests.py

README.md

Caterpillar

Given the recent interest in progressive web apps, this experimental project investigates whether it is feasible to automatically port Chrome Apps to web sites that run offline in Chrome and other modern browsers.

Installation

Extract the code into a folder. Install dependencies with pip and npm:

$ pip install -r requirements.txt && npm install

Usage

./caterpillar.py config -i config.json
./caterpillar.py convert -c config.json my-chrome-app/ my-web-app/

This will convert an unpackaged Chrome App my-chrome-app/ into a progressive web app my-web-app/ and generate a conversion report inside a subdirectory of my-web-app/ (depending on the configuration options you set).

For more detailed documentation, see the manual.

Running Tests

Running all tests:

./run_tests.py

Running Python tests only:

./run_tests.py py

Running specific Python tests:

./run_tests.py py module_test
./run_tests.py py module_test.TestClass
./run_tests.py py module_test.TestClass.test_function

Running JavaScript tests only:

./run_tests.py js

The JavaScript tests assume you have Chrome and Firefox (version 45 or greater). If you want to run the tests on different browsers, edit karma.conf.js.

Disclaimer

This is not an official Google product (experimental or otherwise), it is just code that happens to be owned by Google.

Copyright 2016 Google Inc. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

You can’t perform that action at this time.