@furystack/rest-service 6.0.7 → 6.1.1

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 (38) hide show
  1. package/dist/helpers.js +15 -1
  2. package/dist/helpers.js.map +1 -1
  3. package/dist/helpers.spec.js +18 -2
  4. package/dist/helpers.spec.js.map +1 -1
  5. package/dist/index.js +2 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/mime-types.js +339 -0
  8. package/dist/mime-types.js.map +1 -0
  9. package/dist/mime-types.spec.js +15 -0
  10. package/dist/mime-types.spec.js.map +1 -0
  11. package/dist/server-manager.js.map +1 -1
  12. package/dist/static-server-manager.js +66 -0
  13. package/dist/static-server-manager.js.map +1 -0
  14. package/dist/static-server-manager.spec.js +186 -0
  15. package/dist/static-server-manager.spec.js.map +1 -0
  16. package/package.json +11 -11
  17. package/src/helpers.spec.ts +20 -9
  18. package/src/helpers.ts +14 -0
  19. package/src/index.ts +2 -0
  20. package/src/mime-types.spec.ts +14 -0
  21. package/src/mime-types.ts +336 -0
  22. package/src/server-manager.ts +6 -1
  23. package/src/static-server-manager.spec.ts +226 -0
  24. package/src/static-server-manager.ts +89 -0
  25. package/types/helpers.d.ts +12 -0
  26. package/types/helpers.d.ts.map +1 -1
  27. package/types/index.d.ts +2 -0
  28. package/types/index.d.ts.map +1 -1
  29. package/types/mime-types.d.ts +305 -0
  30. package/types/mime-types.d.ts.map +1 -0
  31. package/types/mime-types.spec.d.ts +2 -0
  32. package/types/mime-types.spec.d.ts.map +1 -0
  33. package/types/server-manager.d.ts +5 -4
  34. package/types/server-manager.d.ts.map +1 -1
  35. package/types/static-server-manager.d.ts +20 -0
  36. package/types/static-server-manager.d.ts.map +1 -0
  37. package/types/static-server-manager.spec.d.ts +2 -0
  38. package/types/static-server-manager.spec.d.ts.map +1 -0
package/dist/helpers.js CHANGED
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useHttpAuthentication = exports.useRestService = void 0;
3
+ exports.useStaticFiles = exports.useHttpAuthentication = exports.useRestService = void 0;
4
4
  const http_authentication_settings_1 = require("./http-authentication-settings");
5
5
  const api_manager_1 = require("./api-manager");
6
+ const static_server_manager_1 = require("./static-server-manager");
6
7
  /**
7
8
  * Sets up the @furystack/rest-service with the provided settings
8
9
  *
@@ -22,4 +23,17 @@ exports.useRestService = useRestService;
22
23
  */
23
24
  const useHttpAuthentication = (injector, settings) => injector.setExplicitInstance({ ...new http_authentication_settings_1.HttpAuthenticationSettings(), ...settings }, http_authentication_settings_1.HttpAuthenticationSettings);
24
25
  exports.useHttpAuthentication = useHttpAuthentication;
