123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- var path = require('path');
- var fs = require('fs');
- var shell = require('shelljs');
- var events = require('cordova-common').events;
- module.exports = {
- www_dir: function (project_dir) {
- return path.join(project_dir, 'www');
- },
- package_name: function (project_dir) {
-
-
-
- var pkgName = 'io.cordova.hellocordova';
- var widget_id_regex = /(?:<widget\s+id=['"])(\S+)(?:['"])/;
- var configPath = path.join(project_dir, 'config.xml');
- if (fs.existsSync(configPath)) {
- var configStr = fs.readFileSync(configPath, 'utf8');
- var res = configStr.match(widget_id_regex);
- if (res && res.length > 1) {
- pkgName = res[1];
- }
- }
- return pkgName;
- },
- 'js-module': {
- install: function (jsModule, plugin_dir, plugin_id, www_dir) {
-
- var moduleSource = path.resolve(plugin_dir, jsModule.src);
-
-
- var moduleName = plugin_id + '.' + (jsModule.name || path.basename(jsModule.src, path.extname(jsModule.src)));
-
- var scriptContent = fs.readFileSync(moduleSource, 'utf-8').replace(/^\ufeff/, '');
- if (moduleSource.match(/.*\.json$/)) {
- scriptContent = 'module.exports = ' + scriptContent;
- }
- scriptContent = 'cordova.define("' + moduleName + '", function(require, exports, module) { ' + scriptContent + '\n});\n';
- var moduleDestination = path.resolve(www_dir, 'plugins', plugin_id, jsModule.src);
- shell.mkdir('-p', path.dirname(moduleDestination));
- fs.writeFileSync(moduleDestination, scriptContent, 'utf-8');
- },
- uninstall: function (jsModule, www_dir, plugin_id) {
- var pluginRelativePath = path.join('plugins', plugin_id, jsModule.src);
-
- console.log('js-module uninstall called : ' + pluginRelativePath);
- }
- },
- 'source-file': {
- install: function (obj, plugin_dir, project_dir, plugin_id, options) {
-
-
- console.log('install called');
- },
- uninstall: function (obj, project_dir, plugin_id, options) {
-
-
- console.log('uninstall called');
- }
- },
- 'header-file': {
- install: function (obj, plugin_dir, project_dir, plugin_id, options) {
- events.emit('verbose', 'header-fileinstall is not supported for browser');
- },
- uninstall: function (obj, project_dir, plugin_id, options) {
- events.emit('verbose', 'header-file.uninstall is not supported for browser');
- }
- },
- 'resource-file': {
- install: function (obj, plugin_dir, project_dir, plugin_id, options) {
- events.emit('verbose', 'resource-file.install is not supported for browser');
- },
- uninstall: function (obj, project_dir, plugin_id, options) {
- events.emit('verbose', 'resource-file.uninstall is not supported for browser');
- }
- },
- 'framework': {
- install: function (obj, plugin_dir, project_dir, plugin_id, options) {
- events.emit('verbose', 'framework.install is not supported for browser');
- },
- uninstall: function (obj, project_dir, plugin_id, options) {
- events.emit('verbose', 'framework.uninstall is not supported for browser');
- }
- },
- 'lib-file': {
- install: function (obj, plugin_dir, project_dir, plugin_id, options) {
- events.emit('verbose', 'lib-file.install is not supported for browser');
- },
- uninstall: function (obj, project_dir, plugin_id, options) {
- events.emit('verbose', 'lib-file.uninstall is not supported for browser');
- }
- },
- asset: {
- install: function (asset, plugin_dir, wwwDest) {
- var src = path.join(plugin_dir, asset.src);
- var dest = path.join(wwwDest, asset.target);
- var destDir = path.parse(dest).dir;
- if (destDir !== '' && !fs.existsSync(destDir)) {
- shell.mkdir('-p', destDir);
- }
- if (fs.statSync(src).isDirectory()) {
- shell.cp('-Rf', src + '/*', dest);
- } else {
- shell.cp('-f', src, dest);
- }
- },
- uninstall: function (asset, wwwDest, plugin_id) {
- shell.rm('-rf', path.join(wwwDest, asset.target));
- shell.rm('-rf', path.join(wwwDest, 'plugins', plugin_id));
- }
- }
- };
|