1
1
/* Node.js library with utilities to handle using the app loader from node.js */
2
+ /*global exports,global,__dirname,require,Promise */
2
3
3
- var DEVICEID = "BANGLEJS2" ;
4
- var VERSION = "2v11" ;
5
- var MINIFY = true ; // minify JSON?
6
- var BASE_DIR = __dirname + "/../.." ;
7
- var APPSDIR = BASE_DIR + "/apps/" ;
4
+ let DEVICEID = "BANGLEJS2" ;
5
+ let VERSION = "2v11" ;
6
+ let MINIFY = true ; // minify JSON?
7
+ let BASE_DIR = __dirname + "/../.." ;
8
+ let APPSDIR = BASE_DIR + "/apps/" ;
8
9
9
10
//eval(require("fs").readFileSync(__dirname+"../core/js/utils.js"));
10
- var Espruino = require ( __dirname + "/../../core/lib/espruinotools.js" ) ;
11
+ let Espruino = require ( __dirname + "/../../core/lib/espruinotools.js" ) ;
11
12
//eval(require("fs").readFileSync(__dirname + "/../../core/lib/espruinotools.js").toString());
12
13
//eval(require("fs").readFileSync(__dirname + "/../../core/js/utils.js").toString());
13
- var AppInfo = require ( __dirname + "/../../core/js/appinfo.js" ) ;
14
+ let AppInfo = require ( __dirname + "/../../core/js/appinfo.js" ) ;
14
15
15
- var SETTINGS = {
16
+ let SETTINGS = {
16
17
pretokenise : true
17
18
} ;
18
19
global . Const = {
@@ -22,9 +23,10 @@ global.Const = {
22
23
SINGLE_APP_ONLY : false ,
23
24
} ;
24
25
25
- var apps = [ ] ;
26
- var device = { id : DEVICEID , appsInstalled : [ ] } ;
27
- var language ; // Object of translations
26
+ let apps = [ ] ;
27
+ // eslint-disable-next-line no-redeclare
28
+ let device = { id : DEVICEID , appsInstalled : [ ] } ;
29
+ let language ; // Object of translations
28
30
29
31
/* This resets the list of installed apps to an empty list.
30
32
It can be used in case the device behind the apploader has changed
@@ -53,18 +55,18 @@ exports.init = function(options) {
53
55
// Try loading from apps.json
54
56
apps . length = 0 ;
55
57
try {
56
- var appsStr = require ( "fs" ) . readFileSync ( BASE_DIR + "/apps.json" ) ;
57
- var appList = JSON . parse ( appsStr ) ;
58
+ let appsStr = require ( "fs" ) . readFileSync ( BASE_DIR + "/apps.json" ) ;
59
+ let appList = JSON . parse ( appsStr ) ;
58
60
appList . forEach ( a => apps . push ( a ) ) ;
59
61
} catch ( e ) {
60
62
console . log ( "Couldn't load apps.json" , e . toString ( ) ) ;
61
63
}
62
64
// Load app metadata from each app
63
65
if ( ! apps . length ) {
64
66
console . log ( "Loading apps/.../metadata.json" ) ;
65
- var dirs = require ( "fs" ) . readdirSync ( APPSDIR , { withFileTypes : true } ) ;
67
+ let dirs = require ( "fs" ) . readdirSync ( APPSDIR , { withFileTypes : true } ) ;
66
68
dirs . forEach ( dir => {
67
- var appsFile ;
69
+ let appsFile ;
68
70
if ( dir . name . startsWith ( "_example" ) || ! dir . isDirectory ( ) )
69
71
return ;
70
72
try {
@@ -85,14 +87,14 @@ exports.apps = apps;
85
87
function fileGetter ( url ) {
86
88
url = BASE_DIR + "/" + url ;
87
89
console . log ( "Loading " + url )
88
- var data ;
90
+ let data ;
89
91
if ( MINIFY && url . endsWith ( ".json" ) ) {
90
- var f = url . slice ( 0 , - 5 ) ;
92
+ let f = url . slice ( 0 , - 5 ) ;
91
93
console . log ( "MINIFYING JSON " + f ) ;
92
- var j = eval ( "(" + require ( "fs" ) . readFileSync ( url ) . toString ( "binary" ) + ")" ) ;
94
+ let j = eval ( "(" + require ( "fs" ) . readFileSync ( url ) . toString ( "binary" ) + ")" ) ;
93
95
data = JSON . stringify ( j ) ; // FIXME we can do better for Espruino
94
96
} else {
95
- var blob = require ( "fs" ) . readFileSync ( url ) ;
97
+ let blob = require ( "fs" ) . readFileSync ( url ) ;
96
98
if ( url . endsWith ( ".js" ) || url . endsWith ( ".json" ) )
97
99
data = blob . toString ( ) ; // allow JS/etc to be written in UTF-8
98
100
else
@@ -102,14 +104,14 @@ function fileGetter(url) {
102
104
}
103
105
104
106
exports . getAppFiles = function ( app ) {
105
- var allFiles = [ ] ;
106
- var getFileOptions = {
107
+ let allFiles = [ ] ;
108
+ let getFileOptions = {
107
109
fileGetter : fileGetter ,
108
110
settings : SETTINGS ,
109
111
device : { id : DEVICEID , version : VERSION } ,
110
112
language : language
111
113
} ;
112
- var uploadOptions = {
114
+ let uploadOptions = {
113
115
apps : apps ,
114
116
needsApp : app => {
115
117
if ( app . provides_modules ) {
0 commit comments