26
+ /**
27
+ * Sets up a static file server
28
+ *
29
+ * @param options The settings for the static file server
30
+ * @param options.injector The Injector instance
31
+ * @param options.settings Settings for the static file server
32
+ * @returns a promise that resolves when the server is ready
33
+ */
34
+ const useStaticFiles = (options) => {
35
+ const { injector, ...settings } = options;
36
+ return injector.getInstance(static_server_manager_1.StaticServerManager).addStaticSite(settings);
37
+ };
38
+ exports.useStaticFiles = useStaticFiles;
25
39
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":";;;AAEA,iFAA2E;AAE3E,+CAA+D;AAG/D;;;;GAIG;AACI,MAAM,cAAc,GAAG,KAAK,EAAqB,GAA2B,EAAE,EAAE;IACrF,MAAM,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,wBAAU,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAA;IAC7D,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAHY,QAAA,cAAc,kBAG1B;AAED;;;;;;GAMG;AACI,MAAM,qBAAqB,GAAG,CACnC,QAAkB,EAClB,QAA+D,EAC/D,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,GAAG,IAAI,yDAA0B,EAAE,EAAE,GAAG,QAAQ,EAAE,EAAE,yDAA0B,CAAC,CAAA;AAHtG,QAAA,qBAAqB,yBAGiF"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":";;;AAEA,iFAA2E;AAE3E,+CAA+D;AAE/D,mEAAkF;AAElF;;;;GAIG;AACI,MAAM,cAAc,GAAG,KAAK,EAAqB,GAA2B,EAAE,EAAE;IACrF,MAAM,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,wBAAU,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAA;IAC7D,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAHY,QAAA,cAAc,kBAG1B;AAED;;;;;;GAMG;AACI,MAAM,qBAAqB,GAAG,CACnC,QAAkB,EAClB,QAA+D,EAC/D,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,GAAG,IAAI,yDAA0B,EAAE,EAAE,GAAG,QAAQ,EAAE,EAAE,yDAA0B,CAAC,CAAA;AAHtG,QAAA,qBAAqB,yBAGiF;AAEnH;;;;;;;GAOG;AACI,MAAM,cAAc,GAAG,CAAC,OAAqD,EAAE,EAAE;IACtF,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAA;IACzC,OAAO,QAAQ,CAAC,WAAW,CAAC,2CAAmB,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;AAC1E,CAAC,CAAA;AAHY,QAAA,cAAc,kBAG1B"}
@@ -2,18 +2,34 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const inject_1 = require("@furystack/inject");
4
4
  const utils_1 = require("@furystack/utils");
5
+ const api_manager_1 = require("./api-manager");
6
+ const http_authentication_settings_1 = require("./http-authentication-settings");
5
7
  const helpers_1 = require("./helpers");
8
+ const static_server_manager_1 = require("./static-server-manager");
6
9
  describe('Injector extensions', () => {
7
10
  describe('useHttpAuthentication', () => {
8
11
  it('Should set up HTTP Authentication', async () => {
9
12
  await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
10
13
  (0, helpers_1.useHttpAuthentication)(i);
11
- // TODO: Check if HTTP Auth has been set up
14
+ expect(i.cachedSingletons.get(http_authentication_settings_1.HttpAuthenticationSettings)).toBeDefined();
12
15
  });
13
16
  });
14
17
  });
15
18
  describe('useRestService()', () => {
16
- it.todo('Should set up a REST service');
19
+ it('Should set up a REST service', async () => {
20
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
21
+ await (0, helpers_1.useRestService)({ injector: i, api: {}, root: '/', port: 1234 });
22
+ expect(i.cachedSingletons.get(api_manager_1.ApiManager)).toBeDefined();
23
+ });
24
+ });
25
+ });
26
+ describe('useRestService()', () => {
27
+ it('Should set up a REST service', async () => {
28
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
29
+ await (0, helpers_1.useStaticFiles)({ injector: i, baseUrl: '/', path: '.', port: 1234 });
30
+ expect(i.cachedSingletons.get(static_server_manager_1.StaticServerManager)).toBeDefined();
31
+ });
32
+ });
17
33
  });
18
34
  });
19
35
  //# sourceMappingURL=helpers.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.spec.js","sourceRoot":"","sources":["../src/helpers.spec.ts"],"names":[],"mappings":";;AAAA,8CAA4C;AAC5C,4CAA6C;AAC7C,uCAAiD;AAEjD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,IAAA,kBAAU,EAAC,IAAI,iBAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC3C,IAAA,+BAAqB,EAAC,CAAC,CAAC,CAAA;gBACxB,2CAA2C;YAC7C,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,IAAI,CACL,8BAA8B,CAK/B,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"helpers.spec.js","sourceRoot":"","sources":["../src/helpers.spec.ts"],"names":[],"mappings":";;AAAA,8CAA4C;AAC5C,4CAA6C;AAC7C,+CAA0C;AAC1C,iFAA2E;AAC3E,uCAAiF;AACjF,mEAA6D;AAE7D,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,IAAA,kBAAU,EAAC,IAAI,iBAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC3C,IAAA,+BAAqB,EAAC,CAAC,CAAC,CAAA;gBACxB,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,yDAA0B,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YAC1E,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,IAAA,kBAAU,EAAC,IAAI,iBAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC3C,MAAM,IAAA,wBAAc,EAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;gBACrE,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,wBAAU,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YAC1D,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,IAAA,kBAAU,EAAC,IAAI,iBAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC3C,MAAM,IAAA,wBAAc,EAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC1E,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,2CAAmB,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YACnE,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
