@zipadee/javascript 0.0.12 → 0.0.14

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/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export * from './lib/serve.js';
2
- //# sourceMappingURL=index.d.ts.map
2
+ //# sourceMappingURL=index.d.ts.map
package/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  export * from './lib/serve.js';
2
- //# sourceMappingURL=index.js.map
2
+ //# sourceMappingURL=index.js.map
package/lib/serve.d.ts CHANGED
@@ -1,33 +1,33 @@
1
- import {type Middleware} from '@zipadee/core';
1
+ import { type Middleware } from '@zipadee/core';
2
2
  export interface Options {
3
- /**
4
- * Root directory to restrict file access. Defaults to the current working
5
- * directory.
6
- */
7
- root?: string;
8
- /**
9
- * Base path to resolve imports from. Defaults to the current working
10
- * directory.
11
- */
12
- base?: string;
13
- /**
14
- * Imports resolved to outside of the base path will be prefixed with this
15
- * string. Defaults to `/__root__`.
16
- */
17
- rootPathPrefix?: string;
18
- /**
19
- * Array of file extensions to transform. Defaults to `['.js', '.mjs']`.
20
- *
21
- * Other extensions are served as plain files.
22
- */
23
- extensions?: Array<string>;
24
- /**
25
- * Array of import conditions to support. Defaults to `['browser', 'import']`.
26
- */
27
- conditions?: Array<string>;
3
+ /**
4
+ * Root directory to restrict file access. Defaults to the current working
5
+ * directory.
6
+ */
7
+ root?: string;
8
+ /**
9
+ * Base path to resolve imports from. Defaults to the current working
10
+ * directory.
11
+ */
12
+ base?: string;
13
+ /**
14
+ * Imports resolved to outside of the base path will be prefixed with this
15
+ * string. Defaults to `/__root__`.
16
+ */
17
+ rootPathPrefix?: string;
18
+ /**
19
+ * Array of file extensions to transform. Defaults to `['.js', '.mjs']`.
20
+ *
21
+ * Other extensions are served as plain files.
22
+ */
23
+ extensions?: Array<string>;
24
+ /**
25
+ * Array of import conditions to support. Defaults to `['browser', 'import']`.
26
+ */
27
+ conditions?: Array<string>;
28
28
  }
29
29
  /**
30
30
  * Serve static JavaScript files from a `root` directory.
31
31
  */
32
32
  export declare const serve: (opts: Options) => Middleware;
33
- //# sourceMappingURL=serve.d.ts.map
33
+ //# sourceMappingURL=serve.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../src/lib/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,UAAU,EAAC,MAAM,eAAe,CAAC;AAezD,MAAM,WAAW,OAAO;IACtB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAE3B;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAC5B;AAYD;;GAEG;AACH,eAAO,MAAM,KAAK,SAAU,OAAO,KAAG,UAyGrC,CAAC"}
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../src/lib/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,UAAU,EAAC,MAAM,eAAe,CAAC;AAmBzD,MAAM,WAAW,OAAO;IACtB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAE3B;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAC5B;AAYD;;GAEG;AACH,eAAO,MAAM,KAAK,SAAU,OAAO,KAAG,UAgJrC,CAAC"}
package/lib/serve.js CHANGED
@@ -1,15 +1,13 @@
1
- import {HttpError} from '@zipadee/core';
2
- import {
3
- decodePath,
4
- pathIsHidden,
5
- resolvePath,
6
- stat,
7
- } from '@zipadee/static/lib/utils.js';
8
- import {send} from '@zipadee/static';
1
+ import { HttpError } from '@zipadee/core';
2
+ import { decodePath, pathIsHidden, resolvePath, stat, } from '@zipadee/static/lib/utils.js';
3
+ import { send } from '@zipadee/static';
9
4
  import fs from 'node:fs/promises';
10
5
  import path from 'node:path';
11
- import {parse, init} from 'es-module-lexer';
12
- import {moduleResolve} from 'import-meta-resolve';
6
+ import { parse, init } from 'es-module-lexer';
7
+ // import {moduleResolve, type ErrnoException} from 'import-meta-resolve';
8
+ import resolve from 'enhanced-resolve';
9
+ import baseFS from 'fs';
10
+ const { CachedInputFileSystem, ResolverFactory } = resolve;
13
11
  await init;
14
12
  // TODO:
15
13
  // - Add caching for both specifier resolution and files
@@ -24,92 +22,119 @@ await init;
24
22
  * Serve static JavaScript files from a `root` directory.
25
23
  */
