UNPKG

3.94 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
8
9var _path = require('path');
10
11var _path2 = _interopRequireDefault(_path);
12
13var _fs = require('./fs');
14
15var FS = _interopRequireWildcard(_fs);
16
17var _helpers = require('./helpers');
18
19var Helpers = _interopRequireWildcard(_helpers);
20
21var _error = require('./error');
22
23function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
24
25function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
27function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { return step("next", value); }, function (err) { return step("throw", err); }); } } return step("next"); }); }; }
28
29function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
30
31var Config = function () {
32 function Config(config, configPath, projectPath) {
33 _classCallCheck(this, Config);
34
35 this.config = config;
36 this.configPath = configPath;
37 this.projectPath = projectPath;
38 }
39
40 _createClass(Config, [{
41 key: 'getBundleDirectory',
42 value: function getBundleDirectory() {
43 return _path2.default.resolve(this.projectPath, this.get('bundleDirectory'));
44 }
45 }, {
46 key: 'getPublicDirectory',
47 value: function getPublicDirectory() {
48 return _path2.default.resolve(this.projectPath, this.get('publicDirectory'));
49 }
50 }, {
51 key: 'get',
52 value: function get(key) {
53 return this.config[key];
54 }
55 }, {
56 key: 'write',
57 value: function () {
58 var _ref = _asyncToGenerator(function* () {
59 yield FS.writeJSON(this.configPath, this.config);
60 });
61
62 function write() {
63 return _ref.apply(this, arguments);
64 }
65
66 return write;
67 }()
68 }], [{
69 key: 'create',
70 value: function () {
71 var _ref2 = _asyncToGenerator(function* (projectPath) {
72 var config = {
73 babel: {
74 plugins: ['motion-style/transform'],
75 presets: ['babel-preset-motion']
76 },
77 webServerPort: Helpers.getRandomNumber(8000, 15000),
78 saveNpmModules: true,
79 bundleDirectory: '.',
80 publicDirectory: './public',
81 includePolyfills: true
82 };
83 var configPath = _path2.default.join(projectPath, '.motion.json');
84 try {
85 Object.assign(config, (yield FS.readJSON(configPath)));
86 } catch (error) {
87 if (error && error.name === 'SyntaxError') {
88 throw new _error.MotionError(_error.ERROR_CODE.INVALID_MANIFEST);
89 }
90 }
91 return new Config(config, configPath, projectPath);
92 });
93
94 function create(_x) {
95 return _ref2.apply(this, arguments);
96 }
97
98 return create;
99 }()
100 }]);
101
102 return Config;
103}();
104
105exports.default = Config;
106//# sourceMappingURL=config.js.map
\No newline at end of file