UNPKG

2.39 kBJavaScriptView Raw
1"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.update = exports.check = void 0;
2
3
4var _env = require("./utils/env");
5var _babelrc = _interopRequireDefault(require("@tuax/plugin-babel/lib/babelrc"));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} /**
6 * Created by wuwei on 2017/6/22.
7 */let path = require('path');let fs = require('fs');
8let _ = require('shelljs');
9let cwd = process.cwd();
10
11let check = function (keys) {
12 let tuacache = require('../.tua-cache/tua.json');
13 let config = require('./options').config;
14 let current = tuacache[cwd];
15 let result = false;
16 if (current === undefined) {//尚未缓存,肯定是第一次,返回true
17 return true;
18 }
19 keys.forEach(function (key) {
20 if (key === 'debug') {
21 if (current['debug'] !== _env.DEBUG) {
22 result = true;
23 }
24 } else if (key === 'babelrc') {
25 if (JSON.stringify(current['babelrc']) !== JSON.stringify(_babelrc.default.clientOptions(config, _env.DEBUG))) {
26 result = true;
27 }
28 } else {
29 if (JSON.stringify(config[key]) !== JSON.stringify(current[key])) {
30 result = true;
31 }
32 }
33 });
34 return result;
35};
36
37/**
38 * 更新tuacache数据
39 */exports.check = check;
40let update = function () {
41 let tuacache = require('../.tua-cache/tua.json');
42 let config = require('./options').config;
43 if (tuacache[cwd] === undefined) {
44 tuacache[cwd] = {};
45 }
46 ['dist', 'dll', 'env'].forEach(function (key) {
47 tuacache[cwd][key] = config[key];
48 });
49 tuacache[cwd]['debug'] = _env.DEBUG; //更新debug
50 tuacache[cwd]['babelrc'] = _babelrc.default.clientOptions(config, _env.DEBUG);
51 fs.writeFileSync(path.resolve(__dirname, '../.tua-cache/tua.json'), JSON.stringify(tuacache) || '{}');
52 if (process.platform !== "win32" && typeof process.getuid === 'function' && process.getuid() === 0) {//当前是管理员用户
53 _.chmod('-R', 777, path.resolve(__dirname, '../.tua-cache/tua.json'));
54 }
55};exports.update = update;
\No newline at end of file