jsir 2.2.7 → 2.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/cmd/oaa.js +10 -8
  2. package/deps/util.js +33 -12
  3. package/package.json +1 -1
package/cmd/oaa.js CHANGED
@@ -11,7 +11,7 @@ const {
11
11
  createConsole, setTips, delTips,
12
12
  getEditor, errorStr, getConfigDir,
13
13
  getFullPath, parseUniqueName, toUniqueName, isJsirFileName, toJsirFileName,
14
- fileJson, fileLock, getOr
14
+ getOr, getAlias
15
15
  } = $lib;
16
16
  const _args = process.argv.slice(2).map(trim);
17
17
  const evalCode = require('../deps/evalCode')
@@ -1179,16 +1179,16 @@ const keywordDef = {
1179
1179
  let text = removeComment(String(fs.readFileSync(path)))
1180
1180
  let [space] = parseUniqueName(uniqueName)
1181
1181
 
1182
- await preLoad(text, "[\\s=;]require", requireG, packages, space)
1183
- await preLoad(text, "^require", requireG, packages, space)
1184
- await preLoad(text, "\\$import", importG, packages, space)
1185
- await preLoad(text, "[\\s=;]import", importG, packages, space)
1186
- await preLoad(text, "^import", importG, packages, space)
1182
+ await preLoad(text, "[\\s=;]require", requireG, packages, space)
1183
+ await preLoad(text, "^require", requireG, packages, space)
1184
+ await preLoad(text, "\\$import", importG, packages, space)
1185
+ await preLoad(text, "[\\s=;]import", importG, packages, space)
1186
+ await preLoad(text, "^import", importG, packages, space)
1187
1187
  }
