@modern-js/utils 1.0.0-alpha.4 → 1.0.0-rc.12

Sign up to get free protection for your applications and to get access to all the features.
package/CHANGELOG.md CHANGED
@@ -1,6 +1,70 @@
1
1
  # @modern-js/utils
2
2
 
3
- ## 1.0.0-alpha.3
3
+ ## 1.0.0-rc.12
4
+
5
+ ### Patch Changes
6
+
7
+ - 224f7fe: fix server route match
8
+ - 204c626: feat: initial
9
+
10
+ ## 1.0.0-rc.11
11
+
12
+ ### Patch Changes
13
+
14
+ - 224f7fe: fix server route match
15
+ - 204c626: feat: initial
16
+
17
+ ## 1.0.0-rc.10
18
+
19
+ ### Patch Changes
20
+
21
+ - 224f7fe: fix server route match
22
+ - 204c626: feat: initial
23
+
24
+ ## 1.0.0-rc.9
25
+
26
+ ### Patch Changes
27
+
28
+ - 224f7fe: fix server route match
29
+ - 204c626: feat: initial
30
+
31
+ ## 1.0.0-rc.8
32
+
33
+ ### Patch Changes
34
+
35
+ - 224f7fe: fix server route match
36
+ - 204c626: feat: initial
37
+
38
+ ## 1.0.0-rc.7
39
+
40
+ ### Patch Changes
41
+
42
+ - 224f7fe: fix server route match
43
+ - 204c626: feat: initial
44
+
45
+ ## 1.0.0-rc.6
46
+
47
+ ### Patch Changes
48
+
49
+ - 224f7fe: fix server route match
50
+ - 204c626: feat: initial
51
+
52
+ ## 1.0.0-rc.5
53
+
54
+ ### Patch Changes
55
+
56
+ - 224f7fe: fix server route match
57
+ - 204c626: feat: initial
58
+
59
+ ## 1.0.0-rc.4
60
+
61
+ ### Patch Changes
62
+
63
+ - fix server route match
64
+ - 204c626: feat: initial
65
+
66
+ ## 1.0.0-rc.3
67
+
4
68
  ### Patch Changes
5
69
 
6
70
  - feat: initial
package/README.md CHANGED
@@ -3,30 +3,22 @@
3
3
  <a href="https://modernjs.dev" target="blank"><img src="https://lf3-static.bytednsdoc.com/obj/eden-cn/ylaelkeh7nuhfnuhf/modernjs-cover.png" width="300" alt="Modern.js Logo" /></a>
4
4
  </p>
5
5
 
6
- <p align="center">现代 Web 工程体系</p>
6
+ <p align="center">
7
+ 现代 Web 工程体系
8
+ <br/>
9
+ <a href="https://modernjs.dev" target="blank">
10
+ modernjs.dev
11
+ </a>
12
+ </p>
13
+
7
14
 
