11/* Node.js library with utilities to handle using the app loader from node.js */
2+ /*global exports,global,__dirname,require,Promise */
23
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/" ;
89
910//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" ) ;
1112//eval(require("fs").readFileSync(__dirname + "/../../core/lib/espruinotools.js").toString());
1213//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" ) ;
1415
15- var SETTINGS = {
16+ let SETTINGS = {
1617 pretokenise : true
1718} ;
1819global . Const = {
@@ -22,9 +23,10 @@ global.Const = {
2223 SINGLE_APP_ONLY : false ,
2324} ;
2425
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
2830
2931/* This resets the list of installed apps to an empty list.
3032 It can be used in case the device behind the apploader has changed
@@ -53,18 +55,18 @@ exports.init = function(options) {
5355 // Try loading from apps.json
5456 apps . length = 0 ;
5557 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 ) ;
5860 appList . forEach ( a => apps . push ( a ) ) ;
5961 } catch ( e ) {
6062 console . log ( "Couldn't load apps.json" , e . toString ( ) ) ;
6163 }
6264 // Load app metadata from each app
6365 if ( ! apps . length ) {
6466 console . log ( "Loading apps/.../metadata.json" ) ;
65- var dirs = require ( "fs" ) . readdirSync ( APPSDIR , { withFileTypes : true } ) ;
67+ let dirs = require ( "fs" ) . readdirSync ( APPSDIR , { withFileTypes : true } ) ;
6668 dirs . forEach ( dir => {
67- var appsFile ;
69+ let appsFile ;
6870 if ( dir . name . startsWith ( "_example" ) || ! dir . isDirectory ( ) )
6971 return ;
7072 try {
@@ -85,14 +87,14 @@ exports.apps = apps;
8587function fileGetter ( url ) {
8688 url = BASE_DIR + "/" + url ;
8789 console . log ( "Loading " + url )
88- var data ;
90+ let data ;
8991 if ( MINIFY && url . endsWith ( ".json" ) ) {
90- var f = url . slice ( 0 , - 5 ) ;
92+ let f = url . slice ( 0 , - 5 ) ;
9193 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" ) + ")" ) ;
9395 data = JSON . stringify ( j ) ; // FIXME we can do better for Espruino
9496 } else {
95- var blob = require ( "fs" ) . readFileSync ( url ) ;
97+ let blob = require ( "fs" ) . readFileSync ( url ) ;
9698 if ( url . endsWith ( ".js" ) || url . endsWith ( ".json" ) )
9799 data = blob . toString ( ) ; // allow JS/etc to be written in UTF-8
98100 else
@@ -102,14 +104,14 @@ function fileGetter(url) {
102104}
103105
104106exports . getAppFiles = function ( app ) {
105- var allFiles = [ ] ;
106- var getFileOptions = {
107+ let allFiles = [ ] ;
108+ let getFileOptions = {
107109 fileGetter : fileGetter ,
108110 settings : SETTINGS ,
109111 device : { id : DEVICEID , version : VERSION } ,
110112 language : language
111113 } ;
112- var uploadOptions = {
114+ let uploadOptions = {
113115 apps : apps ,
114116 needsApp : app => {
115117 if ( app . provides_modules ) {
0 commit comments