whet 0.0.8 → 0.0.9
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/bin/whet/Project.js +21 -10
- package/bin/whet/Source.d.ts +8 -1
- package/bin/whet/Source.js +26 -11
- package/bin/whet/SourceId.d.ts +1 -0
- package/bin/whet/SourceId.js +46 -20
- package/bin/whet/Stone.js +16 -8
- package/bin/whet/Whet.js +1 -1
- package/bin/whet/cache/BaseCache.js +16 -8
- package/bin/whet/cache/CacheManager.js +29 -13
- package/bin/whet/cache/FileCache.js +64 -29
- package/bin/whet/magic/RoutePathType.js +7 -4
- package/bin/whet/magic/RouteType.js +29 -13
- package/bin/whet/route/Route.js +27 -7
- package/bin/whet/route/Router.js +34 -17
- package/bin/whet/stones/Files.d.ts +7 -2
- package/bin/whet/stones/Files.js +54 -59
- package/bin/whet/stones/JsonStone.js +7 -4
- package/bin/whet/stones/RemoteFile.js +7 -4
- package/bin/whet/stones/Server.js +36 -12
- package/bin/whet/stones/Zip.js +14 -7
- package/bin/whet/stones/haxe/HaxeBuild.js +15 -7
- package/bin/whet/stones/haxe/Hxml.js +43 -19
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@ import {RouteResult} from "../route/RouteResult.js"
|
|
|
3
3
|
import {Route} from "../route/Route.js"
|
|
4
4
|
import {MaybeArray_Fields_} from "./MaybeArray.js"
|
|
5
5
|
import {Stone} from "../Stone.js"
|
|
6
|
-
import {
|
|
6
|
+
import {SourceId} from "../SourceId.js"
|
|
7
7
|
import * as Path from "path"
|
|
8
8
|
import {Register} from "../../genes/Register.js"
|
|
9
9
|
import {StringTools} from "../../StringTools.js"
|
|
@@ -35,9 +35,13 @@ class RouteType_Fields_ {
|
|
|
35
35
|
};
|
|
36
36
|
var tinner1 = tinner[0];
|
|
37
37
|
var s = tinner[1];
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
|
|
39
|
+
if (str.length > 0) {
|
|
40
|
+
str = Path.posix.normalize(str);
|
|
41
|
+
str = StringTools.replace(str, "\\", "/");
|
|
42
|
+
};
|
|
43
|
+
s = str;
|
|
44
|
+
_g.push(RouteType_Fields_.getRoute(tinner1, (HxOverrides.cca(s, 0) == 47) ? s : "/" + s));
|
|
41
45
|
};
|
|
42
46
|
};
|
|
43
47
|
return _g;
|
|
@@ -50,13 +54,21 @@ class RouteType_Fields_ {
|
|
|
50
54
|
tmp1 = path;
|
|
51
55
|
} else {
|
|
52
56
|
var s = t;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
57
|
+
var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
|
|
58
|
+
if (str.length > 0) {
|
|
59
|
+
str = Path.posix.normalize(str);
|
|
60
|
+
str = StringTools.replace(str, "\\", "/");
|
|
61
|
+
};
|
|
62
|
+
s = str;
|
|
63
|
+
var p = (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
|
|
56
64
|
var s = p.substring(0, p.lastIndexOf("/") + 1);
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
65
|
+
var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
|
|
66
|
+
if (str.length > 0) {
|
|
67
|
+
str = Path.posix.normalize(str);
|
|
68
|
+
str = StringTools.replace(str, "\\", "/");
|
|
69
|
+
};
|
|
70
|
+
s = str;
|
|
71
|
+
tmp1 = SourceId.relativeTo(p, (HxOverrides.cca(s, 0) == 47) ? s : "/" + s);
|
|
60
72
|
};
|
|
61
73
|
return {"stone": tmp, "path": tmp1};
|
|
62
74
|
} else if (((t) instanceof Stone)) {
|
|
@@ -65,9 +77,13 @@ class RouteType_Fields_ {
|
|
|
65
77
|
tmp = path;
|
|
66
78
|
} else {
|
|
67
79
|
var s = "/";
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
80
|
+
var str = ("/".length > 1 && HxOverrides.cca("/", 0) == 47) ? "/".substring(1) : "/";
|
|
81
|
+
if (str.length > 0) {
|
|
82
|
+
str = Path.posix.normalize(str);
|
|
83
|
+
str = StringTools.replace(str, "\\", "/");
|
|
84
|
+
};
|
|
85
|
+
s = str;
|
|
86
|
+
tmp = (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
|
|
71
87
|
};
|
|
72
88
|
return {"stone": t, "path": tmp};
|
|
73
89
|
} else if (((t) instanceof RouteResult)) {
|
package/bin/whet/route/Route.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {RouteResult} from "./RouteResult.js"
|
|
2
2
|
import {RouteType_Fields_} from "../magic/RouteType.js"
|
|
3
|
-
import {
|
|
3
|
+
import {SourceId} from "../SourceId.js"
|
|
4
4
|
import {SourceHash} from "../SourceHash.js"
|
|
5
5
|
import * as Path from "path"
|
|
6
6
|
import {Register} from "../../genes/Register.js"
|
|
@@ -43,13 +43,29 @@ class Route extends Register.inherits() {
|
|
|
43
43
|
_g.push(r[0].stone.list().then((function (r) {
|
|
44
44
|
return function (list) {
|
|
45
45
|
var arr = [];
|
|
46
|
-
|
|
46
|
+
var this1 = r[0].path;
|
|
47
|
+
if (HxOverrides.cca(this1, this1.length - 1) == 47) {
|
|
47
48
|
var _g = 0;
|
|
48
49
|
while (_g < list.length) {
|
|
49
50
|
var path = list[_g];
|
|
50
51
|
++_g;
|
|
51
|
-
var
|
|
52
|
-
|
|
52
|
+
var directory = r[0].path;
|
|
53
|
+
if (HxOverrides.cca(directory, directory.length - 1) != 47) {
|
|
54
|
+
throw new Error("\"" + directory + "\" is not a directory.");
|
|
55
|
+
};
|
|
56
|
+
var tmp;
|
|
57
|
+
var s = path.substring(0, path.lastIndexOf("/") + 1);
|
|
58
|
+
var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
|
|
59
|
+
if (str.length > 0) {
|
|
60
|
+
str = Path.posix.normalize(str);
|
|
61
|
+
str = StringTools.replace(str, "\\", "/");
|
|
62
|
+
};
|
|
63
|
+
s = str;
|
|
64
|
+
tmp = ((HxOverrides.cca(s, 0) == 47) ? s : "/" + s).indexOf(directory) == 0;
|
|
65
|
+
if (tmp) {
|
|
66
|
+
var _g1 = r[0].stone;
|
|
67
|
+
arr.push(new RouteResult(SourceId.relativeTo(path, r[0].path), path, _g1));
|
|
68
|
+
};
|
|
53
69
|
};
|
|
54
70
|
} else {
|
|
55
71
|
var _g = 0;
|
|
@@ -59,9 +75,13 @@ class Route extends Register.inherits() {
|
|
|
59
75
|
if (path == r[0].path) {
|
|
60
76
|
var _g1 = r[0].stone;
|
|
61
77
|
var s = path.substring(path.lastIndexOf("/"));
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
78
|
+
var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
|
|
79
|
+
if (str.length > 0) {
|
|
80
|
+
str = Path.posix.normalize(str);
|
|
81
|
+
str = StringTools.replace(str, "\\", "/");
|
|
82
|
+
};
|
|
83
|
+
s = str;
|
|
84
|
+
arr.push(new RouteResult((HxOverrides.cca(s, 0) == 47) ? s : "/" + s, path, _g1));
|
|
65
85
|
};
|
|
66
86
|
};
|
|
67
87
|
};
|
package/bin/whet/route/Router.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {RoutePathType_Fields_} from "../magic/RoutePathType.js"
|
|
2
2
|
import {Utils} from "../Utils.js"
|
|
3
|
-
import {
|
|
3
|
+
import {SourceId} from "../SourceId.js"
|
|
4
4
|
import {SourceHash} from "../SourceHash.js"
|
|
5
5
|
import * as Path from "path"
|
|
6
6
|
import {Register} from "../../genes/Register.js"
|
|
@@ -27,12 +27,16 @@ class Router extends Register.inherits() {
|
|
|
27
27
|
find(id, firstOnly) {
|
|
28
28
|
var _gthis = this;
|
|
29
29
|
var s = id;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
var str = (id.length > 1 && HxOverrides.cca(id, 0) == 47) ? id.substring(1) : id;
|
|
31
|
+
if (str.length > 0) {
|
|
32
|
+
str = Path.posix.normalize(str);
|
|
33
|
+
str = StringTools.replace(str, "\\", "/");
|
|
34
|
+
};
|
|
35
|
+
s = str;
|
|
36
|
+
var sourceId = (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
|
|
33
37
|
return new Promise(function (res, rej) {
|
|
34
38
|
if (firstOnly == null) {
|
|
35
|
-
firstOnly =
|
|
39
|
+
firstOnly = HxOverrides.cca(sourceId, sourceId.length - 1) != 47;
|
|
36
40
|
};
|
|
37
41
|
var result = [];
|
|
38
42
|
var _g = [];
|
|
@@ -43,13 +47,14 @@ class Router extends Register.inherits() {
|
|
|
43
47
|
++_g1;
|
|
44
48
|
_g.push(path[0].route.list().then((function (path) {
|
|
45
49
|
return function (list) {
|
|
46
|
-
|
|
50
|
+
var this1 = path[0].routeUnder;
|
|
51
|
+
if (HxOverrides.cca(this1, this1.length - 1) == 47) {
|
|
47
52
|
var _g = 0;
|
|
48
53
|
while (_g < list.length) {
|
|
49
54
|
var item = list[_g];
|
|
50
55
|
++_g;
|
|
51
56
|
item.serveId = SourceId.getPutInDir(item.serveId, path[0].routeUnder);
|
|
52
|
-
if (
|
|
57
|
+
if (HxOverrides.cca(sourceId, sourceId.length - 1) == 47) {
|
|
53
58
|
var rel = SourceId.relativeTo(item.serveId, sourceId);
|
|
54
59
|
if (rel != null) {
|
|
55
60
|
item.serveId = rel;
|
|
@@ -57,9 +62,13 @@ class Router extends Register.inherits() {
|
|
|
57
62
|
};
|
|
58
63
|
} else if (sourceId == item.serveId) {
|
|
59
64
|
var s = sourceId.substring(sourceId.lastIndexOf("/"));
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
65
|
+
var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
|
|
66
|
+
if (str.length > 0) {
|
|
67
|
+
str = Path.posix.normalize(str);
|
|
68
|
+
str = StringTools.replace(str, "\\", "/");
|
|
69
|
+
};
|
|
70
|
+
s = str;
|
|
71
|
+
item.serveId = (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
|
|
63
72
|
result.push(item);
|
|
64
73
|
};
|
|
65
74
|
};
|
|
@@ -69,7 +78,7 @@ class Router extends Register.inherits() {
|
|
|
69
78
|
var item = list[_g];
|
|
70
79
|
++_g;
|
|
71
80
|
item.serveId = path[0].routeUnder;
|
|
72
|
-
if (
|
|
81
|
+
if (HxOverrides.cca(sourceId, sourceId.length - 1) == 47) {
|
|
73
82
|
var rel = SourceId.relativeTo(item.serveId, sourceId);
|
|
74
83
|
if (rel != null) {
|
|
75
84
|
item.serveId = rel;
|
|
@@ -77,9 +86,13 @@ class Router extends Register.inherits() {
|
|
|
77
86
|
};
|
|
78
87
|
} else if (sourceId == item.serveId) {
|
|
79
88
|
var s = sourceId.substring(sourceId.lastIndexOf("/"));
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
89
|
+
var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
|
|
90
|
+
if (str.length > 0) {
|
|
91
|
+
str = Path.posix.normalize(str);
|
|
92
|
+
str = StringTools.replace(str, "\\", "/");
|
|
93
|
+
};
|
|
94
|
+
s = str;
|
|
95
|
+
item.serveId = (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
|
|
83
96
|
result.push(item);
|
|
84
97
|
};
|
|
85
98
|
};
|
|
@@ -165,9 +178,13 @@ class Router extends Register.inherits() {
|
|
|
165
178
|
var saveInto1 = saveInto;
|
|
166
179
|
var this1 = r.serveId;
|
|
167
180
|
var s = "/";
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
181
|
+
var str = ("/".length > 1 && HxOverrides.cca("/", 0) == 47) ? "/".substring(1) : "/";
|
|
182
|
+
if (str.length > 0) {
|
|
183
|
+
str = Path.posix.normalize(str);
|
|
184
|
+
str = StringTools.replace(str, "\\", "/");
|
|
185
|
+
};
|
|
186
|
+
s = str;
|
|
187
|
+
var root = (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
|
|
171
188
|
if (this1.charAt(0) != "/") {
|
|
172
189
|
throw new Error("Badly formed SourceId.");
|
|
173
190
|
};
|
|
@@ -8,6 +8,7 @@ import {Project} from "../Project"
|
|
|
8
8
|
|
|
9
9
|
export declare class Files extends Stone<FilesConfig> {
|
|
10
10
|
constructor(config: FilesConfig)
|
|
11
|
+
protected initConfig(): void
|
|
11
12
|
protected generate(hash: SourceHash): Promise<SourceData[]>
|
|
12
13
|
}
|
|
13
14
|
|
|
@@ -18,11 +19,15 @@ export type FilesConfig = {
|
|
|
18
19
|
*/
|
|
19
20
|
id?: null | StoneIdType,
|
|
20
21
|
/**
|
|
21
|
-
Can be either a file, or a directory
|
|
22
|
+
Can be either a file, or a directory.
|
|
22
23
|
*/
|
|
23
24
|
paths: MaybeArray<string>,
|
|
24
25
|
/**
|
|
25
26
|
Defaults to the last instanced project.
|
|
26
27
|
*/
|
|
27
|
-
project?: null | Project
|
|
28
|
+
project?: null | Project,
|
|
29
|
+
/**
|
|
30
|
+
Whether to recurse directories. Defaults to `true`.
|
|
31
|
+
*/
|
|
32
|
+
recursive?: null | boolean
|
|
28
33
|
}
|
package/bin/whet/stones/Files.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {MaybeArray_Fields_} from "../magic/MaybeArray.js"
|
|
2
|
+
import {Utils} from "../Utils.js"
|
|
2
3
|
import {Stone} from "../Stone.js"
|
|
3
4
|
import {SourceId_Fields_, RootDir, SourceId} from "../SourceId.js"
|
|
4
5
|
import {SourceData} from "../Source.js"
|
|
5
6
|
import * as Path from "path"
|
|
6
7
|
import {Register} from "../../genes/Register.js"
|
|
7
|
-
import * as Fs from "fs"
|
|
8
8
|
import {StringTools} from "../../StringTools.js"
|
|
9
9
|
import {HxOverrides} from "../../HxOverrides.js"
|
|
10
10
|
|
|
@@ -15,72 +15,67 @@ class Files extends Register.inherits(Stone) {
|
|
|
15
15
|
new(config) {
|
|
16
16
|
super.new(config);
|
|
17
17
|
}
|
|
18
|
+
initConfig() {
|
|
19
|
+
this.config.recursive = true;
|
|
20
|
+
}
|
|
18
21
|
generate(hash) {
|
|
19
22
|
var _gthis = this;
|
|
20
|
-
var _g =
|
|
21
|
-
|
|
22
|
-
|
|
23
|
+
var _g = [];
|
|
24
|
+
var _g1 = 0;
|
|
25
|
+
var _g2 = MaybeArray_Fields_.makeArray(this.config.paths);
|
|
26
|
+
while (_g1 < _g2.length) {
|
|
27
|
+
var pathString = _g2[_g1];
|
|
28
|
+
++_g1;
|
|
23
29
|
var s = pathString;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
var file = files[_g1];
|
|
45
|
-
++_g1;
|
|
46
|
-
var s = file;
|
|
47
|
-
s = Path.posix.normalize((file.length > 1 && SourceId_Fields_.startsWithSlash(file)) ? HxOverrides.substr(file, 1, null) : file);
|
|
48
|
-
s = StringTools.replace(s, "\\", "/");
|
|
49
|
-
var filepath = SourceId.getPutInDir((SourceId_Fields_.startsWithSlash(s)) ? s : "/" + s, path[0]);
|
|
50
|
-
_g.push({"id": SourceId.relativeTo(filepath, path[0]), "pathId": filepath});
|
|
51
|
-
};
|
|
52
|
-
res1(_g);
|
|
53
|
-
};
|
|
30
|
+
var str = (pathString.length > 1 && HxOverrides.cca(pathString, 0) == 47) ? pathString.substring(1) : pathString;
|
|
31
|
+
if (str.length > 0) {
|
|
32
|
+
str = Path.posix.normalize(str);
|
|
33
|
+
str = StringTools.replace(str, "\\", "/");
|
|
34
|
+
};
|
|
35
|
+
s = str;
|
|
36
|
+
var path = [(HxOverrides.cca(s, 0) == 47) ? s : "/" + s];
|
|
37
|
+
if (HxOverrides.cca(path[0], path[0].length - 1) == 47) {
|
|
38
|
+
_g.push(Utils.listDirectoryFiles(this.cwdPath(pathString), this.config.recursive).then((function (path) {
|
|
39
|
+
return function (arr) {
|
|
40
|
+
var _g = [];
|
|
41
|
+
var _g1 = 0;
|
|
42
|
+
while (_g1 < arr.length) {
|
|
43
|
+
var file = arr[_g1];
|
|
44
|
+
++_g1;
|
|
45
|
+
var s = SourceId_Fields_.fromCwdPath(file, RootDir.fromProject(_gthis.project));
|
|
46
|
+
var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
|
|
47
|
+
if (str.length > 0) {
|
|
48
|
+
str = Path.posix.normalize(str);
|
|
49
|
+
str = StringTools.replace(str, "\\", "/");
|
|
54
50
|
};
|
|
55
|
-
|
|
51
|
+
s = str;
|
|
52
|
+
var pathId = (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
|
|
53
|
+
_g.push(SourceData.fromFile(SourceId.relativeTo(pathId, path[0]), file, pathId));
|
|
54
|
+
};
|
|
55
|
+
return _g;
|
|
56
|
+
};
|
|
57
|
+
})(path)).then((function () {
|
|
58
|
+
return function (f) {
|
|
59
|
+
return Promise.all(f);
|
|
56
60
|
};
|
|
57
|
-
})(
|
|
61
|
+
})()));
|
|
58
62
|
} else {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
tmp = Promise.resolve([{"id": (SourceId_Fields_.startsWithSlash(s1)) ? s1 : "/" + s1, "pathId": path[0]}]);
|
|
63
|
-
};
|
|
64
|
-
return tmp.then((function () {
|
|
65
|
-
return function (files) {
|
|
66
|
-
var _g = [];
|
|
67
|
-
var _g1 = 0;
|
|
68
|
-
while (_g1 < files.length) {
|
|
69
|
-
var f = files[_g1];
|
|
70
|
-
++_g1;
|
|
71
|
-
var f1 = f.id;
|
|
72
|
-
var this1 = f.pathId;
|
|
73
|
-
var root = RootDir.fromProject(_gthis.project);
|
|
74
|
-
if (this1.charAt(0) != "/") {
|
|
75
|
-
throw new Error("Badly formed SourceId.");
|
|
76
|
-
};
|
|
77
|
-
_g.push(SourceData.fromFile(f1, Path.posix.join(".", root, ".", this1), f.pathId));
|
|
63
|
+
_g.push(SourceData.fromFile(path[0].substring(path[0].lastIndexOf("/")), this.cwdPath(path[0]), path[0]).then((function () {
|
|
64
|
+
return function (src) {
|
|
65
|
+
return [src];
|
|
78
66
|
};
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
})());
|
|
67
|
+
})()));
|
|
68
|
+
};
|
|
82
69
|
};
|
|
83
|
-
return
|
|
70
|
+
return Promise.all(_g).then(function (allSources) {
|
|
71
|
+
var _g = [];
|
|
72
|
+
var _g_current = 0;
|
|
73
|
+
while (_g_current < allSources.length) {
|
|
74
|
+
var x = Register.iter(allSources[_g_current++]);
|
|
75
|
+
while (x.hasNext()) _g.push(x.next());
|
|
76
|
+
};
|
|
77
|
+
return _g;
|
|
78
|
+
});
|
|
84
79
|
}
|
|
85
80
|
static get __name__() {
|
|
86
81
|
return "whet.stones.Files"
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import {RouteType_Fields_} from "../magic/RouteType.js"
|
|
2
2
|
import {MaybeArray_Fields_} from "../magic/MaybeArray.js"
|
|
3
3
|
import {Stone} from "../Stone.js"
|
|
4
|
-
import {SourceId_Fields_} from "../SourceId.js"
|
|
5
4
|
import {SourceHash} from "../SourceHash.js"
|
|
6
5
|
import {SourceData} from "../Source.js"
|
|
7
6
|
import * as Path from "path"
|
|
@@ -92,9 +91,13 @@ class JsonStone extends Register.inherits(Stone) {
|
|
|
92
91
|
}
|
|
93
92
|
list() {
|
|
94
93
|
var s = this.config.name;
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
94
|
+
var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
|
|
95
|
+
if (str.length > 0) {
|
|
96
|
+
str = Path.posix.normalize(str);
|
|
97
|
+
str = StringTools.replace(str, "\\", "/");
|
|
98
|
+
};
|
|
99
|
+
s = str;
|
|
100
|
+
return Promise.resolve([(HxOverrides.cca(s, 0) == 47) ? s : "/" + s]);
|
|
98
101
|
}
|
|
99
102
|
initConfig() {
|
|
100
103
|
if (this.config.name == null) {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import {CacheStrategy, CacheDurability} from "../cache/Cache.js"
|
|
2
2
|
import {Stone} from "../Stone.js"
|
|
3
|
-
import {SourceId_Fields_} from "../SourceId.js"
|
|
4
3
|
import {SourceHash} from "../SourceHash.js"
|
|
5
4
|
import {SourceData} from "../Source.js"
|
|
6
5
|
import {Log} from "../Log.js"
|
|
@@ -52,9 +51,13 @@ class RemoteFile extends Register.inherits(Stone) {
|
|
|
52
51
|
}
|
|
53
52
|
getId() {
|
|
54
53
|
var s = Path.basename(new URL(this.config.url).pathname);
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
54
|
+
var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
|
|
55
|
+
if (str.length > 0) {
|
|
56
|
+
str = Path.posix.normalize(str);
|
|
57
|
+
str = StringTools.replace(str, "\\", "/");
|
|
58
|
+
};
|
|
59
|
+
s = str;
|
|
60
|
+
return (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
|
|
58
61
|
}
|
|
59
62
|
static get __name__() {
|
|
60
63
|
return "whet.stones.RemoteFile"
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import {Stone} from "../Stone.js"
|
|
2
|
-
import {SourceId_Fields_} from "../SourceId.js"
|
|
3
2
|
import {Log} from "../Log.js"
|
|
4
3
|
import * as Path from "path"
|
|
5
4
|
import Mime from "mime"
|
|
@@ -55,23 +54,48 @@ class Server extends Register.inherits(Stone) {
|
|
|
55
54
|
handler(req, res) {
|
|
56
55
|
var _gthis = this;
|
|
57
56
|
Log.log(30, ...["Handling request.", {"url": req.url, "method": req.method}]);
|
|
58
|
-
var
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
57
|
+
var searchIndex = req.url.indexOf("?");
|
|
58
|
+
var id;
|
|
59
|
+
if (searchIndex > 0) {
|
|
60
|
+
var s = req.url.substring(0, searchIndex);
|
|
61
|
+
var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
|
|
62
|
+
if (str.length > 0) {
|
|
63
|
+
str = Path.posix.normalize(str);
|
|
64
|
+
str = StringTools.replace(str, "\\", "/");
|
|
65
|
+
};
|
|
66
|
+
s = str;
|
|
67
|
+
id = (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
|
|
68
|
+
} else {
|
|
69
|
+
var s = req.url;
|
|
70
|
+
var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
|
|
71
|
+
if (str.length > 0) {
|
|
72
|
+
str = Path.posix.normalize(str);
|
|
73
|
+
str = StringTools.replace(str, "\\", "/");
|
|
74
|
+
};
|
|
75
|
+
s = str;
|
|
76
|
+
id = (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
|
|
77
|
+
};
|
|
62
78
|
if (req.method == "GET") {
|
|
63
|
-
if (
|
|
79
|
+
if (HxOverrides.cca(id, id.length - 1) == 47) {
|
|
64
80
|
if ("index.html".length > 0) {
|
|
65
81
|
var s = id.substring(0, id.lastIndexOf("/") + 1);
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
82
|
+
var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
|
|
83
|
+
if (str.length > 0) {
|
|
84
|
+
str = Path.posix.normalize(str);
|
|
85
|
+
str = StringTools.replace(str, "\\", "/");
|
|
86
|
+
};
|
|
87
|
+
s = str;
|
|
88
|
+
id = ((HxOverrides.cca(s, 0) == 47) ? s : "/" + s) + "index.html";
|
|
69
89
|
};
|
|
70
90
|
} else if (Path.posix.extname(id) == "") {
|
|
71
91
|
var s = "" + id + "/index.html";
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
92
|
+
var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
|
|
93
|
+
if (str.length > 0) {
|
|
94
|
+
str = Path.posix.normalize(str);
|
|
95
|
+
str = StringTools.replace(str, "\\", "/");
|
|
96
|
+
};
|
|
97
|
+
s = str;
|
|
98
|
+
id = (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
|
|
75
99
|
};
|
|
76
100
|
this.config.router.find(id).then(function (routeResult) {
|
|
77
101
|
var sourcePromise = (routeResult.length > 0) ? routeResult[0].get() : (_gthis.routeDynamic != null) ? _gthis.routeDynamic(id) : null;
|
package/bin/whet/stones/Zip.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import {Router} from "../route/Router.js"
|
|
2
2
|
import {CacheStrategy, CacheDurability, DurabilityCheck} from "../cache/Cache.js"
|
|
3
3
|
import {Stone} from "../Stone.js"
|
|
4
|
-
import {SourceId_Fields_} from "../SourceId.js"
|
|
5
4
|
import {SourceHash} from "../SourceHash.js"
|
|
6
5
|
import {SourceData} from "../Source.js"
|
|
7
6
|
import {Log} from "../Log.js"
|
|
@@ -76,9 +75,13 @@ class ZipStone extends Register.inherits(Stone) {
|
|
|
76
75
|
var bytes = Helper.bytesOfBuffer(data.data);
|
|
77
76
|
var this1 = file[0].serveId;
|
|
78
77
|
var s = "/";
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
78
|
+
var str = ("/".length > 1 && HxOverrides.cca("/", 0) == 47) ? "/".substring(1) : "/";
|
|
79
|
+
if (str.length > 0) {
|
|
80
|
+
str = Path.posix.normalize(str);
|
|
81
|
+
str = StringTools.replace(str, "\\", "/");
|
|
82
|
+
};
|
|
83
|
+
s = str;
|
|
84
|
+
var root = (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
|
|
82
85
|
if (this1.charAt(0) != "/") {
|
|
83
86
|
throw new Error("Badly formed SourceId.");
|
|
84
87
|
};
|
|
@@ -100,9 +103,13 @@ class ZipStone extends Register.inherits(Stone) {
|
|
|
100
103
|
}
|
|
101
104
|
list() {
|
|
102
105
|
var s = this.config.filename;
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
+
var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
|
|
107
|
+
if (str.length > 0) {
|
|
108
|
+
str = Path.posix.normalize(str);
|
|
109
|
+
str = StringTools.replace(str, "\\", "/");
|
|
110
|
+
};
|
|
111
|
+
s = str;
|
|
112
|
+
return Promise.resolve([(HxOverrides.cca(s, 0) == 47) ? s : "/" + s]);
|
|
106
113
|
}
|
|
107
114
|
static get __name__() {
|
|
108
115
|
return "whet.stones.ZipStone"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {MaybeArray_Fields_} from "../../magic/MaybeArray.js"
|
|
2
2
|
import {Utils} from "../../Utils.js"
|
|
3
3
|
import {Stone} from "../../Stone.js"
|
|
4
|
-
import {
|
|
4
|
+
import {RootDir} from "../../SourceId.js"
|
|
5
5
|
import {SourceHash} from "../../SourceHash.js"
|
|
6
6
|
import {SourceData} from "../../Source.js"
|
|
7
7
|
import {Log} from "../../Log.js"
|
|
@@ -34,9 +34,13 @@ class HaxeBuild extends Register.inherits(Stone) {
|
|
|
34
34
|
var cwd = process.cwd();
|
|
35
35
|
var this1 = _gthis.project.rootDir;
|
|
36
36
|
var s = "/";
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
var str = ("/".length > 1 && HxOverrides.cca("/", 0) == 47) ? "/".substring(1) : "/";
|
|
38
|
+
if (str.length > 0) {
|
|
39
|
+
str = Path.posix.normalize(str);
|
|
40
|
+
str = StringTools.replace(str, "\\", "/");
|
|
41
|
+
};
|
|
42
|
+
s = str;
|
|
43
|
+
var root = (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
|
|
40
44
|
if (this1.charAt(0) != "/") {
|
|
41
45
|
throw new Error("Badly formed SourceId.");
|
|
42
46
|
};
|
|
@@ -107,9 +111,13 @@ class HaxeBuild extends Register.inherits(Stone) {
|
|
|
107
111
|
while (_g < _g1) {
|
|
108
112
|
var i = _g++;
|
|
109
113
|
var s = _this[i];
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
114
|
+
var str = (s.length > 1 && HxOverrides.cca(s, 0) == 47) ? s.substring(1) : s;
|
|
115
|
+
if (str.length > 0) {
|
|
116
|
+
str = Path.posix.normalize(str);
|
|
117
|
+
str = StringTools.replace(str, "\\", "/");
|
|
118
|
+
};
|
|
119
|
+
s = str;
|
|
120
|
+
var this1 = (HxOverrides.cca(s, 0) == 47) ? s : "/" + s;
|
|
113
121
|
var root = RootDir.fromProject(this.config.hxml.project);
|
|
114
122
|
if (this1.charAt(0) != "/") {
|
|
115
123
|
throw new Error("Badly formed SourceId.");
|