@liascript/devserver 1.0.5--0.10.8 → 1.0.8--0.10.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.
package/README.md CHANGED
@@ -78,7 +78,7 @@ updated separately, we use two different version, one for the devServer and one
78
78
  for LiaScript.
79
79
 
80
80
  ```text
81
- DevServer: 1.0.5
81
+ DevServer: 1.0.8
82
82
  LiaScript: 0.10.8
83
83
  ```
84
84
 
package/dist/index.js CHANGED
@@ -1,16 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- var $8zHUo$express = require("express");
4
- var $8zHUo$open = require("open");
5
- var $8zHUo$fs = require("fs");
6
- var $8zHUo$path = require("path");
7
- var $8zHUo$process = require("process");
8
- var $8zHUo$dotenv = require("dotenv");
9
- var $8zHUo$cors = require("cors");
10
- var $8zHUo$expresshandlebars = require("express-handlebars");
11
- var $8zHUo$minimist = require("minimist");
12
- var $8zHUo$ip = require("ip");
13
- var $8zHUo$reloadshjs = require("reloadsh.js");
3
+ var $9KXPr$dotenv = require("dotenv");
4
+ var $9KXPr$express = require("express");
5
+ var $9KXPr$open = require("open");
6
+ var $9KXPr$fs = require("fs");
7
+ var $9KXPr$path = require("path");
8
+ var $9KXPr$cors = require("cors");
9
+ var $9KXPr$expresshandlebars = require("express-handlebars");
10
+ var $9KXPr$minimist = require("minimist");
11
+ var $9KXPr$ip = require("ip");
12
+ var $9KXPr$reloadshjs = require("reloadsh.js");
14
13
 
