@modern-js/server-utils 1.0.0-alpha.3

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 (39) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/LICENSE +21 -0
  3. package/README.md +32 -0
  4. package/dist/js/modern/babel.js +87 -0
  5. package/dist/js/modern/gather.js +35 -0
  6. package/dist/js/modern/index.js +3 -0
  7. package/dist/js/modern/middleware.js +31 -0
  8. package/dist/js/modern/requireModule.js +24 -0
  9. package/dist/js/node/babel.js +130 -0
  10. package/dist/js/node/gather.js +55 -0
  11. package/dist/js/node/index.js +44 -0
  12. package/dist/js/node/middleware.js +43 -0
  13. package/dist/js/node/requireModule.js +35 -0
  14. package/dist/js/treeshaking/babel.js +83 -0
  15. package/dist/js/treeshaking/gather.js +35 -0
  16. package/dist/js/treeshaking/index.js +3 -0
  17. package/dist/js/treeshaking/middleware.js +35 -0
  18. package/dist/js/treeshaking/requireModule.js +26 -0
  19. package/dist/types/babel.d.ts +27 -0
  20. package/dist/types/gather.d.ts +1 -0
  21. package/dist/types/index.d.ts +3 -0
  22. package/dist/types/middleware.d.ts +16 -0
  23. package/dist/types/requireModule.d.ts +1 -0
  24. package/modern.config.js +15 -0
  25. package/package.json +51 -0
  26. package/src/babel.ts +149 -0
  27. package/src/gather.ts +30 -0
  28. package/src/index.ts +3 -0
  29. package/src/middleware.ts +43 -0
  30. package/src/requireModule.ts +23 -0
  31. package/tests/__snapshots__/babel.test.ts.snap +172 -0
  32. package/tests/babel.test.ts +31 -0
  33. package/tests/fixtures/api/_app.ts +5 -0
  34. package/tests/fixtures/api/tsconfig.json +14 -0
  35. package/tests/fixtures/server/index.ts +5 -0
  36. package/tests/gather.test.ts +22 -0
  37. package/tests/helpers.ts +102 -0
  38. package/tests/tsconfig.json +13 -0
  39. package/tsconfig.json +14 -0
@@ -0,0 +1,22 @@
1
+ import path from 'path';
2
+ import { gather } from '@/index';
3
+
4
+ describe('@modern-js/server-utils', () => {
5
+ it('should work well', () => {
6
+ const pwd = path.resolve(__dirname, './fixtures');
7
+ const result = gather(pwd);
8
+
9
+ expect(result.api.length).toBe(1);
10
+ expect(result.api[0]).toBe('@koa/api');
11
+ expect(result.web.length).toBe(1);
12
+ expect(result.web[0]).toBe('@koa/web');
13
+ });
14
+
15
+ it('should get empty when pass a empty dir', () => {
16
+ const pwd = path.resolve(__dirname, './fixtures/empty');
17
+ const result = gather(pwd);
18
+
19
+ expect(result.api.length).toBe(0);
20
+ expect(result.web.length).toBe(0);
21
+ });
22
+ });
@@ -0,0 +1,102 @@
1
+ const sourceDefaults = {
2
+ entries: undefined,
3
+ disableDefaultEntries: false,
4
+ entriesDir: './src',
5
+ configDir: './config',
6
+ apiDir: './api',
7
+ envVars: [],
8
+ globalVars: undefined,
9
+ alias: undefined,
10
+ moduleScopes: undefined,
11
+ include: [],
12
+ };
13
+
14
+ const outputDefaults = {
15
+ assetPrefix: '/',
16
+ htmlPath: 'html',
17
+ jsPath: 'static/js',
18
+ cssPath: 'static/css',
19
+ mediaPath: 'static/media',
20
+ path: 'dist',
21
+ title: '',
22
+ titleByEntries: undefined,
23
+ meta: {
24
+ charset: { charset: 'utf-8' },
25
+ viewport:
26
+ 'width=device-width, initial-scale=1.0, shrink-to-fit=no, viewport-fit=cover, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no',
27
+ 'http-equiv': { 'http-equiv': 'x-ua-compatible', content: 'ie=edge' },
28
+ renderer: 'webkit',
29
+ layoutmode: 'standard',
30
+ imagemode: 'force',
31
+ 'wap-font-scale': 'no',
32
+ 'format-detection': 'telephone=no',
33
+ },
34
+ metaByEntries: undefined,
35
+ inject: 'head',
36
+ injectByEntries: undefined,
37
+ mountId: 'root',
38
+ favicon: '',
39
+ faviconByEntries: undefined,
40
+ copy: undefined,
41
+ scriptExt: undefined,
42
+ disableHtmlFolder: false,
43
+ disableCssModuleExtension: false,
44
+ disableCssExtract: false,
45
+ enableCssModuleTSDeclaration: false,
46
+ disableMinimize: false,
47
+ enableInlineStyles: false,
48
+ enableInlineScripts: false,
49
+ disableSourceMap: false,
50
+ disableInlineRuntimeChunk: false,
51
+ disableAssetsCache: false,
52
+ enableLatestDecorators: false,
53
+ polyfill: 'entry',
54
+ dataUriLimit: 10000,
55
+ templateParameters: {},
56
+ templateParametersByEntries: undefined,
57
+ cssModuleLocalIdentName: '[name]__[local]--[hash:base64:5]',
58
+ enableModernMode: false,
59
+ federation: undefined,
60
+ disableNodePolyfill: false,
61
+ enableTsLoader: false,
62
+ };
63
+
64
+ const serverDefaults = {
65
+ routes: undefined,
66
+ publicRoutes: undefined,
67
+ ssr: undefined,
68
+ ssrByEntries: undefined,
69
+ baseUrl: '/',
70
+ port: 8080,
71
+ };
72
+
73
+ const devDefaults = { assetPrefix: false };
74
+
75
+ const deployDefaults = {
76
+ microFrontend: {
77
+ enableHtmlEntry: false
78
+ },
79
+ domain: '',
80
+ domainByEntries: undefined,
81
+ };
82
+
83
+ const toolsDefaults = {
84
+ webpack: undefined,
85
+ babel: undefined,
86
+ postcss: undefined,
87
+ autoprefixer: undefined,
88
+ lodash: undefined,
89
+ devServer: undefined,
90
+ tsLoader: undefined,
91
+ terser: undefined,
92
+ minifyCss: undefined,
93
+ };
94
+
95
+ export const defaults = {
96
+ source: sourceDefaults,
97
+ output: outputDefaults,
98
+ server: serverDefaults,
99
+ dev: devDefaults,
100
+ deploy: deployDefaults,
101
+ tools: toolsDefaults,
102
+ };
@@ -0,0 +1,13 @@
1
+ {
2
+ "extends": "@modern-js/tsconfig/base",
3
+ "compilerOptions": {
4
+ "declaration": false,
5
+ "jsx": "preserve",
6
+ "baseUrl": "./",
7
+ "isolatedModules": true,
8
+ "paths": {
9
+ "@/*": ["../src/*"]
10
+ },
11
+ "types": ["node", "jest"]
12
+ }
13
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,14 @@
1
+ {
2
+ "extends": "@modern-js/tsconfig/base",
3
+ "compilerOptions": {
4
+ "declaration": false,
5
+ "jsx": "preserve",
6
+ "baseUrl": "./",
7
+ "isolatedModules": true,
8
+ "paths": {
9
+ "@/*": ["./src/*"]
10
+ },
11
+ "types": ["node", "jest"]
12
+ },
13
+ "include": ["src"]
14
+ }