1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 |
|
7 | var _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 |
|
9 | var _path = require('path');
|
10 |
|
11 | var _path2 = _interopRequireDefault(_path);
|
12 |
|
13 | var _fs = require('./fs');
|
14 |
|
15 | var FS = _interopRequireWildcard(_fs);
|
16 |
|
17 | var _helpers = require('./helpers');
|
18 |
|
19 | var Helpers = _interopRequireWildcard(_helpers);
|
20 |
|
21 | var _error = require('./error');
|
22 |
|
23 | function _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 |
|
25 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
26 |
|
27 | function _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 |
|
29 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
30 |
|
31 | var 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 |
|
105 | exports.default = Config;
|
106 |
|
\ | No newline at end of file |