15
14
  function $parcel$interopDefault(a) {
16
15
  return a && a.__esModule ? a.default : a;
@@ -19,19 +18,17 @@ function $parcel$interopDefault(a) {
19
18
 
20
19
 
21
20
 
22
- var $882b6d93070905b3$var$__dirname = "src";
23
21
 
22
+ $9KXPr$dotenv.config();
23
+ const $aa3bf3164f10b283$var$app = ($parcel$interopDefault($9KXPr$express))();
24
24
 
25
- $8zHUo$dotenv.config();
26
- const $882b6d93070905b3$var$app = ($parcel$interopDefault($8zHUo$express))();
27
25
 
28
26
 
27
+ const $aa3bf3164f10b283$var$argv = $9KXPr$minimist(process.argv.slice(2));
29
28
 
30
- const $882b6d93070905b3$var$argv = $8zHUo$minimist($8zHUo$process.argv.slice(2));
31
-
32
- const $882b6d93070905b3$var$liascriptPath = ($parcel$interopDefault($8zHUo$path)).resolve(($parcel$interopDefault($8zHUo$path)).join("/home/andre/Workspace/Projects/Freinet/liascript-devserver", 'node_modules/@liascript/editor/dist'));
33
- const $882b6d93070905b3$var$reloadPath = ($parcel$interopDefault($8zHUo$path)).resolve(($parcel$interopDefault($8zHUo$path)).join("/home/andre/Workspace/Projects/Freinet/liascript-devserver", 'node_modules/reloadsh.js/reloader.browser.js'));
34
- function $882b6d93070905b3$var$liascript() {
29
+ const $aa3bf3164f10b283$var$liascriptPath = ($parcel$interopDefault($9KXPr$path)).resolve(($parcel$interopDefault($9KXPr$path)).join(__dirname, '../node_modules/@liascript/editor/dist'));
30
+ const $aa3bf3164f10b283$var$reloadPath = ($parcel$interopDefault($9KXPr$path)).resolve(($parcel$interopDefault($9KXPr$path)).join(__dirname, '../node_modules/reloadsh.js/reloader.browser.js'));
31
+ function $aa3bf3164f10b283$var$liascript() {
35
32
  console.log(' _ _ ____ _ _');
36
33
  console.log('| | (_) __ _/ ___| ___ _ __(_)_ __ | |_');
37
34
  console.log("| | | |/ _` \\___ \\ / __| '__| | '_ \\| __|");
@@ -40,13 +37,13 @@ function $882b6d93070905b3$var$liascript() {
40
37
  console.log(' |_|');
41
38
  console.log();
42
39
  }
43
- if ($882b6d93070905b3$var$argv.v || $882b6d93070905b3$var$argv.version) {
44
- console.log('DevServer: 1.0.5');
45
- console.log('LiaScript: 0.10.7');
46
- $8zHUo$process.exit();
40
+ if ($aa3bf3164f10b283$var$argv.v || $aa3bf3164f10b283$var$argv.version) {
41
+ console.log('DevServer: 1.0.8');
42
+ console.log('LiaScript: 0.10.8');
43
+ process.exit();
47
44
  }
48
- if ($882b6d93070905b3$var$argv.h || $882b6d93070905b3$var$argv.help) {
49
- $882b6d93070905b3$var$liascript();
45
+ if ($aa3bf3164f10b283$var$argv.h || $aa3bf3164f10b283$var$argv.help) {
46
+ $aa3bf3164f10b283$var$liascript();
50
47
  console.log('-h --help show this help');
51
48
  console.log('-v --version show version information');
52
49
  console.log('-i --input input README.md file or folder (default: .)');
@@ -62,49 +59,49 @@ if ($882b6d93070905b3$var$argv.h || $882b6d93070905b3$var$argv.help) {
62
59
  console.log(' the reloading speed.');
63
60
  console.log(' For more information visit:');
64
61
  console.log(' https://responsivevoice.org');
65
- $8zHUo$process.exit();
62
+ process.exit();
66
63
  }
67
- const $882b6d93070905b3$var$port = $882b6d93070905b3$var$argv.p || $882b6d93070905b3$var$argv.port || 3000;
68
- const $882b6d93070905b3$var$hostname = $882b6d93070905b3$var$argv.n || $882b6d93070905b3$var$argv.hostname || 'localhost';
69
- const $882b6d93070905b3$var$openInBrowser = $882b6d93070905b3$var$argv.o || $882b6d93070905b3$var$argv.open;
70
- const $882b6d93070905b3$var$input = $882b6d93070905b3$var$argv.i || $882b6d93070905b3$var$argv.input || '.';
71
- const $882b6d93070905b3$var$liveReload = $882b6d93070905b3$var$argv.l || $882b6d93070905b3$var$argv.live || false;
72
- const $882b6d93070905b3$var$testOnline = $882b6d93070905b3$var$argv.t || $882b6d93070905b3$var$argv.test;
73
- let $882b6d93070905b3$var$responsiveVoice;
74
- if ($882b6d93070905b3$var$argv.r || $882b6d93070905b3$var$argv.responsiveVoice) {
75
- let active = $882b6d93070905b3$var$argv.r || $882b6d93070905b3$var$argv.responsiveVoice;
76
- if (typeof active === 'string') $882b6d93070905b3$var$responsiveVoice = active;
77
- else $882b6d93070905b3$var$responsiveVoice = undefined;
64
+ const $aa3bf3164f10b283$var$port = $aa3bf3164f10b283$var$argv.p || $aa3bf3164f10b283$var$argv.port || 3000;
65
+ const $aa3bf3164f10b283$var$hostname = $aa3bf3164f10b283$var$argv.n || $aa3bf3164f10b283$var$argv.hostname || 'localhost';
66
+ const $aa3bf3164f10b283$var$openInBrowser = $aa3bf3164f10b283$var$argv.o || $aa3bf3164f10b283$var$argv.open;
67
+ const $aa3bf3164f10b283$var$input = $aa3bf3164f10b283$var$argv.i || $aa3bf3164f10b283$var$argv.input || '.';
68
+ const $aa3bf3164f10b283$var$liveReload = $aa3bf3164f10b283$var$argv.l || $aa3bf3164f10b283$var$argv.live || false;
69
+ const $aa3bf3164f10b283$var$testOnline = $aa3bf3164f10b283$var$argv.t || $aa3bf3164f10b283$var$argv.test;
70
+ let $aa3bf3164f10b283$var$responsiveVoice;
71
+ if ($aa3bf3164f10b283$var$argv.r || $aa3bf3164f10b283$var$argv.responsiveVoice) {
72
+ let active = $aa3bf3164f10b283$var$argv.r || $aa3bf3164f10b283$var$argv.responsiveVoice;
73
+ if (typeof active === 'string') $aa3bf3164f10b283$var$responsiveVoice = active;
74
+ else $aa3bf3164f10b283$var$responsiveVoice = process.env.RESPONSIVE_VOICE_KEY;
78
75
  }
79
- var $882b6d93070905b3$var$project = {
76
+ var $aa3bf3164f10b283$var$project = {
80
77
  path: null,
81
78
  readme: null
82
79
  };
83
- if ($882b6d93070905b3$var$input) {
84
- const stats = ($parcel$interopDefault($8zHUo$fs)).lstatSync($882b6d93070905b3$var$input);
80
+ if ($aa3bf3164f10b283$var$input) {
81
+ const stats = ($parcel$interopDefault($9KXPr$fs)).lstatSync($aa3bf3164f10b283$var$input);
85
82
  // Is it a directory?
86
- if (stats.isDirectory()) $882b6d93070905b3$var$project.path = $882b6d93070905b3$var$input;
83
+ if (stats.isDirectory()) $aa3bf3164f10b283$var$project.path = $aa3bf3164f10b283$var$input;
87
84
  else if (stats.isFile()) {
88
- $882b6d93070905b3$var$project.path = ($parcel$interopDefault($8zHUo$path)).dirname($882b6d93070905b3$var$input);
89
- $882b6d93070905b3$var$project.readme = ($parcel$interopDefault($8zHUo$path)).basename($882b6d93070905b3$var$input);
85
+ $aa3bf3164f10b283$var$project.path = ($parcel$interopDefault($9KXPr$path)).dirname($aa3bf3164f10b283$var$input);
86
+ $aa3bf3164f10b283$var$project.readme = ($parcel$interopDefault($9KXPr$path)).basename($aa3bf3164f10b283$var$input);
90
87
  }
91
88
  }
92
- $882b6d93070905b3$var$app.set('view engine', 'hbs');
93
- $882b6d93070905b3$var$app.engine('hbs', $8zHUo$expresshandlebars({
94
- layoutsDir: ($parcel$interopDefault($8zHUo$path)).normalize($882b6d93070905b3$var$__dirname + '/../views/layouts'),
89
+ $aa3bf3164f10b283$var$app.set('view engine', 'hbs');
90
+ $aa3bf3164f10b283$var$app.engine('hbs', $9KXPr$expresshandlebars({
91
+ layoutsDir: ($parcel$interopDefault($9KXPr$path)).resolve(__dirname + '/../views/layouts'),
95
92
  defaultLayout: 'main',
96
93
  extname: 'hbs'
97
94
  }));
98
- $882b6d93070905b3$var$app.set('views', ($parcel$interopDefault($8zHUo$path)).normalize($882b6d93070905b3$var$__dirname + '/../views'));
99
- $882b6d93070905b3$var$app.get('/', function(req, res) {
95
+ $aa3bf3164f10b283$var$app.set('views', ($parcel$interopDefault($9KXPr$path)).resolve(__dirname + '/../views'));
96
+ $aa3bf3164f10b283$var$app.get('/', function(req, res) {
100
97
  res.redirect('/home');
101
98
  });
102
- $882b6d93070905b3$var$app.get('/home*', function(req, res) {
103
- const currentPath = $882b6d93070905b3$var$project.path + '/' + req.params[0];
104
- const stats = ($parcel$interopDefault($8zHUo$fs)).lstatSync(currentPath);
99
+ $aa3bf3164f10b283$var$app.get('/home*', function(req, res) {
100
+ const currentPath = $aa3bf3164f10b283$var$project.path + '/' + req.params[0];
101
+ const stats = ($parcel$interopDefault($9KXPr$fs)).lstatSync(currentPath);
105
102
  // Is it a directory?
106
103
  if (stats.isDirectory()) {
107
- const files = ($parcel$interopDefault($8zHUo$fs)).readdirSync(currentPath).filter((e)=>{
104
+ const files = ($parcel$interopDefault($9KXPr$fs)).readdirSync(currentPath).filter((e)=>{
108
105
  return e[0] !== '.';
109
106
  });
110
107
  let basePath = '/home';
@@ -125,8 +122,8 @@ $882b6d93070905b3$var$app.get('/home*', function(req, res) {
125
122
  file: files.map((file)=>{
126
123
  return {
127
124
  name: file,
128
- href: `http://${$882b6d93070905b3$var$hostname}:${$882b6d93070905b3$var$port}/home${req.params[0]}/${file}`,
129
- isDirectory: ($parcel$interopDefault($8zHUo$fs)).lstatSync(currentPath + '/' + file).isDirectory()
125
+ href: `http://${$aa3bf3164f10b283$var$hostname}:${$aa3bf3164f10b283$var$port}/home${req.params[0]}/${file}`,
126
+ isDirectory: ($parcel$interopDefault($9KXPr$fs)).lstatSync(currentPath + '/' + file).isDirectory()
130
127
  };
131
128
  }).sort((a, b)=>{
132
129
  if (a.isDirectory && !b.isDirectory) return -1;
@@ -140,68 +137,68 @@ $882b6d93070905b3$var$app.get('/home*', function(req, res) {
140
137
  });
141
138
  } else if (stats.isFile()) {
142
139
  if (req.params[0].toLocaleLowerCase().endsWith('.md')) {
143
- if ($882b6d93070905b3$var$testOnline) res.redirect(`https://LiaScript.github.io/course/?http://${$882b6d93070905b3$var$hostname}:${$882b6d93070905b3$var$port}/${req.params[0]}`);
144
- else res.redirect(`/liascript/index.html?http://${$882b6d93070905b3$var$hostname}:${$882b6d93070905b3$var$port}/${req.params[0]}`);
140
+ if ($aa3bf3164f10b283$var$testOnline) res.redirect(`https://LiaScript.github.io/course/?http://${$aa3bf3164f10b283$var$hostname}:${$aa3bf3164f10b283$var$port}/${req.params[0]}`);
141
+ else res.redirect(`/liascript/index.html?http://${$aa3bf3164f10b283$var$hostname}:${$aa3bf3164f10b283$var$port}/${req.params[0]}`);
145
142
  } else res.sendFile(req.params[0], {
146
- root: $882b6d93070905b3$var$project.path
143
+ root: $aa3bf3164f10b283$var$project.path
147
144
  });
148
145
  } else res.send('ups, something went wrong');
149
146
  });
150
- $882b6d93070905b3$var$app.get('/liascript/', function(req, res) {
147
+ $aa3bf3164f10b283$var$app.get('/liascript/', function(req, res) {
151
148
  res.redirect('/liascript/index.html');
152
149
  });
153
- $882b6d93070905b3$var$app.get('/liascript/index.html', function(req, res) {
150
+ $aa3bf3164f10b283$var$app.get('/liascript/index.html', function(req, res) {
154
151
  // ------------------------------------
155
- if ($882b6d93070905b3$var$liveReload && $882b6d93070905b3$var$responsiveVoice) ($parcel$interopDefault($8zHUo$fs)).readFile($882b6d93070905b3$var$liascriptPath + '/index.html', 'utf8', function(err, data) {
152
+ if ($aa3bf3164f10b283$var$liveReload && $aa3bf3164f10b283$var$responsiveVoice) ($parcel$interopDefault($9KXPr$fs)).readFile($aa3bf3164f10b283$var$liascriptPath + '/index.html', 'utf8', function(err, data) {
156
153
  res.send(data.replace('</head>', `<script type='text/javascript' src='/reloader/reloader.js'></script>
157
- <script type='text/javascript' src='https://code.responsivevoice.org/responsivevoice.js?key=${$882b6d93070905b3$var$responsiveVoice}'></script>
154
+ <script type='text/javascript' src='https://code.responsivevoice.org/responsivevoice.js?key=${$aa3bf3164f10b283$var$responsiveVoice}'></script>
158
155
  </head>`));
159
156
  });
160
- else if ($882b6d93070905b3$var$liveReload) ($parcel$interopDefault($8zHUo$fs)).readFile($882b6d93070905b3$var$liascriptPath + '/index.html', 'utf8', function(err, data) {
157
+ else if ($aa3bf3164f10b283$var$liveReload) ($parcel$interopDefault($9KXPr$fs)).readFile($aa3bf3164f10b283$var$liascriptPath + '/index.html', 'utf8', function(err, data) {
161
158
  res.send(data.replace('</head>', `<script type='text/javascript' src='/reloader/reloader.js'></script></head>`));
162
159
  });
163
- else if ($882b6d93070905b3$var$responsiveVoice) ($parcel$interopDefault($8zHUo$fs)).readFile($882b6d93070905b3$var$liascriptPath + '/index.html', 'utf8', function(err, data) {
164
- res.send(data.replace('</head>', `<script type='text/javascript' src='https://code.responsivevoice.org/responsivevoice.js?key=${$882b6d93070905b3$var$responsiveVoice}'></script></head>`));
160
+ else if ($aa3bf3164f10b283$var$responsiveVoice) ($parcel$interopDefault($9KXPr$fs)).readFile($aa3bf3164f10b283$var$liascriptPath + '/index.html', 'utf8', function(err, data) {
161
+ res.send(data.replace('</head>', `<script type='text/javascript' src='https://code.responsivevoice.org/responsivevoice.js?key=${$aa3bf3164f10b283$var$responsiveVoice}'></script></head>`));
165
162
  });
166
- else res.sendFile($882b6d93070905b3$var$liascriptPath + '/index.html');
163
+ else res.sendFile($aa3bf3164f10b283$var$liascriptPath + '/index.html');
167
164
  });
168
165
  // load everything from the liascript folder
169
- $882b6d93070905b3$var$app.get('/liascript/*', function(req, res) {
166
+ $aa3bf3164f10b283$var$app.get('/liascript/*', function(req, res) {
170
167
  res.sendFile(req.params[0], {
171
- root: $882b6d93070905b3$var$liascriptPath
168
+ root: $aa3bf3164f10b283$var$liascriptPath
172
169
  });
173
170
  });
174
171
  // ignore this one
175
- $882b6d93070905b3$var$app.get('/sw.js', function(req, res) {});
176
- $882b6d93070905b3$var$app.get('/favicon.ico', function(req, res) {});
172
+ $aa3bf3164f10b283$var$app.get('/sw.js', function(req, res) {});
173
+ $aa3bf3164f10b283$var$app.get('/favicon.ico', function(req, res) {});
177
174
  // pass the reloader, to be used for live updates
178
- $882b6d93070905b3$var$app.get('/reloader/reloader.js', function(req, res) {
179
- res.sendFile($882b6d93070905b3$var$reloadPath);
175
+ $aa3bf3164f10b283$var$app.get('/reloader/reloader.js', function(req, res) {
176
+ res.sendFile($aa3bf3164f10b283$var$reloadPath);
180
177
  });
181
178
  // everything else comes from the current project folder
182
- $882b6d93070905b3$var$app.get('/*', $8zHUo$cors(), function(req, res) {
179
+ $aa3bf3164f10b283$var$app.get('/*', $9KXPr$cors(), function(req, res) {
183
180
  res.sendFile(req.originalUrl, {
184
- root: $882b6d93070905b3$var$project.path
181
+ root: $aa3bf3164f10b283$var$project.path
185
182
  });
186
183
  });
187
- let $882b6d93070905b3$var$localURL = 'http://' + $882b6d93070905b3$var$hostname + ':' + $882b6d93070905b3$var$port;
188
- if ($882b6d93070905b3$var$project.path && $882b6d93070905b3$var$project.readme) $882b6d93070905b3$var$localURL += '/liascript/index.html?http://' + $882b6d93070905b3$var$hostname + ':' + $882b6d93070905b3$var$port + '/' + $882b6d93070905b3$var$project.readme;
189
- if ($882b6d93070905b3$var$testOnline && $882b6d93070905b3$var$project.readme) $882b6d93070905b3$var$localURL = 'https://LiaScript.github.io/course/?http://' + $882b6d93070905b3$var$hostname + ':' + $882b6d93070905b3$var$port + '/' + $882b6d93070905b3$var$project.readme;
190
- $882b6d93070905b3$var$liascript();
184
+ let $aa3bf3164f10b283$var$localURL = 'http://' + $aa3bf3164f10b283$var$hostname + ':' + $aa3bf3164f10b283$var$port;
185
+ if ($aa3bf3164f10b283$var$project.path && $aa3bf3164f10b283$var$project.readme) $aa3bf3164f10b283$var$localURL += '/liascript/index.html?http://' + $aa3bf3164f10b283$var$hostname + ':' + $aa3bf3164f10b283$var$port + '/' + $aa3bf3164f10b283$var$project.readme;
186
+ if ($aa3bf3164f10b283$var$testOnline && $aa3bf3164f10b283$var$project.readme) $aa3bf3164f10b283$var$localURL = 'https://LiaScript.github.io/course/?http://' + $aa3bf3164f10b283$var$hostname + ':' + $aa3bf3164f10b283$var$port + '/' + $aa3bf3164f10b283$var$project.readme;
187
+ $aa3bf3164f10b283$var$liascript();
191
188
 
192
- const $882b6d93070905b3$var$server = $8zHUo$reloadshjs($882b6d93070905b3$var$app, $882b6d93070905b3$var$liveReload ? [
193
- ($parcel$interopDefault($8zHUo$path)).join($882b6d93070905b3$var$project.path, $882b6d93070905b3$var$project.readme || '')
189
+ const $aa3bf3164f10b283$var$server = $9KXPr$reloadshjs($aa3bf3164f10b283$var$app, $aa3bf3164f10b283$var$liveReload ? [
190
+ ($parcel$interopDefault($9KXPr$path)).join($aa3bf3164f10b283$var$project.path, $aa3bf3164f10b283$var$project.readme || '')
194
191
  ] : []);
195
- if ($882b6d93070905b3$var$liveReload) console.log(`✨ watching for changes on: "${($parcel$interopDefault($8zHUo$path)).join($882b6d93070905b3$var$project.path, $882b6d93070905b3$var$project.readme || '')}"`);
196
- $882b6d93070905b3$var$server.on('error', (e)=>{
192
+ if ($aa3bf3164f10b283$var$liveReload) console.log(`✨ watching for changes on: "${($parcel$interopDefault($9KXPr$path)).join($aa3bf3164f10b283$var$project.path, $aa3bf3164f10b283$var$project.readme || '')}"`);
193
+ $aa3bf3164f10b283$var$server.on('error', (e)=>{
197
194
  console.error('🚨 error =>', e.message);
198
- $8zHUo$process.exit();
195
+ process.exit();
199
196
  });
200
- $882b6d93070905b3$var$server.listen($882b6d93070905b3$var$port);
201
- if ($882b6d93070905b3$var$openInBrowser) ($parcel$interopDefault($8zHUo$open))($882b6d93070905b3$var$localURL);
197
+ $aa3bf3164f10b283$var$server.listen($aa3bf3164f10b283$var$port);
198
+ if ($aa3bf3164f10b283$var$openInBrowser) ($parcel$interopDefault($9KXPr$open))($aa3bf3164f10b283$var$localURL);
202
199
  console.log('📡 starting server');
203
- console.log(` - local: ${$882b6d93070905b3$var$localURL}`);
204
- console.log(` - on your network: ${$882b6d93070905b3$var$localURL.replace($882b6d93070905b3$var$localURL, $8zHUo$ip.address())}`);
200
+ console.log(` - local: ${$aa3bf3164f10b283$var$localURL}`);
201
+ console.log(` - on your network: ${$aa3bf3164f10b283$var$localURL.replace($aa3bf3164f10b283$var$localURL, $9KXPr$ip.address())}`);
205
202
  console.log('✨ hit Ctrl-c to close the server');
206
203
 
207
204
 
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"mappings":"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","sources":["src/index.ts"],"sourcesContent":["require('dotenv').config()\nimport express from 'express'\nconst app = express()\nimport doOpen from 'open'\nimport fs from 'fs'\nimport path from 'path'\nconst cors = require('cors')\nconst handlebars = require('express-handlebars')\n\nconst argv = require('minimist')(process.argv.slice(2))\nconst ip = require('ip')\n\nconst liascriptPath = path.resolve(\n path.join(process.env.PWD, 'node_modules/@liascript/editor/dist')\n)\n\nconst reloadPath = path.resolve(\n path.join(process.env.PWD, 'node_modules/reloadsh.js/reloader.browser.js')\n)\n\nfunction liascript() {\n console.log(' _ _ ____ _ _')\n console.log('| | (_) __ _/ ___| ___ _ __(_)_ __ | |_')\n console.log(\"| | | |/ _` \\\\___ \\\\ / __| '__| | '_ \\\\| __|\")\n console.log('| |___| | (_| |___) | (__| | | | |_) | |_ ')\n console.log('|_____|_|\\\\__,_|____/ \\\\___|_| |_| .__/ \\\\__|')\n console.log(' |_|')\n console.log()\n}\n\nif (argv.v || argv.version) {\n console.log('DevServer: 1.0.5')\n console.log('LiaScript: 0.10.7')\n process.exit()\n}\n\nif (argv.h || argv.help) {\n liascript()\n\n console.log('-h --help show this help')\n console.log('-v --version show version information')\n console.log('-i --input input README.md file or folder (default: .)')\n console.log('-n --hostname hostname of your server (default: localhost)')\n console.log('-p --port used port number (default: 3000)')\n console.log('-l --live do live reload on file change')\n console.log('-o --open open in default browser')\n console.log('-t --test test online on https://LiaScript.github.io')\n console.log()\n console.log('-r --responsiveVoice add optional responsiveVoice support,')\n console.log(' or pass your own responsiveVoice key.')\n console.log(' Adding this feature might slow down')\n console.log(' the reloading speed.')\n console.log(' For more information visit:')\n console.log(' https://responsivevoice.org')\n\n process.exit()\n}\n\nconst port = argv.p || argv.port || 3000\nconst hostname = argv.n || argv.hostname || 'localhost'\nconst openInBrowser = argv.o || argv.open\nconst input = argv.i || argv.input || '.'\nconst liveReload = argv.l || argv.live || false\nconst testOnline = argv.t || argv.test\n\nlet responsiveVoice: string | undefined\n\nif (argv.r || argv.responsiveVoice) {\n let active = argv.r || argv.responsiveVoice\n\n if (typeof active === 'string') {\n responsiveVoice = active\n } else {\n responsiveVoice = process.env.RESPONSIVE_VOICE_KEY\n }\n}\n\nvar project = {\n path: null,\n readme: null,\n}\n\nif (input) {\n const stats = fs.lstatSync(input)\n\n // Is it a directory?\n if (stats.isDirectory()) {\n project.path = input\n } else if (stats.isFile()) {\n project.path = path.dirname(input)\n project.readme = path.basename(input)\n }\n}\n\napp.set('view engine', 'hbs')\napp.engine(\n 'hbs',\n handlebars({\n layoutsDir: path.normalize(__dirname + '/../views/layouts'),\n defaultLayout: 'main',\n extname: 'hbs',\n })\n)\napp.set('views', path.normalize(__dirname + '/../views'))\n\napp.get('/', function (req, res) {\n res.redirect('/home')\n})\n\napp.get('/home*', function (req, res) {\n const currentPath = project.path + '/' + req.params[0]\n\n const stats = fs.lstatSync(currentPath)\n\n // Is it a directory?\n if (stats.isDirectory()) {\n const files = fs.readdirSync(currentPath).filter((e) => {\n return e[0] !== '.'\n })\n\n let basePath = '/home'\n let pathNames = req.params[0].split('/').filter((e) => {\n return e !== ''\n })\n\n let paths: { name: string; href: string }[] = []\n for (let i = 0; i < pathNames.length; i++) {\n basePath += '/' + pathNames[i]\n paths.push({ name: pathNames[i], href: basePath })\n }\n\n res.render('main', {\n layout: 'index',\n path: paths,\n file: files\n .map((file) => {\n return {\n name: file,\n href: `http://${hostname}:${port}/home${req.params[0]}/${file}`,\n isDirectory: fs.lstatSync(currentPath + '/' + file).isDirectory(),\n }\n })\n .sort((a, b) => {\n if (a.isDirectory && !b.isDirectory) {\n return -1\n } else if (!a.isDirectory && b.isDirectory) {\n return 1\n } else {\n if (a.name.toLocaleLowerCase() < b.name.toLocaleLowerCase()) {\n return -1\n } else {\n return 1\n }\n }\n return 0\n }),\n })\n } else if (stats.isFile()) {\n if (req.params[0].toLocaleLowerCase().endsWith('.md')) {\n if (testOnline) {\n res.redirect(\n `https://LiaScript.github.io/course/?http://${hostname}:${port}/${req.params[0]}`\n )\n } else {\n res.redirect(\n `/liascript/index.html?http://${hostname}:${port}/${req.params[0]}`\n )\n }\n } else {\n res.sendFile(req.params[0], { root: project.path })\n }\n } else {\n res.send('ups, something went wrong')\n }\n})\n\napp.get('/liascript/', function (req, res) {\n res.redirect('/liascript/index.html')\n})\n\napp.get('/liascript/index.html', function (req, res) {\n // ------------------------------------\n if (liveReload && responsiveVoice) {\n fs.readFile(liascriptPath + '/index.html', 'utf8', function (err, data) {\n res.send(\n data.replace(\n '</head>',\n `<script type='text/javascript' src='/reloader/reloader.js'></script>\n <script type='text/javascript' src='https://code.responsivevoice.org/responsivevoice.js?key=${responsiveVoice}'></script>\n </head>`\n )\n )\n })\n }\n // ------------------------------------\n else if (liveReload) {\n fs.readFile(liascriptPath + '/index.html', 'utf8', function (err, data) {\n res.send(\n data.replace(\n '</head>',\n `<script type='text/javascript' src='/reloader/reloader.js'></script></head>`\n )\n )\n })\n }\n // ------------------------------------\n else if (responsiveVoice) {\n fs.readFile(liascriptPath + '/index.html', 'utf8', function (err, data) {\n res.send(\n data.replace(\n '</head>',\n `<script type='text/javascript' src='https://code.responsivevoice.org/responsivevoice.js?key=${responsiveVoice}'></script></head>`\n )\n )\n })\n }\n // ------------------------------------\n else {\n res.sendFile(liascriptPath + '/index.html')\n }\n})\n\n// load everything from the liascript folder\napp.get('/liascript/*', function (req, res) {\n res.sendFile(req.params[0], { root: liascriptPath })\n})\n// ignore this one\napp.get('/sw.js', function (req, res) {})\napp.get('/favicon.ico', function (req, res) {})\n\n// pass the reloader, to be used for live updates\napp.get('/reloader/reloader.js', function (req, res) {\n res.sendFile(reloadPath)\n})\n\n// everything else comes from the current project folder\napp.get('/*', cors(), function (req, res) {\n res.sendFile(req.originalUrl, { root: project.path })\n})\n\nlet localURL = 'http://' + hostname + ':' + port\n\nif (project.path && project.readme) {\n localURL +=\n '/liascript/index.html?http://' +\n hostname +\n ':' +\n port +\n '/' +\n project.readme\n}\n\nif (testOnline && project.readme) {\n localURL =\n 'https://LiaScript.github.io/course/?http://' +\n hostname +\n ':' +\n port +\n '/' +\n project.readme\n}\n\nliascript()\nconst server = require('reloadsh.js')(\n app,\n liveReload ? [path.join(project.path, project.readme || '')] : []\n)\n\nif (liveReload) {\n console.log(\n `✨ watching for changes on: \"${path.join(\n project.path,\n project.readme || ''\n )}\"`\n )\n}\n\nserver.on('error', (e: any) => {\n console.error('🚨 error =>', e.message)\n process.exit()\n})\n\nserver.listen(port)\n\nif (openInBrowser) {\n doOpen(localURL)\n}\n\nconsole.log('📡 starting server')\nconsole.log(` - local: ${localURL}`)\nconsole.log(` - on your network: ${localURL.replace(localURL, ip.address())}`)\nconsole.log('✨ hit Ctrl-c to close the server')\n"],"names":[],"version":3,"file":"index.js.map"}
1
+ {"mappings":"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","sources":["src/index.ts"],"sourcesContent":["require('dotenv').config()\nimport express from 'express'\nconst app = express()\nimport doOpen from 'open'\nimport fs from 'fs'\nimport path from 'path'\nconst cors = require('cors')\nconst handlebars = require('express-handlebars')\n\nconst argv = require('minimist')(process.argv.slice(2))\nconst ip = require('ip')\n\nconst liascriptPath = path.resolve(\n path.join(__dirname, '../node_modules/@liascript/editor/dist')\n)\n\nconst reloadPath = path.resolve(\n path.join(__dirname, '../node_modules/reloadsh.js/reloader.browser.js')\n)\n\nfunction liascript() {\n console.log(' _ _ ____ _ _')\n console.log('| | (_) __ _/ ___| ___ _ __(_)_ __ | |_')\n console.log(\"| | | |/ _` \\\\___ \\\\ / __| '__| | '_ \\\\| __|\")\n console.log('| |___| | (_| |___) | (__| | | | |_) | |_ ')\n console.log('|_____|_|\\\\__,_|____/ \\\\___|_| |_| .__/ \\\\__|')\n console.log(' |_|')\n console.log()\n}\n\nif (argv.v || argv.version) {\n console.log('DevServer: 1.0.8')\n console.log('LiaScript: 0.10.8')\n process.exit()\n}\n\nif (argv.h || argv.help) {\n liascript()\n\n console.log('-h --help show this help')\n console.log('-v --version show version information')\n console.log('-i --input input README.md file or folder (default: .)')\n console.log('-n --hostname hostname of your server (default: localhost)')\n console.log('-p --port used port number (default: 3000)')\n console.log('-l --live do live reload on file change')\n console.log('-o --open open in default browser')\n console.log('-t --test test online on https://LiaScript.github.io')\n console.log()\n console.log('-r --responsiveVoice add optional responsiveVoice support,')\n console.log(' or pass your own responsiveVoice key.')\n console.log(' Adding this feature might slow down')\n console.log(' the reloading speed.')\n console.log(' For more information visit:')\n console.log(' https://responsivevoice.org')\n\n process.exit()\n}\n\nconst port = argv.p || argv.port || 3000\nconst hostname = argv.n || argv.hostname || 'localhost'\nconst openInBrowser = argv.o || argv.open\nconst input = argv.i || argv.input || '.'\nconst liveReload = argv.l || argv.live || false\nconst testOnline = argv.t || argv.test\n\nlet responsiveVoice: string | undefined\n\nif (argv.r || argv.responsiveVoice) {\n let active = argv.r || argv.responsiveVoice\n\n if (typeof active === 'string') {\n responsiveVoice = active\n } else {\n responsiveVoice = process.env.RESPONSIVE_VOICE_KEY\n }\n}\n\nvar project = {\n path: null,\n readme: null,\n}\n\nif (input) {\n const stats = fs.lstatSync(input)\n\n // Is it a directory?\n if (stats.isDirectory()) {\n project.path = input\n } else if (stats.isFile()) {\n project.path = path.dirname(input)\n project.readme = path.basename(input)\n }\n}\n\napp.set('view engine', 'hbs')\napp.engine(\n 'hbs',\n handlebars({\n layoutsDir: path.resolve(__dirname + '/../views/layouts'),\n defaultLayout: 'main',\n extname: 'hbs',\n })\n)\napp.set('views', path.resolve(__dirname + '/../views'))\n\napp.get('/', function (req, res) {\n res.redirect('/home')\n})\n\napp.get('/home*', function (req, res) {\n const currentPath = project.path + '/' + req.params[0]\n\n const stats = fs.lstatSync(currentPath)\n\n // Is it a directory?\n if (stats.isDirectory()) {\n const files = fs.readdirSync(currentPath).filter((e) => {\n return e[0] !== '.'\n })\n\n let basePath = '/home'\n let pathNames = req.params[0].split('/').filter((e) => {\n return e !== ''\n })\n\n let paths: { name: string; href: string }[] = []\n for (let i = 0; i < pathNames.length; i++) {\n basePath += '/' + pathNames[i]\n paths.push({ name: pathNames[i], href: basePath })\n }\n\n res.render('main', {\n layout: 'index',\n path: paths,\n file: files\n .map((file) => {\n return {\n name: file,\n href: `http://${hostname}:${port}/home${req.params[0]}/${file}`,\n isDirectory: fs.lstatSync(currentPath + '/' + file).isDirectory(),\n }\n })\n .sort((a, b) => {\n if (a.isDirectory && !b.isDirectory) {\n return -1\n } else if (!a.isDirectory && b.isDirectory) {\n return 1\n } else {\n if (a.name.toLocaleLowerCase() < b.name.toLocaleLowerCase()) {\n return -1\n } else {\n return 1\n }\n }\n return 0\n }),\n })\n } else if (stats.isFile()) {\n if (req.params[0].toLocaleLowerCase().endsWith('.md')) {\n if (testOnline) {\n res.redirect(\n `https://LiaScript.github.io/course/?http://${hostname}:${port}/${req.params[0]}`\n )\n } else {\n res.redirect(\n `/liascript/index.html?http://${hostname}:${port}/${req.params[0]}`\n )\n }\n } else {\n res.sendFile(req.params[0], { root: project.path })\n }\n } else {\n res.send('ups, something went wrong')\n }\n})\n\napp.get('/liascript/', function (req, res) {\n res.redirect('/liascript/index.html')\n})\n\napp.get('/liascript/index.html', function (req, res) {\n // ------------------------------------\n if (liveReload && responsiveVoice) {\n fs.readFile(liascriptPath + '/index.html', 'utf8', function (err, data) {\n res.send(\n data.replace(\n '</head>',\n `<script type='text/javascript' src='/reloader/reloader.js'></script>\n <script type='text/javascript' src='https://code.responsivevoice.org/responsivevoice.js?key=${responsiveVoice}'></script>\n </head>`\n )\n )\n })\n }\n // ------------------------------------\n else if (liveReload) {\n fs.readFile(liascriptPath + '/index.html', 'utf8', function (err, data) {\n res.send(\n data.replace(\n '</head>',\n `<script type='text/javascript' src='/reloader/reloader.js'></script></head>`\n )\n )\n })\n }\n // ------------------------------------\n else if (responsiveVoice) {\n fs.readFile(liascriptPath + '/index.html', 'utf8', function (err, data) {\n res.send(\n data.replace(\n '</head>',\n `<script type='text/javascript' src='https://code.responsivevoice.org/responsivevoice.js?key=${responsiveVoice}'></script></head>`\n )\n )\n })\n }\n // ------------------------------------\n else {\n res.sendFile(liascriptPath + '/index.html')\n }\n})\n\n// load everything from the liascript folder\napp.get('/liascript/*', function (req, res) {\n res.sendFile(req.params[0], { root: liascriptPath })\n})\n// ignore this one\napp.get('/sw.js', function (req, res) {})\napp.get('/favicon.ico', function (req, res) {})\n\n// pass the reloader, to be used for live updates\napp.get('/reloader/reloader.js', function (req, res) {\n res.sendFile(reloadPath)\n})\n\n// everything else comes from the current project folder\napp.get('/*', cors(), function (req, res) {\n res.sendFile(req.originalUrl, { root: project.path })\n})\n\nlet localURL = 'http://' + hostname + ':' + port\n\nif (project.path && project.readme) {\n localURL +=\n '/liascript/index.html?http://' +\n hostname +\n ':' +\n port +\n '/' +\n project.readme\n}\n\nif (testOnline && project.readme) {\n localURL =\n 'https://LiaScript.github.io/course/?http://' +\n hostname +\n ':' +\n port +\n '/' +\n project.readme\n}\n\nliascript()\nconst server = require('reloadsh.js')(\n app,\n liveReload ? [path.join(project.path, project.readme || '')] : []\n)\n\nif (liveReload) {\n console.log(\n `✨ watching for changes on: \"${path.join(\n project.path,\n project.readme || ''\n )}\"`\n )\n}\n\nserver.on('error', (e: any) => {\n console.error('🚨 error =>', e.message)\n process.exit()\n})\n\nserver.listen(port)\n\nif (openInBrowser) {\n doOpen(localURL)\n}\n\nconsole.log('📡 starting server')\nconsole.log(` - local: ${localURL}`)\nconsole.log(` - on your network: ${localURL.replace(localURL, ip.address())}`)\nconsole.log('✨ hit Ctrl-c to close the server')\n"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@liascript/devserver",
3
- "version": "1.0.5--0.10.8",
3
+ "version": "1.0.8--0.10.8",
4
4
  "description": "Run a development server for LiaScript locally",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -45,5 +45,8 @@
45
45
  "@types/express": "^4.17.11",
46
46
  "parcel": "^2.4.1",
47
47
  "typescript": "^4.6.3"
48
+ },
49
+ "engines": {
50
+ "node": "14"
48
51
  }
49
52
  }
package/views/main.hbs CHANGED
@@ -7,7 +7,7 @@
7
7
  | |___| | (_| |___) | (__| | | | |_) | |_
8
8
  |_____|_|\__,_|____/ \___|_| |_| .__/ \__|
9
9
  |_|
10
- [ DevServer: 1.0.5--0.10.8 ]
10
+ [ DevServer: 1.0.8--0.10.8 ]
11
11
  </pre>
12
12
  </code>
13
13
  </h4>