package/dist/index.js CHANGED
@@ -17,4 +17,6 @@ tslib_1.__exportStar(require("./endpoint-generators"), exports);
17
17
  tslib_1.__exportStar(require("./schema-validator"), exports);
18
18
  tslib_1.__exportStar(require("./request-action-implementation"), exports);
19
19
  tslib_1.__exportStar(require("./validate"), exports);
20
+ tslib_1.__exportStar(require("./mime-types"), exports);
21
+ tslib_1.__exportStar(require("./static-server-manager"), exports);
20
22
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,oDAAyB;AACzB,wDAA6B;AAC7B,oDAAyB;AACzB,yDAA8B;AAC9B,sDAA2B;AAC3B,yEAA8C;AAC9C,8DAAmC;AACnC,wEAA6C;AAC7C,2DAAgC;AAChC,uEAA4C;AAC5C,kDAAuB;AACvB,mDAAwB;AACxB,gEAAqC;AACrC,6DAAkC;AAClC,0EAA+C;AAC/C,qDAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,oDAAyB;AACzB,wDAA6B;AAC7B,oDAAyB;AACzB,yDAA8B;AAC9B,sDAA2B;AAC3B,yEAA8C;AAC9C,8DAAmC;AACnC,wEAA6C;AAC7C,2DAAgC;AAChC,uEAA4C;AAC5C,kDAAuB;AACvB,mDAAwB;AACxB,gEAAqC;AACrC,6DAAkC;AAClC,0EAA+C;AAC/C,qDAA0B;AAC1B,uDAA4B;AAC5B,kEAAuC"}
@@ -0,0 +1,339 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMimeForFile = exports.mimeTypes = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const path_1 = tslib_1.__importDefault(require("path"));
6
+ exports.mimeTypes = {
7
+ 'application/andrew-inset': ['ez'],
8
+ 'application/applixware': ['aw'],
9
+ 'application/atom+xml': ['atom'],
10
+ 'application/atomcat+xml': ['atomcat'],
11
+ 'application/atomdeleted+xml': ['atomdeleted'],
12
+ 'application/atomsvc+xml': ['atomsvc'],
13
+ 'application/atsc-dwd+xml': ['dwd'],
14
+ 'application/atsc-held+xml': ['held'],
15
+ 'application/atsc-rsat+xml': ['rsat'],
16
+ 'application/bdoc': ['bdoc'],
17
+ 'application/calendar+xml': ['xcs'],
18
+ 'application/ccxml+xml': ['ccxml'],
19
+ 'application/cdfx+xml': ['cdfx'],
20
+ 'application/cdmi-capability': ['cdmia'],
21
+ 'application/cdmi-container': ['cdmic'],
22
+ 'application/cdmi-domain': ['cdmid'],
23
+ 'application/cdmi-object': ['cdmio'],
24
+ 'application/cdmi-queue': ['cdmiq'],
25
+ 'application/cu-seeme': ['cu'],
26
+ 'application/dash+xml': ['mpd'],
27
+ 'application/davmount+xml': ['davmount'],
28
+ 'application/docbook+xml': ['dbk'],
29
+ 'application/dssc+der': ['dssc'],
30
+ 'application/dssc+xml': ['xdssc'],
31
+ 'application/ecmascript': ['es', 'ecma'],
32
+ 'application/emma+xml': ['emma'],
33
+ 'application/emotionml+xml': ['emotionml'],
34
+ 'application/epub+zip': ['epub'],
35
+ 'application/exi': ['exi'],
36
+ 'application/express': ['exp'],
37
+ 'application/fdt+xml': ['fdt'],
38
+ 'application/font-tdpfr': ['pfr'],
39
+ 'application/geo+json': ['geojson'],
40
+ 'application/gml+xml': ['gml'],
41
+ 'application/gpx+xml': ['gpx'],
42
+ 'application/gxf': ['gxf'],
43
+ 'application/gzip': ['gz'],
44
+ 'application/hjson': ['hjson'],
45
+ 'application/hyperstudio': ['stk'],
46
+ 'application/inkml+xml': ['ink', 'inkml'],
47
+ 'application/ipfix': ['ipfix'],
48
+ 'application/its+xml': ['its'],
49
+ 'application/java-archive': ['jar', 'war', 'ear'],
50
+ 'application/java-serialized-object': ['ser'],
51
+ 'application/java-vm': ['class'],
52
+ 'application/javascript': ['js', 'mjs'],
53
+ 'application/json': ['json', 'map'],
54
+ 'application/json5': ['json5'],
55
+ 'application/jsonml+json': ['jsonml'],
56
+ 'application/ld+json': ['jsonld'],
57
+ 'application/lgr+xml': ['lgr'],
58
+ 'application/lost+xml': ['lostxml'],
59
+ 'application/mac-binhex40': ['hqx'],
60
+ 'application/mac-compactpro': ['cpt'],
61
+ 'application/mads+xml': ['mads'],
62
+ 'application/manifest+json': ['webmanifest'],
63
+ 'application/marc': ['mrc'],
64
+ 'application/marcxml+xml': ['mrcx'],
65
+ 'application/mathematica': ['ma', 'nb', 'mb'],
66
+ 'application/mathml+xml': ['mathml'],
67
+ 'application/mbox': ['mbox'],
68
+ 'application/mediaservercontrol+xml': ['mscml'],
69
+ 'application/metalink+xml': ['metalink'],
70
+ 'application/metalink4+xml': ['meta4'],
71
+ 'application/mets+xml': ['mets'],
72
+ 'application/mmt-aei+xml': ['maei'],
73
+ 'application/mmt-usd+xml': ['musd'],
74
+ 'application/mods+xml': ['mods'],
75
+ 'application/mp21': ['m21', 'mp21'],
76
+ 'application/mp4': ['mp4s', 'm4p'],
77
+ 'application/msword': ['doc', 'dot'],
78
+ 'application/mxf': ['mxf'],
79
+ 'application/n-quads': ['nq'],
80
+ 'application/n-triples': ['nt'],
81
+ 'application/node': ['cjs'],
82
+ 'application/octet-stream': [
83
+ 'bin',
84
+ 'dms',
85
+ 'lrf',
86
+ 'mar',
87
+ 'so',
88
+ 'dist',
89
+ 'distz',
90
+ 'pkg',
91
+ 'bpk',
92
+ 'dump',
93
+ 'elc',
94
+ 'deploy',
95
+ 'exe',
96
+ 'dll',
97
+ 'deb',
98
+ 'dmg',
99
+ 'iso',
100
+ 'img',
101
+ 'msi',
102
+ 'msp',
103
+ 'msm',
104
+ 'buffer',
105
+ ],
106
+ 'application/oda': ['oda'],
107
+ 'application/oebps-package+xml': ['opf'],
108
+ 'application/ogg': ['ogx'],
109
+ 'application/omdoc+xml': ['omdoc'],
110
+ 'application/onenote': ['onetoc', 'onetoc2', 'onetmp', 'onepkg'],
111
+ 'application/oxps': ['oxps'],
112
+ 'application/p2p-overlay+xml': ['relo'],
113
+ 'application/patch-ops-error+xml': ['xer'],
114
+ 'application/pdf': ['pdf'],
115
+ 'application/pgp-encrypted': ['pgp'],
116
+ 'application/pgp-signature': ['asc', 'sig'],
117
+ 'application/pics-rules': ['prf'],
118
+ 'application/pkcs10': ['p10'],
119
+ 'application/pkcs7-mime': ['p7m', 'p7c'],
120
+ 'application/pkcs7-signature': ['p7s'],
121
+ 'application/pkcs8': ['p8'],
122
+ 'application/pkix-attr-cert': ['ac'],
123
+ 'application/pkix-cert': ['cer'],
124
+ 'application/pkix-crl': ['crl'],
125
+ 'application/pkix-pkipath': ['pkipath'],
126
+ 'application/pkixcmp': ['pki'],
127
+ 'application/pls+xml': ['pls'],
128
+ 'application/postscript': ['ai', 'eps', 'ps'],
129
+ 'application/provenance+xml': ['provx'],
130
+ 'application/pskc+xml': ['pskcxml'],
131
+ 'application/raml+yaml': ['raml'],
132
+ 'application/rdf+xml': ['rdf', 'owl'],
133
+ 'application/reginfo+xml': ['rif'],
134
+ 'application/relax-ng-compact-syntax': ['rnc'],
135
+ 'application/resource-lists+xml': ['rl'],
136
+ 'application/resource-lists-diff+xml': ['rld'],
137
+ 'application/rls-services+xml': ['rs'],
138
+ 'application/route-apd+xml': ['rapd'],
139
+ 'application/route-s-tsid+xml': ['sls'],
140
+ 'application/route-usd+xml': ['rusd'],
141
+ 'application/rpki-ghostbusters': ['gbr'],
142
+ 'application/rpki-manifest': ['mft'],
143
+ 'application/rpki-roa': ['roa'],
144
+ 'application/rsd+xml': ['rsd'],
145
+ 'application/rss+xml': ['rss'],
146
+ 'application/rtf': ['rtf'],
147
+ 'application/sbml+xml': ['sbml'],
148
+ 'application/scvp-cv-request': ['scq'],
149
+ 'application/scvp-cv-response': ['scs'],
150
+ 'application/scvp-vp-request': ['spq'],
151
+ 'application/scvp-vp-response': ['spp'],
152
+ 'application/sdp': ['sdp'],
153
+ 'application/senml+xml': ['senmlx'],
154
+ 'application/sensml+xml': ['sensmlx'],
155
+ 'application/set-payment-initiation': ['setpay'],
156
+ 'application/set-registration-initiation': ['setreg'],
157
+ 'application/shf+xml': ['shf'],
158
+ 'application/sieve': ['siv', 'sieve'],
159
+ 'application/smil+xml': ['smi', 'smil'],
160
+ 'application/sparql-query': ['rq'],
161
+ 'application/sparql-results+xml': ['srx'],
162
+ 'application/srgs': ['gram'],
163
+ 'application/srgs+xml': ['grxml'],
164
+ 'application/sru+xml': ['sru'],
165
+ 'application/ssdl+xml': ['ssdl'],
166
+ 'application/ssml+xml': ['ssml'],
167
+ 'application/swid+xml': ['swidtag'],
168
+ 'application/tei+xml': ['tei', 'teicorpus'],
169
+ 'application/thraud+xml': ['tfi'],
170
+ 'application/timestamped-data': ['tsd'],
171
+ 'application/toml': ['toml'],
172
+ 'application/trig': ['trig'],
173
+ 'application/ttml+xml': ['ttml'],
174
+ 'application/ubjson': ['ubj'],
175
+ 'application/urc-ressheet+xml': ['rsheet'],
176
+ 'application/urc-targetdesc+xml': ['td'],
177
+ 'application/voicexml+xml': ['vxml'],
178
+ 'application/wasm': ['wasm'],
179
+ 'application/widget': ['wgt'],
180
+ 'application/winhlp': ['hlp'],
181
+ 'application/wsdl+xml': ['wsdl'],
182
+ 'application/wspolicy+xml': ['wspolicy'],
183
+ 'application/xaml+xml': ['xaml'],
184
+ 'application/xcap-att+xml': ['xav'],
185
+ 'application/xcap-caps+xml': ['xca'],
186
+ 'application/xcap-diff+xml': ['xdf'],
187
+ 'application/xcap-el+xml': ['xel'],
188
+ 'application/xcap-ns+xml': ['xns'],
189
+ 'application/xenc+xml': ['xenc'],
190
+ 'application/xhtml+xml': ['xhtml', 'xht'],
191
+ 'application/xliff+xml': ['xlf'],
192
+ 'application/xml': ['xml', 'xsl', 'xsd', 'rng'],
193
+ 'application/xml-dtd': ['dtd'],
194
+ 'application/xop+xml': ['xop'],
195
+ 'application/xproc+xml': ['xpl'],
196
+ 'application/xslt+xml': ['(.)+xsl', 'xslt'],
197
+ 'application/xspf+xml': ['xspf'],
198
+ 'application/xv+xml': ['mxml', 'xhvml', 'xvml', 'xvm'],
199
+ 'application/yang': ['yang'],
200
+ 'application/yin+xml': ['yin'],
201
+ 'application/zip': ['zip'],
202
+ 'audio/3gpp': ['(.)+3gpp'],
203
+ 'audio/adpcm': ['adp'],
204
+ 'audio/amr': ['amr'],
205
+ 'audio/basic': ['au', 'snd'],
206
+ 'audio/midi': ['mid', 'midi', 'kar', 'rmi'],
207
+ 'audio/mobile-xmf': ['mxmf'],
208
+ 'audio/mp3': ['(.)+mp3'],
209
+ 'audio/mp4': ['m4a', 'mp4a'],
210
+ 'audio/mpeg': ['mpga', 'mp2', 'mp2a', 'mp3', 'm2a', 'm3a'],
211
+ 'audio/ogg': ['oga', 'ogg', 'spx', 'opus'],
212
+ 'audio/s3m': ['s3m'],
213
+ 'audio/silk': ['sil'],
214
+ 'audio/wav': ['wav'],
215
+ 'audio/wave': ['(.)+wav'],
216
+ 'audio/webm': ['weba'],
217
+ 'audio/xm': ['xm'],
218
+ 'font/collection': ['ttc'],
219
+ 'font/otf': ['otf'],
220
+ 'font/ttf': ['ttf'],
221
+ 'font/woff': ['woff'],
222
+ 'font/woff2': ['woff2'],
223
+ 'image/aces': ['exr'],
224
+ 'image/apng': ['apng'],
225
+ 'image/avif': ['avif'],
226
+ 'image/bmp': ['bmp'],
227
+ 'image/cgm': ['cgm'],
228
+ 'image/dicom-rle': ['drle'],
229
+ 'image/emf': ['emf'],
230
+ 'image/fits': ['fits'],
231
+ 'image/g3fax': ['g3'],
232
+ 'image/gif': ['gif'],
233
+ 'image/heic': ['heic'],
234
+ 'image/heic-sequence': ['heics'],
235
+ 'image/heif': ['heif'],
236
+ 'image/heif-sequence': ['heifs'],
237
+ 'image/hej2k': ['hej2'],
238
+ 'image/hsj2': ['hsj2'],
239
+ 'image/ief': ['ief'],
240
+ 'image/jls': ['jls'],
241
+ 'image/jp2': ['jp2', 'jpg2'],
242
+ 'image/jpeg': ['jpeg', 'jpg', 'jpe'],
243
+ 'image/jph': ['jph'],
244
+ 'image/jphc': ['jhc'],
245
+ 'image/jpm': ['jpm'],
246
+ 'image/jpx': ['jpx', 'jpf'],
247
+ 'image/jxr': ['jxr'],
248
+ 'image/jxra': ['jxra'],
249
+ 'image/jxrs': ['jxrs'],
250
+ 'image/jxs': ['jxs'],
251
+ 'image/jxsc': ['jxsc'],
252
+ 'image/jxsi': ['jxsi'],
253
+ 'image/jxss': ['jxss'],
254
+ 'image/ktx': ['ktx'],
255
+ 'image/ktx2': ['ktx2'],
256
+ 'image/png': ['png'],
257
+ 'image/sgi': ['sgi'],
258
+ 'image/svg+xml': ['svg', 'svgz'],
259
+ 'image/t38': ['t38'],
260
+ 'image/tiff': ['tif', 'tiff'],
261
+ 'image/tiff-fx': ['tfx'],
262
+ 'image/webp': ['webp'],
263
+ 'image/wmf': ['wmf'],
264
+ 'message/disposition-notification': ['disposition-notification'],
265
+ 'message/global': ['u8msg'],
266
+ 'message/global-delivery-status': ['u8dsn'],
267
+ 'message/global-disposition-notification': ['u8mdn'],
268
+ 'message/global-headers': ['u8hdr'],
269
+ 'message/rfc822': ['eml', 'mime'],
270
+ 'model/3mf': ['3mf'],
271
+ 'model/gltf+json': ['gltf'],
272
+ 'model/gltf-binary': ['glb'],
273
+ 'model/iges': ['igs', 'iges'],
274
+ 'model/mesh': ['msh', 'mesh', 'silo'],
275
+ 'model/mtl': ['mtl'],
276
+ 'model/obj': ['obj'],
277
+ 'model/step+xml': ['stpx'],
278
+ 'model/step+zip': ['stpz'],
279
+ 'model/step-xml+zip': ['stpxz'],
280
+ 'model/stl': ['stl'],
281
+ 'model/vrml': ['wrl', 'vrml'],
282
+ 'model/x3d+binary': ['(.)+x3db', 'x3dbz'],
283
+ 'model/x3d+fastinfoset': ['x3db'],
284
+ 'model/x3d+vrml': ['(.)+x3dv', 'x3dvz'],
285
+ 'model/x3d+xml': ['x3d', 'x3dz'],
286
+ 'model/x3d-vrml': ['x3dv'],
287
+ 'text/cache-manifest': ['appcache', 'manifest'],
288
+ 'text/calendar': ['ics', 'ifb'],
289
+ 'text/coffeescript': ['coffee', 'litcoffee'],
290
+ 'text/css': ['css'],
291
+ 'text/csv': ['csv'],
292
+ 'text/html': ['html', 'htm', 'shtml'],
293
+ 'text/jade': ['jade'],
294
+ 'text/jsx': ['jsx'],
295
+ 'text/less': ['less'],
296
+ 'text/markdown': ['markdown', 'md'],
297
+ 'text/mathml': ['mml'],
298
+ 'text/mdx': ['mdx'],
299
+ 'text/n3': ['n3'],
300
+ 'text/plain': ['txt', 'text', 'conf', 'def', 'list', 'log', 'in', 'ini'],
301
+ 'text/richtext': ['rtx'],
302
+ 'text/rtf': ['(.)+rtf'],
303
+ 'text/sgml': ['sgml', 'sgm'],
304
+ 'text/shex': ['shex'],
305
+ 'text/slim': ['slim', 'slm'],
306
+ 'text/spdx': ['spdx'],
307
+ 'text/stylus': ['stylus', 'styl'],
308
+ 'text/tab-separated-values': ['tsv'],
309
+ 'text/troff': ['t', 'tr', 'roff', 'man', 'me', 'ms'],
310
+ 'text/turtle': ['ttl'],
311
+ 'text/uri-list': ['uri', 'uris', 'urls'],
312
+ 'text/vcard': ['vcard'],
313
+ 'text/vtt': ['vtt'],
314
+ 'text/xml': ['(.)+xml'],
315
+ 'text/yaml': ['yaml', 'yml'],
316
+ 'video/3gpp': ['3gp', '3gpp'],
317
+ 'video/3gpp2': ['3g2'],
318
+ 'video/h261': ['h261'],
319
+ 'video/h263': ['h263'],
320
+ 'video/h264': ['h264'],
321
+ 'video/iso.segment': ['m4s'],
322
+ 'video/jpeg': ['jpgv'],
323
+ 'video/jpm': ['(.)+jpm', 'jpgm'],
324
+ 'video/mj2': ['mj2', 'mjp2'],
325
+ 'video/mp2t': ['ts'],
326
+ 'video/mp4': ['mp4', 'mp4v', 'mpg4'],
327
+ 'video/mpeg': ['mpeg', 'mpg', 'mpe', 'm1v', 'm2v'],
328
+ 'video/ogg': ['ogv'],
329
+ 'video/quicktime': ['qt', 'mov'],
330
+ 'video/webm': ['webm'],
331
+ };
332
+ const getMimeForFile = (file) => {
333
+ var _a;
334
+ const ext = path_1.default.extname(file);
335
+ return (((_a = Object.entries(exports.mimeTypes).find(([, values]) => values.some((value) => ext.match(`^.${value}$`)))) === null || _a === void 0 ? void 0 : _a[0]) ||
336
+ 'application/octet-stream');
337
+ };
338
+ exports.getMimeForFile = getMimeForFile;
339
+ //# sourceMappingURL=mime-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mime-types.js","sourceRoot":"","sources":["../src/mime-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const mime_types_1 = require("./mime-types");
4
+ describe('MIME Types', () => {
5
+ it('Should return a default fallback', () => {
6
+ expect((0, mime_types_1.getMimeForFile)('test.alma')).toBe('application/octet-stream');
7
+ });
8
+ it('Should return a value from a supported list', () => {
9
+ expect((0, mime_types_1.getMimeForFile)('asd/123/test.mp4')).toBe('video/mp4');
10
+ });
11
+ it('Should return a value from a wildcarded entry list', () => {
12
+ expect((0, mime_types_1.getMimeForFile)('asd/123/test.asdxml')).toBe('text/xml');
13
+ });
14
+ });
15
+ //# sourceMappingURL=mime-types.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mime-types.spec.js","sourceRoot":"","sources":["../src/mime-types.spec.ts"],"names":[],"mappings":";;AAAA,6CAA6C;AAC7C,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,IAAA,2BAAc,EAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;IACtE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,IAAA,2BAAc,EAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,CAAC,IAAA,2BAAc,EAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAChE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"server-manager.js","sourceRoot":"","sources":["../src/server-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-manager.js","sourceRoot":"","sources":["../src/server-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StaticServerManager = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const inject_1 = require("@furystack/inject");
6
+ const fs_1 = require("fs");
7
+ const promises_1 = require("fs/promises");
8
+ const mime_types_1 = require("./mime-types");
9
+ const path_1 = require("path");
10
+ const server_manager_1 = require("./server-manager");
11
+ let StaticServerManager = class StaticServerManager {
12
+ constructor() {
13
+ this.shouldExec = (baseUrl) => ({ req }) => {
14
+ var _a;
15
+ return req.url &&
16
+ ((_a = req.method) === null || _a === void 0 ? void 0 : _a.toUpperCase()) === 'GET' &&
17
+ (req.url === baseUrl || req.url.startsWith(baseUrl[baseUrl.length - 1] === '/' ? baseUrl : `${baseUrl}/`))
18
+ ? true
19
+ : false;
20
+ };
21
+ this.onRequest = ({ path, baseUrl, fallback, headers, }) => {
22
+ return async ({ req, res }) => {
23
+ const filePath = req.url.substring(baseUrl.length - 1).replaceAll('/', path_1.sep);
24
+ const fullPath = (0, path_1.normalize)((0, path_1.join)(path, filePath));
25
+ try {
26
+ await this.sendFile({ fullPath, res, headers });
27
+ }
28
+ catch (error) {
29
+ if (fallback) {
30
+ await this.sendFile({ fullPath: (0, path_1.join)(path, fallback), res, headers });
31
+ }
32
+ else {
33
+ res.writeHead(404, { 'Content-Type': 'text/plain' });
34
+ res.end('Not found');
35
+ }
36
+ }
37
+ };
38
+ };
39
+ }
40
+ async sendFile({ fullPath, headers, res, }) {
41
+ const { size } = await (0, promises_1.stat)(fullPath);
42
+ const head = {
43
+ ...headers,
44
+ 'Content-Length': size,
45
+ 'Content-Type': (0, mime_types_1.getMimeForFile)(fullPath),
46
+ };
47
+ res.writeHead(200, head);
48
+ (0, fs_1.createReadStream)(fullPath, { autoClose: true }).pipe(res);
49
+ }
50
+ async addStaticSite(options) {
51
+ const server = await this.serverManager.getOrCreate({ hostName: options.hostName, port: options.port });
52
+ server.apis.push({
53
+ shouldExec: this.shouldExec(options.baseUrl),
54
+ onRequest: this.onRequest({ ...options }),
55
+ });
56
+ }
57
+ };
58
+ tslib_1.__decorate([
59
+ (0, inject_1.Injected)(server_manager_1.ServerManager),
60
+ tslib_1.__metadata("design:type", server_manager_1.ServerManager)
61
+ ], StaticServerManager.prototype, "serverManager", void 0);
62
+ StaticServerManager = tslib_1.__decorate([
63
+ (0, inject_1.Injectable)({ lifetime: 'singleton' })
64
+ ], StaticServerManager);
65
+ exports.StaticServerManager = StaticServerManager;
66
+ //# sourceMappingURL=static-server-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static-server-manager.js","sourceRoot":"","sources":["../src/static-server-manager.ts"],"names":[],"mappings":"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"}