8
- ## 背景
15
+ ## 参考链接
9
16
  - [迈入现代 Web 开发](https://zhuanlan.zhihu.com/p/386607009)
10
17
  - [现代 Web 开发者问卷调查报告](https://zhuanlan.zhihu.com/p/403206195)
18
+ - [字节跳动是如何落地微前端的](https://mp.weixin.qq.com/s/L9wbfNG5fTXF5bx7dcgj4Q)
11
19
 
12
- ## 计划
13
-
14
- Modern.js 的 1.0.0.rc 版已经发到 npm,目前在做测试改进,README 文档之后统一提供(现阶段加入测试和开发,可以发 [issue](https://github.com/modern-js-dev/modern.js/issues) 留微信联系),完整的文档站计划在10月14日上线
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
20
+ ## 近期计划
31
21
 
22
+ Modern.js 的 1.0.0.rc 版已经发到 npm,目前在做测试改进和文档建设。
32
23
 
24
+ README、完整的文档站、介绍等,都计划在 10 月 27 日上线。
@@ -1,3 +1,9 @@
1
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
2
+
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
4
+
5
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+
1
7
  import fs from 'fs';
2
8
  import path from 'path';
3
9
  import chalk from 'chalk';
@@ -31,7 +37,6 @@ export const validAlias = (modernConfig, {
31
37
  return null;
32
38
  };
33
39
  export const getAlias = (aliasOption, option) => {
34
- const tsconfig = readTsConfigByFile(option.tsconfigPath);
35
40
  const isTsProject = fs.existsSync(option.tsconfigPath);
36
41
  let aliasConfig;
37
42
 
@@ -47,10 +52,11 @@ export const getAlias = (aliasOption, option) => {
47
52
  } else {
48
53
  var _tsconfig$compilerOpt, _tsconfig$compilerOpt2;
49
54
 
55
+ const tsconfig = readTsConfigByFile(option.tsconfigPath);
50
56
  const baseUrl = tsconfig === null || tsconfig === void 0 ? void 0 : (_tsconfig$compilerOpt = tsconfig.compilerOptions) === null || _tsconfig$compilerOpt === void 0 ? void 0 : _tsconfig$compilerOpt.baseUrl;
51
57
  aliasConfig = {
52
58
  absoluteBaseUrl: baseUrl ? path.join(option.appDirectory, baseUrl) : option.appDirectory,
53
- paths: applyOptionsChain(aliasOption || {}, tsconfig === null || tsconfig === void 0 ? void 0 : (_tsconfig$compilerOpt2 = tsconfig.compilerOptions) === null || _tsconfig$compilerOpt2 === void 0 ? void 0 : _tsconfig$compilerOpt2.paths),
59
+ paths: _objectSpread(_objectSpread({}, aliasOption || {}), tsconfig === null || tsconfig === void 0 ? void 0 : (_tsconfig$compilerOpt2 = tsconfig.compilerOptions) === null || _tsconfig$compilerOpt2 === void 0 ? void 0 : _tsconfig$compilerOpt2.paths),
54
60
  isTsPath: true,
55
61
  isTsProject
56
62
  };
@@ -71,6 +71,9 @@ export const INTERNAL_PLUGINS = {
71
71
  '@modern-js/plugin-proxy': {
72
72
  cli: '@modern-js/plugin-proxy/cli'
73
73
  },
74
+ '@modern-js/plugin-ssg': {
75
+ cli: '@modern-js/plugin-ssg/cli'
76
+ },
74
77
  '@modern-js/plugin-bff': {
75
78
  cli: '@modern-js/plugin-bff/cli',
76
79
  server: '@modern-js/plugin-bff/server'
@@ -114,6 +117,9 @@ export const INTERNAL_PLUGINS = {
114
117
  },
115
118
  '@modern-js/plugin-jarvis': {
116
119
  cli: '@modern-js/plugin-jarvis/cli'
120
+ },
121
+ '@modern-js/plugin-tailwindcss': {
122
+ cli: '@modern-js/plugin-tailwindcss/cli'
117
123
  }
118
124
  };
119
125
  /**
@@ -174,6 +180,17 @@ export const PLUGIN_SCHEMAS = {
174
180
  typeof: ['object', 'function']
175
181
  }
176
182
  }],
183
+ '@modern-js/plugin-tailwindcss': [{
184
+ target: 'tools.tailwind',
185
+ schema: {
186
+ typeof: ['object', 'function']
187
+ }
188
+ }, {
189
+ target: 'source.designSystem',
190
+ schema: {
191
+ typeof: ['object']
192
+ }
193
+ }],
177
194
  '@modern-js/plugin-proxy': [{
178
195
  target: 'dev.proxy',
179
196
  schema: {
@@ -1,5 +1,6 @@
1
1
  import os from 'os';
2
- import chalk from 'chalk'; // TODO: type
2
+ import chalk from 'chalk';
3
+ import { isDev } from "./is"; // TODO: type
3
4
 
4
5
  // TODO: remove hard code 'main'
5
6
  const isSPA = entrypoints => entrypoints.length === 1 && entrypoints[0].entryName === 'main';
@@ -33,13 +34,13 @@ const getAddressUrls = (protocol = 'http', port) => {
33
34
  }, []);
34
35
  };
35
36
 
36
- export const prettyInstructions = appContext => {
37
+ export const prettyInstructions = (appContext, config) => {
37
38
  const {
38
39
  entrypoints,
39
40
  serverRoutes,
40
41
  port
41
42
  } = appContext;
42
- const urls = getAddressUrls('http', port);
43
+ const urls = getAddressUrls(config.dev.https && isDev() ? 'https' : 'http', port);
43
44
  const routes = serverRoutes.filter(route => route.entryName);
44
45
  let message = 'App running at:\n\n';
45
46
 
@@ -17,6 +17,12 @@ var _applyOptionsChain = require("./applyOptionsChain");
17
17
 
18
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
19
 
20
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
21
+
22
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
23
+
24
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
25
+
20
26
  const validAlias = (modernConfig, {
21
27
  tsconfigPath
22
28
  }) => {
@@ -48,8 +54,6 @@ const validAlias = (modernConfig, {
48
54
  exports.validAlias = validAlias;
49
55
 
50
56
  const getAlias = (aliasOption, option) => {
51
- const tsconfig = (0, _readTsConfig.readTsConfigByFile)(option.tsconfigPath);
52
-
53
57
  const isTsProject = _fs.default.existsSync(option.tsconfigPath);
54
58
 
55
59
  let aliasConfig;
@@ -66,10 +70,11 @@ const getAlias = (aliasOption, option) => {
66
70
  } else {
67
71
  var _tsconfig$compilerOpt, _tsconfig$compilerOpt2;
68
72
 
73
+ const tsconfig = (0, _readTsConfig.readTsConfigByFile)(option.tsconfigPath);
69
74
  const baseUrl = tsconfig === null || tsconfig === void 0 ? void 0 : (_tsconfig$compilerOpt = tsconfig.compilerOptions) === null || _tsconfig$compilerOpt === void 0 ? void 0 : _tsconfig$compilerOpt.baseUrl;
70
75
  aliasConfig = {
71
76
  absoluteBaseUrl: baseUrl ? _path.default.join(option.appDirectory, baseUrl) : option.appDirectory,
72
- paths: (0, _applyOptionsChain.applyOptionsChain)(aliasOption || {}, tsconfig === null || tsconfig === void 0 ? void 0 : (_tsconfig$compilerOpt2 = tsconfig.compilerOptions) === null || _tsconfig$compilerOpt2 === void 0 ? void 0 : _tsconfig$compilerOpt2.paths),
77
+ paths: _objectSpread(_objectSpread({}, aliasOption || {}), tsconfig === null || tsconfig === void 0 ? void 0 : (_tsconfig$compilerOpt2 = tsconfig.compilerOptions) === null || _tsconfig$compilerOpt2 === void 0 ? void 0 : _tsconfig$compilerOpt2.paths),
73
78
  isTsPath: true,
74
79
  isTsProject
75
80
  };
@@ -87,6 +87,9 @@ const INTERNAL_PLUGINS = {
87
87
  '@modern-js/plugin-proxy': {
88
88
  cli: '@modern-js/plugin-proxy/cli'
89
89
  },
90
+ '@modern-js/plugin-ssg': {
91
+ cli: '@modern-js/plugin-ssg/cli'
92
+ },
90
93
  '@modern-js/plugin-bff': {
91
94
  cli: '@modern-js/plugin-bff/cli',
92
95
  server: '@modern-js/plugin-bff/server'
@@ -130,6 +133,9 @@ const INTERNAL_PLUGINS = {
130
133
  },
131
134
  '@modern-js/plugin-jarvis': {
132
135
  cli: '@modern-js/plugin-jarvis/cli'
136
+ },
137
+ '@modern-js/plugin-tailwindcss': {
138
+ cli: '@modern-js/plugin-tailwindcss/cli'
133
139
  }
134
140
  };
135
141
  /**
@@ -191,6 +197,17 @@ const PLUGIN_SCHEMAS = {
191
197
  typeof: ['object', 'function']
192
198
  }
193
199
  }],
200
+ '@modern-js/plugin-tailwindcss': [{
201
+ target: 'tools.tailwind',
202
+ schema: {
203
+ typeof: ['object', 'function']
204
+ }
205
+ }, {
206
+ target: 'source.designSystem',
207
+ schema: {
208
+ typeof: ['object']
209
+ }
210
+ }],
194
211
  '@modern-js/plugin-proxy': [{
195
212
  target: 'dev.proxy',
196
213
  schema: {
@@ -9,6 +9,8 @@ var _os = _interopRequireDefault(require("os"));
9
9
 
10
10
  var _chalk = _interopRequireDefault(require("chalk"));
11
11
 
12
+ var _is = require("./is");
13
+
12
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
15
 
14
16
  // TODO: remove hard code 'main'
@@ -44,13 +46,13 @@ const getAddressUrls = (protocol = 'http', port) => {
44
46
  }, []);
45
47
  };
46
48
 
47
- const prettyInstructions = appContext => {
49
+ const prettyInstructions = (appContext, config) => {
48
50
  const {
49
51
  entrypoints,
50
52
  serverRoutes,
51
53
  port
52
54
  } = appContext;
53
- const urls = getAddressUrls('http', port);
55
+ const urls = getAddressUrls(config.dev.https && (0, _is.isDev)() ? 'https' : 'http', port);
54
56
  const routes = serverRoutes.filter(route => route.entryName);
55
57
  let message = 'App running at:\n\n';
56
58
 
@@ -1,3 +1,9 @@
1
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
2
+
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
4
+
5
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+
1
7
  import fs from 'fs';
2
8
  import path from 'path';
3
9
  import chalk from 'chalk';
@@ -26,7 +32,6 @@ export var validAlias = function validAlias(modernConfig, _ref) {
26
32
  return null;
27
33
  };
28
34
  export var getAlias = function getAlias(aliasOption, option) {
29
- var tsconfig = readTsConfigByFile(option.tsconfigPath);
30
35
  var isTsProject = fs.existsSync(option.tsconfigPath);
31
36
  var aliasConfig;
32
37
 
@@ -42,10 +47,11 @@ export var getAlias = function getAlias(aliasOption, option) {
42
47
  } else {
43
48
  var _tsconfig$compilerOpt, _tsconfig$compilerOpt2;
44
49
 
50
+ var tsconfig = readTsConfigByFile(option.tsconfigPath);
45
51
  var baseUrl = tsconfig === null || tsconfig === void 0 ? void 0 : (_tsconfig$compilerOpt = tsconfig.compilerOptions) === null || _tsconfig$compilerOpt === void 0 ? void 0 : _tsconfig$compilerOpt.baseUrl;
46
52
  aliasConfig = {
47
53
  absoluteBaseUrl: baseUrl ? path.join(option.appDirectory, baseUrl) : option.appDirectory,
48
- paths: applyOptionsChain(aliasOption || {}, tsconfig === null || tsconfig === void 0 ? void 0 : (_tsconfig$compilerOpt2 = tsconfig.compilerOptions) === null || _tsconfig$compilerOpt2 === void 0 ? void 0 : _tsconfig$compilerOpt2.paths),
54
+ paths: _objectSpread(_objectSpread({}, aliasOption || {}), tsconfig === null || tsconfig === void 0 ? void 0 : (_tsconfig$compilerOpt2 = tsconfig.compilerOptions) === null || _tsconfig$compilerOpt2 === void 0 ? void 0 : _tsconfig$compilerOpt2.paths),
49
55
  isTsPath: true,
50
56
  isTsProject: isTsProject
51
57
  };
@@ -73,6 +73,9 @@ export var INTERNAL_PLUGINS = {
73
73
  '@modern-js/plugin-proxy': {
74
74
  cli: '@modern-js/plugin-proxy/cli'
75
75
  },
76
+ '@modern-js/plugin-ssg': {
77
+ cli: '@modern-js/plugin-ssg/cli'
78
+ },
76
79
  '@modern-js/plugin-bff': {
77
80
  cli: '@modern-js/plugin-bff/cli',
78
81
  server: '@modern-js/plugin-bff/server'
@@ -116,6 +119,9 @@ export var INTERNAL_PLUGINS = {
116
119
  },
117
120
  '@modern-js/plugin-jarvis': {
118
121
  cli: '@modern-js/plugin-jarvis/cli'
122
+ },
123
+ '@modern-js/plugin-tailwindcss': {
124
+ cli: '@modern-js/plugin-tailwindcss/cli'
119
125
  }
120
126
  };
121
127
  /**
@@ -174,6 +180,17 @@ export var PLUGIN_SCHEMAS = {
174
180
  "typeof": ['object', 'function']
175
181
  }
176
182
  }],
183
+ '@modern-js/plugin-tailwindcss': [{
184
+ target: 'tools.tailwind',
185
+ schema: {
186
+ "typeof": ['object', 'function']
187
+ }
188
+ }, {
189
+ target: 'source.designSystem',
190
+ schema: {
191
+ "typeof": ['object']
192
+ }
193
+ }],
177
194
  '@modern-js/plugin-proxy': [{
178
195
  target: 'dev.proxy',
179
196
  schema: {
@@ -1,3 +1,5 @@
1
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
2
+
1
3
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
2
4
 
3
5
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
@@ -15,13 +17,13 @@ import { logger } from "./logger";
15
17
  /* eslint-disable no-param-reassign, @typescript-eslint/no-loop-func */
16
18
 
17
19
  export var getPort = /*#__PURE__*/function () {
18
- var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(port) {
20
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(port) {
19
21
  var tryLimits,
20
22
  original,
21
23
  found,
22
24
  attempts,
23
25
  _args = arguments;
24
- return regeneratorRuntime.wrap(function _callee$(_context) {
26
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
25
27
  while (1) {
26
28
  switch (_context.prev = _context.next) {
27
29
  case 0:
@@ -11,7 +11,8 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToAr
11
11
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
12
12
 
13
13
  import os from 'os';
14
- import chalk from 'chalk'; // TODO: type
14
+ import chalk from 'chalk';
15
+ import { isDev } from "./is"; // TODO: type
15
16
 
16
17
  // TODO: remove hard code 'main'
17
18
  var isSPA = function isSPA(entrypoints) {
@@ -51,12 +52,12 @@ var getAddressUrls = function getAddressUrls() {
51
52
  }, []);
52
53
  };
53
54
 
54
- export var prettyInstructions = function prettyInstructions(appContext) {
55
+ export var prettyInstructions = function prettyInstructions(appContext, config) {
55
56
  var _ref = appContext,
56
57
  entrypoints = _ref.entrypoints,
57
58
  serverRoutes = _ref.serverRoutes,
58
59
  port = _ref.port;
59
- var urls = getAddressUrls('http', port);
60
+ var urls = getAddressUrls(config.dev.https && isDev() ? 'https' : 'http', port);
60
61
  var routes = serverRoutes.filter(function (route) {
61
62
  return route.entryName;
62
63
  });
@@ -1,3 +1,5 @@
1
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
2
+
1
3
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
2
4
 
3
5
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
@@ -20,9 +22,9 @@ export var watch = function watch(watchDir, runTask) {
20
22
  return ready = true;
21
23
  });
22
24
  watcher.on('change', /*#__PURE__*/function () {
23
- var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(filePath) {
25
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(filePath) {
24
26
  var changedFilePath;
25
- return regeneratorRuntime.wrap(function _callee$(_context) {
27
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
26
28
  while (1) {
27
29
  switch (_context.prev = _context.next) {
28
30
  case 0:
@@ -46,9 +48,9 @@ export var watch = function watch(watchDir, runTask) {
46
48
  };
47
49
  }());
48
50
  watcher.on('add', /*#__PURE__*/function () {
49
- var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(filePath) {
51
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(filePath) {
50
52
  var changedFilePath;
51
- return regeneratorRuntime.wrap(function _callee2$(_context2) {
53
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
52
54
  while (1) {
53
55
  switch (_context2.prev = _context2.next) {
54
56
  case 0:
@@ -78,9 +80,9 @@ export var watch = function watch(watchDir, runTask) {
78
80
  };
79
81
  }());
80
82
  watcher.on('unlink', /*#__PURE__*/function () {
81
- var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(filePath) {
83
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(filePath) {
82
84
  var changedFilePath;
83
- return regeneratorRuntime.wrap(function _callee3$(_context3) {
85
+ return _regeneratorRuntime.wrap(function _callee3$(_context3) {
84
86
  while (1) {
85
87
  switch (_context3.prev = _context3.next) {
86
88
  case 0:
@@ -111,6 +111,12 @@ export declare const PLUGIN_SCHEMAS: {
111
111
  typeof: string[];
112
112
  };
113
113
  }[];
114
+ '@modern-js/plugin-tailwindcss': {
115
+ target: string;
116
+ schema: {
117
+ typeof: string[];
118
+ };
119
+ }[];
114
120
  '@modern-js/plugin-proxy': {
115
121
  target: string;
116
122
  schema: {
@@ -1 +1 @@
1
- export declare const prettyInstructions: (appContext: any) => string;
1
+ export declare const prettyInstructions: (appContext: any, config: any) => string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@modern-js/utils",
3
- "version": "1.0.0-alpha.4",
3
+ "version": "1.0.0-rc.12",
4
4
  "jsnext:source": "./src/index.ts",
5
5
  "types": "./dist/types/index.d.ts",
6
6
  "main": "./dist/js/node/index.js",
@@ -53,13 +53,17 @@
53
53
  "@types/recursive-readdir": "^2.2.0",
54
54
  "typescript": "^4",
55
55
  "webpack": "^5.54.0",
56
- "@modern-js/plugin-testing": "^1.0.0-alpha.3",
57
- "@modern-js/module-tools": "^1.0.0-alpha.3"
56
+ "@modern-js/plugin-testing": "^1.0.0-rc.12",
57
+ "@modern-js/module-tools": "^1.0.0-rc.12"
58
58
  },
59
59
  "peerDependencies": {
60
60
  "typescript": "^4.4.3"
61
61
  },
62
62
  "sideEffects": false,
63
+ "publishConfig": {
64
+ "registry": "https://registry.npmjs.org/",
65
+ "access": "public"
66
+ },
63
67
  "scripts": {
64
68
  "new": "modern new",
65
69
  "build": "modern build",
package/src/alias.ts CHANGED
@@ -53,7 +53,6 @@ export const getAlias = (
53
53
  aliasOption: AliasOption | Array<AliasOption>,
54
54
  option: { appDirectory: string; tsconfigPath: string },
55
55
  ) => {
56
- const tsconfig = readTsConfigByFile(option.tsconfigPath);
57
56
  const isTsProject = fs.existsSync(option.tsconfigPath);
58
57
  let aliasConfig: IAliasConfig;
59
58
  if (!isTsProject) {
@@ -64,15 +63,16 @@ export const getAlias = (
64
63
  isTsProject,
65
64
  };
66
65
  } else {
66
+ const tsconfig = readTsConfigByFile(option.tsconfigPath);
67
67
  const baseUrl = tsconfig?.compilerOptions?.baseUrl;
68
68
  aliasConfig = {
69
69
  absoluteBaseUrl: baseUrl
70
70
  ? path.join(option.appDirectory, baseUrl)
71
71
  : option.appDirectory,
72
- paths: applyOptionsChain(
73
- aliasOption || {},
74
- tsconfig?.compilerOptions?.paths,
75
- ),
72
+ paths: {
73
+ ...(aliasOption || {}),
74
+ ...tsconfig?.compilerOptions?.paths,
75
+ },
76
76
  isTsPath: true,
77
77
  isTsProject,
78
78
  };
package/src/constants.ts CHANGED
@@ -57,6 +57,7 @@ export const INTERNAL_PLUGINS: {
57
57
  '@modern-js/plugin-sass': { cli: '@modern-js/plugin-sass/cli' },
58
58
  '@modern-js/plugin-esbuild': { cli: '@modern-js/plugin-esbuild/cli' },
59
59
  '@modern-js/plugin-proxy': { cli: '@modern-js/plugin-proxy/cli' },
60
+ '@modern-js/plugin-ssg': { cli: '@modern-js/plugin-ssg/cli' },
60
61
  '@modern-js/plugin-bff': {
61
62
  cli: '@modern-js/plugin-bff/cli',
62
63
  server: '@modern-js/plugin-bff/server',
@@ -87,6 +88,7 @@ export const INTERNAL_PLUGINS: {
87
88
  cli: '@modern-js/plugin-micro-frontend/cli',
88
89
  },
89
90
  '@modern-js/plugin-jarvis': { cli: '@modern-js/plugin-jarvis/cli' },
91
+ '@modern-js/plugin-tailwindcss': { cli: '@modern-js/plugin-tailwindcss/cli' },
90
92
  };
91
93
 
92
94
  /**
@@ -141,6 +143,16 @@ export const PLUGIN_SCHEMAS = {
141
143
  schema: { typeof: ['object', 'function'] },
142
144
  },
143
145
  ],
146
+ '@modern-js/plugin-tailwindcss': [
147
+ {
148
+ target: 'tools.tailwind',
149
+ schema: { typeof: ['object', 'function'] },
150
+ },
151
+ {
152
+ target: 'source.designSystem',
153
+ schema: { typeof: ['object'] },
154
+ },
155
+ ],
144
156
  '@modern-js/plugin-proxy': [
145
157
  {
146
158
  target: 'dev.proxy',
@@ -1,5 +1,6 @@
1
1
  import os from 'os';
2
2
  import chalk from 'chalk';
3
+ import { isDev } from './is';
3
4
 
4
5
  // TODO: type
5
6
  interface EntryPoint {
@@ -45,14 +46,17 @@ const getAddressUrls = (protocol = 'http', port: number) => {
45
46
  );
46
47
  };
47
48
 
48
- export const prettyInstructions = (appContext: any) => {
49
+ export const prettyInstructions = (appContext: any, config: any) => {
49
50
  const { entrypoints, serverRoutes, port } = appContext as {
50
51
  entrypoints: EntryPoint[];
51
52
  serverRoutes: ServerRoute[];
52
53
  port: number;
53
54
  };
54
55
 
55
- const urls = getAddressUrls('http', port);
56
+ const urls = getAddressUrls(
57
+ config.dev.https && isDev() ? 'https' : 'http',
58
+ port,
59
+ );
56
60
 
57
61
  const routes = serverRoutes.filter(route => route.entryName);
58
62