1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #!/usr/bin/env node
-
- /*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-
- var fs = require('fs');
- var path = require('path');
- var url = require('url');
- var cordovaServe = require('cordova-serve');
-
- module.exports.run = function (args) {
- // defaults
- args.port = args.port || 8000;
- args.target = args.target || 'default'; // make default the system browser
- args.noLogOutput = args.silent || false;
-
- var wwwPath = path.join(__dirname, '../../www');
- var manifestFilePath = path.resolve(path.join(wwwPath, 'manifest.json'));
-
- var startPage;
-
- // get start page from manifest
- if (fs.existsSync(manifestFilePath)) {
- try {
- var manifest = require(manifestFilePath);
- startPage = manifest.start_url;
- } catch (err) {
- console.log('failed to require manifest ... ' + err);
- }
- }
-
- var server = cordovaServe();
- server.servePlatform('browser', { port: args.port, noServerInfo: true, noLogOutput: args.noLogOutput })
- .then(function () {
- if (!startPage) {
- // failing all else, set the default
- startPage = 'index.html';
- }
-
- var projectUrl = (new url.URL(`http://localhost:${server.port}/${startPage}`)).href;
-
- console.log('startPage = ' + startPage);
- console.log('Static file server running @ ' + projectUrl + '\nCTRL + C to shut down');
- return server.launchBrowser({ 'target': args.target, 'url': projectUrl });
- })
- .catch(function (error) {
- console.log(error.message || error.toString());
- if (server.server) {
- server.server.close();
- }
- });
- };
|