1188
1188
  Object.keys(packages).forEach(key => {
1189
1189
  let info = packages[key];
1190
1190
  info.version = getPackageVersion(info.space, info.name)
1191
- let loadedSpace = getOr(global, '$packages', {})[info.name]
1191
+ let loadedSpace = global.$packages[info.name]
1192
1192
  if (loadedSpace) {
1193
1193
  info.loaded = loadedSpace
1194
1194
  }
@@ -1284,7 +1284,7 @@ const keywordDef = {
1284
1284
  let keyword = args[0]
1285
1285
  let justList = false;
1286
1286
  if (keyword.endsWith('.')) {
1287
- let _tmp = trim(keyword.substring(0, keyword.length - 1));
1287
+ let _tmp = getAlias(keyword.substring(0, keyword.length - 1));
1288
1288
  if (_tmp) {
1289
1289
  if (keywordDef[_tmp] || Object.values(keywordDef).map(item => item.short).indexOf(_tmp) !== -1) {
1290
1290
  help(i => i === _tmp || keywordDef[i].short === _tmp);
@@ -1296,6 +1296,8 @@ const keywordDef = {
1296
1296
  console.warn('invalid keyword')
1297
1297
  return
1298
1298
  }
1299
+ } else {
1300
+ keyword = getAlias(keyword)
1299
1301
  }
1300
1302
  let pair = parseUniqueName(keyword)
1301
1303
  let cmds;
package/deps/util.js CHANGED
@@ -17,6 +17,7 @@ global.$workspaceMap = {}
17
17
  global.$defaultSpace = 'local'
18
18
  global.$newError = false
19
19
  global.$tips = {}
20
+ global.$packages = Object.create(null)
20
21
 
21
22
  let libDataDir;
22
23
  let lockDir;
@@ -487,8 +488,14 @@ function trimEmptyLine(text) {
487
488
  return lines.slice(start, end + 1).join('\n');
488
489
  }
489
490
 
491
+ let defaultEditor = "vi";
490
492
  function getEditor() {
491
- return getConfig("defaultEditor", "vi")
493
+ try {
494
+ defaultEditor = getConfig("defaultEditor", "vi");
495
+ } catch (e) {
496
+ console.$error('getConfig failed', e);
497
+ }
498
+ return defaultEditor
492
499
  }
493
500
 
494
501
  function timeStr(fmt, date) {
@@ -749,7 +756,7 @@ async function fileJson(key, fn, fmt = true) {
749
756
  }
750
757
 
751
758
  function setModulePaths(space) {
752
- let moduleDir = $workspaceMap[space || global.$defaultSpace] + '/node_modules'
759
+ let moduleDir = $workspaceMap[space] + '/node_modules'
753
760
  if (module.paths.indexOf(moduleDir) === -1) {
754
761
  module.paths.splice(0, module.paths.length)
755
762
  module.paths.push(moduleDir)
@@ -758,7 +765,14 @@ function setModulePaths(space) {
758
765
  return moduleDir;
759
766
  }
760
767
 
768
+ function enrichPackages(moduleName, space) {
769
+ if (!global.$packages[moduleName]) {
770
+ global.$packages[moduleName] = space
771
+ }
772
+ }
773
+
761
774
  function requireG(moduleName, space){
775
+ space = space || global.$defaultSpace;
762
776
  let moduleDir = setModulePaths(space);
763
777
  if (module.paths.indexOf(moduleDir) === -1) {
764
778
  module.paths.splice(0, module.paths.length)
@@ -772,21 +786,15 @@ function requireG(moduleName, space){
772
786
  } catch (e) {}
773
787
  let path = moduleDir + '/' + moduleName;
774
788
  if (!fs.existsSync(path)) {
775
- throw `${space || global.$defaultSpace} package [${moduleName}] not found`;
789
+ throw `${space} package [${moduleName}] not found`;
776
790
  }
777
791
  let result = require(path);
778
792
  enrichPackages(moduleName, space);
779
793
  return result;
780
794
  }
781
795
 
782
- function enrichPackages(moduleName, space) {
783
- let packages = getOr(global, '$packages', {});
784
- if (!packages[moduleName]) {
785
- packages[moduleName] = space
786
- }
787
- }
788
-
789
796
  async function importG(moduleName, space) {
797
+ space = space || global.$defaultSpace;
790
798
  let moduleDir = setModulePaths(space);
791
799
  try {
792
800
  let result = await import(moduleName);
@@ -795,7 +803,7 @@ async function importG(moduleName, space) {
795
803
  } catch (e) {}
796
804
  let path = moduleDir + '/' + moduleName;
797
805
  if (!fs.existsSync(path)) {
798
- throw `${space || global.$defaultSpace} package [${moduleName}] not found`;
806
+ throw `${space} package [${moduleName}] not found`;
799
807
  }
800
808
  let result = await import(require.resolve(path));
801
809
  enrichPackages(moduleName, space);
@@ -855,6 +863,18 @@ function getConfigDir() {
855
863
  return configDir;
856
864
  }
857
865
 
866
+ function getAlias(key) {
867
+ key = trim(key)
868
+ if (!key) {
869
+ return key;
870
+ }
871
+ let aliasMap = getConfig('alias', {});
872
+ if (aliasMap.hasOwnProperty(key) && vl(aliasMap[key])) {
873
+ return aliasMap[key].trim();
874
+ }
875
+ return key
876
+ }
877
+
858
878
  function _getConfig(key, defaultVal, uniqueName) {
859
879
  let configInit = {}
860
880
  let configFile = getLibDataDir() + '/config.json';
@@ -1852,5 +1872,6 @@ module.exports = {
1852
1872
  isJsirFileName,
1853
1873
  toJsirFileName,
1854
1874
  fileJson,
1855
- debugStr
1875
+ debugStr,
1876
+ getAlias
1856
1877
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jsir",
3
- "version": "2.2.7",
3
+ "version": "2.2.8",
4
4
  "description": "JavaScript Script Management Tool",
5
5
  "main": "index.js",
6
6
  "scripts": {