26
24
  export const serve = (opts) => {
27
- const root =
28
- opts.root === undefined ? process.cwd() : path.resolve(opts.root);
29
- const base = opts.base === undefined ? root : resolvePath(root, opts.base);
30
- const rootPathPrefix = opts.rootPathPrefix ?? '/__root__';
31
- const extensions = opts.extensions ?? ['.js', '.mjs'];
32
- const conditionsArray = opts.conditions ?? ['browser', 'import'];
33
- const conditions = new Set(conditionsArray);
34
- return async (req, res, next) => {
35
- if (!(req.method === 'HEAD' || req.method === 'GET')) {
36
- // TODO: implement HEAD?
37
- return await next();
38
- }
39
- let filePath = decodePath(req.path);
40
- const mountedPath = req.url.pathname.substring(
41
- 0,
42
- req.url.pathname.length - filePath.length,
43
- );
44
- const parsedPath = path.parse(filePath);
45
- const transform = extensions.includes(parsedPath.ext);
46
- if (filePath.startsWith(rootPathPrefix)) {
47
- filePath = filePath.substring(rootPathPrefix.length);
48
- filePath = filePath.slice(parsedPath.root.length);
49
- filePath = resolvePath(root, filePath);
50
- } else {
51
- filePath = filePath.slice(parsedPath.root.length);
52
- filePath = resolvePath(base, filePath);
53
- }
54
- if (pathIsHidden(root, filePath)) {
55
- return await next();
56
- }
57
- const stats = await stat(filePath);
58
- if (stats.isDirectory()) {
59
- return await next();
60
- }
61
- if (!transform) {
62
- const relativePath = path.relative(root, filePath);
63
- await send(req, res, relativePath, {root});
64
- return;
65
- }
66
- const source = await fs.readFile(filePath, 'utf8');
67
- const [imports, _exports, _facade, _hasModuleSyntax] = parse(
68
- source,
69
- filePath,
70
- );
71
- let output = '';
72
- let lastIndex = 0;
73
- for (const impt of imports) {
74
- const {t: type, s: start, e: end, n: unescaped} = impt;
75
- if (type === 1) {
76
- // Static import
77
- const importSpecifier = unescaped || source.substring(start, end);
78
- // If the specifier is relative or absolute, we don't need to resolve it
79
- if (
80
- importSpecifier.startsWith('.') ||
81
- importSpecifier.startsWith('/')
82
- ) {
83
- output += `${source.substring(lastIndex, start)}${importSpecifier}`;
84
- lastIndex = end;
85
- continue;
25
+ const root = opts.root === undefined ? process.cwd() : path.resolve(opts.root);
26
+ const base = opts.base === undefined ? root : resolvePath(root, opts.base);
27
+ const rootPathPrefix = opts.rootPathPrefix ?? '/__root__';
28
+ const extensions = opts.extensions ?? ['.js', '.mjs'];
29
+ const conditionsArray = opts.conditions ?? ['browser', 'import'];
30
+ // const conditions = new Set(conditionsArray);
31
+ const resolver = ResolverFactory.createResolver({
32
+ fileSystem: new CachedInputFileSystem(baseFS, 4000),
33
+ roots: [root, base],
34
+ extensions: ['.js', '.json'],
35
+ conditionNames: conditionsArray,
36
+ mainFields: ['module', 'browser', 'main'],
37
+ });
38
+ return async (req, res, next) => {
39
+ if (!(req.method === 'HEAD' || req.method === 'GET')) {
40
+ // TODO: implement HEAD?
41
+ return await next();
86
42
  }
87
- const fileURL = new URL(filePath, 'file://');
88
- const resolvedImportURL = moduleResolve(
89
- importSpecifier,
90
- fileURL,
91
- conditions,
92
- );
93
- const resolvedImportPath = resolvedImportURL.pathname;
94
- if (!resolvedImportPath.startsWith(root)) {
95
- throw new HttpError(500);
43
+ let filePath = decodePath(req.path);
44
+ const mountedPath = req.url.pathname.substring(0, req.url.pathname.length - filePath.length);
45
+ const parsedPath = path.parse(filePath);
46
+ const transform = extensions.includes(parsedPath.ext);
47
+ if (filePath.startsWith(rootPathPrefix)) {
48
+ filePath = filePath.substring(rootPathPrefix.length);
49
+ filePath = filePath.slice(parsedPath.root.length);
50
+ filePath = resolvePath(root, filePath);
96
51
  }
97
- let resolvedimport;
98
- if (resolvedImportPath.startsWith(base)) {
99
- resolvedimport = resolvedImportPath.substring(base.length);
100
- } else {
101
- resolvedimport = path.join(
102
- mountedPath,
103
- rootPathPrefix,
104
- resolvedImportPath.substring(root.length),
105
- );
52
+ else {
53
+ filePath = filePath.slice(parsedPath.root.length);
54
+ filePath = resolvePath(base, filePath);
106
55
  }
107
- output += `${source.substring(lastIndex, start)}${resolvedimport}`;
108
- lastIndex = end;
109
- }
110
- }
111
- res.type = 'text/javascript';
112
- res.body = output + source.substring(lastIndex);
113
- };
56
+ if (pathIsHidden(root, filePath)) {
57
+ return await next();
58
+ }
59
+ const stats = await stat(filePath);
60
+ if (stats.isDirectory()) {
61
+ return await next();
62
+ }
63
+ if (!transform) {
64
+ const relativePath = path.relative(root, filePath);
65
+ await send(req, res, relativePath, { root });
66
+ return;
67
+ }
68
+ const source = await fs.readFile(filePath, 'utf8');
69
+ const [imports, _exports, _facade, _hasModuleSyntax] = parse(source, filePath);
70
+ let output = '';
71
+ let lastIndex = 0;
72
+ for (const impt of imports) {
73
+ const { t: type, s: start, e: end, n: unescaped } = impt;
74
+ if (type === 1) {
75
+ // Static import
76
+ let importSpecifier = unescaped || source.substring(start, end);
77
+ let relativeImport = false;
78
+ let absoluteImport = false;
79
+ // If the specifier is relative or absolute, and has an extension,
80
+ // we don't need to resolve it
81
+ if (importSpecifier.startsWith('.') ||
82
+ importSpecifier.startsWith('/')) {
83
+ if (path.extname(importSpecifier) === '') {
84
+ // If we don't have an extension, we need to resolve it, but fix the
85
+ // resolved path to be relative to the current file
86
+ relativeImport = importSpecifier.startsWith('.');
87
+ absoluteImport = importSpecifier.startsWith('/');
88
+ }
89
+ else {
90
+ output += `${source.substring(lastIndex, start)}${importSpecifier}`;
91
+ lastIndex = end;
92
+ continue;
93
+ }
94
+ }
95
+ const fileURL = new URL(filePath, 'file://');
96
+ if (absoluteImport) {
97
+ // If the import is absolute, we need to resolve it relative to the
98
+ // base path
99
+ importSpecifier = path.join(base, importSpecifier);
100
+ }
101
+ const resolveFromPath = path.dirname(filePath);
102
+ const resolvedImportURL = await new Promise((res, rej) => {
103
+ resolver.resolve({}, resolveFromPath, importSpecifier, {}, (err, result) => {
104
+ if (err) {
105
+ rej(err);
106
+ }
107
+ else if (result === undefined || result === false) {
108
+ rej(new Error('Could not resolve import'));
109
+ }
110
+ else {
111
+ res(new URL(result, fileURL));
112
+ }
113
+ });
114
+ });
115
+ const resolvedImportPath = resolvedImportURL.pathname;
116
+ if (!resolvedImportPath.startsWith(root)) {
117
+ throw new HttpError(500);
118
+ }
119
+ let resolvedimport;
120
+ if (relativeImport) {
121
+ resolvedimport = path.relative(path.dirname(filePath), resolvedImportPath);
122
+ if (!resolvedimport.startsWith('.')) {
123
+ resolvedimport = './' + resolvedimport;
124
+ }
125
+ }
126
+ else if (resolvedImportPath.startsWith(base)) {
127
+ resolvedimport = resolvedImportPath.substring(base.length);
128
+ }
129
+ else {
130
+ resolvedimport = path.join(mountedPath, rootPathPrefix, resolvedImportPath.substring(root.length));
131
+ }
132
+ output += `${source.substring(lastIndex, start)}${resolvedimport}`;
133
+ lastIndex = end;
134
+ }
135
+ }
136
+ res.type = 'text/javascript';
137
+ res.body = output + source.substring(lastIndex);
138
+ };
114
139
  };
115
- //# sourceMappingURL=serve.js.map
140
+ //# sourceMappingURL=serve.js.map
package/lib/serve.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/lib/serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/lib/serve.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zipadee/javascript",
3
- "version": "0.0.12",
3
+ "version": "0.0.14",
4
4
  "type": "module",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -56,9 +56,9 @@
56
56
  }
57
57
  },
58
58
  "dependencies": {
59
- "@zipadee/core": "^0.0.12",
60
- "@zipadee/static": "^0.0.12",
61
- "es-module-lexer": "^1.5.4",
62
- "import-meta-resolve": "^4.1.0"
59
+ "@zipadee/core": "^0.0.14",
60
+ "@zipadee/static": "^0.0.14",
61
+ "enhanced-resolve": "^5.17.1",
62
+ "es-module-lexer": "^1.5.4"
63
63
  }
64
64
  }