dumi 2.0.0-beta.12 → 2.0.0-beta.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.
@@ -1,4 +1,5 @@
1
- export declare const LOCAL_THEME_DIR = ".dumi/theme";
1
+ export declare const LOCAL_DUMI_DIR = ".dumi";
2
+ export declare const LOCAL_THEME_DIR: string;
2
3
  export declare const THEME_PREFIX = "dumi-theme-";
3
4
  export declare const SP_ROUTE_PREFIX = "~";
4
5
  export declare const PICKED_PKG_FIELDS: {
package/dist/constants.js CHANGED
@@ -19,13 +19,15 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  // src/constants.ts
20
20
  var constants_exports = {};
21
21
  __export(constants_exports, {
22
+ LOCAL_DUMI_DIR: () => LOCAL_DUMI_DIR,
22
23
  LOCAL_THEME_DIR: () => LOCAL_THEME_DIR,
23
24
  PICKED_PKG_FIELDS: () => PICKED_PKG_FIELDS,
24
25
  SP_ROUTE_PREFIX: () => SP_ROUTE_PREFIX,
25
26
  THEME_PREFIX: () => THEME_PREFIX
26
27
  });
27
28
  module.exports = __toCommonJS(constants_exports);
28
- var LOCAL_THEME_DIR = ".dumi/theme";
29
+ var LOCAL_DUMI_DIR = ".dumi";
30
+ var LOCAL_THEME_DIR = `${LOCAL_DUMI_DIR}/theme`;
29
31
  var THEME_PREFIX = "dumi-theme-";
30
32
  var SP_ROUTE_PREFIX = "~";
31
33
  var PICKED_PKG_FIELDS = {
@@ -39,6 +41,7 @@ var PICKED_PKG_FIELDS = {
39
41
  };
40
42
  // Annotate the CommonJS export names for ESM import in node:
41
43
  0 && (module.exports = {
44
+ LOCAL_DUMI_DIR,
42
45
  LOCAL_THEME_DIR,
43
46
  PICKED_PKG_FIELDS,
44
47
  SP_ROUTE_PREFIX,
@@ -0,0 +1,6 @@
1
+ import type { IApi } from "../types";
2
+ /**
3
+ * plugin for derive default behaviors from umi
4
+ */
5
+ declare const _default: (api: IApi) => void;
6
+ export default _default;
@@ -0,0 +1,59 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
+
22
+ // src/features/derivative.ts
23
+ var derivative_exports = {};
24
+ __export(derivative_exports, {
25
+ default: () => derivative_default
26
+ });
27
+ module.exports = __toCommonJS(derivative_exports);
28
+ var import_constants = require("../constants");
29
+ var import_path = __toESM(require("path"));
30
+ var import_plugin_utils = require("umi/plugin-utils");
31
+ function getFilesByGlob(globExp, dir) {
32
+ return import_plugin_utils.glob.sync(globExp, { cwd: dir }).map((file) => (0, import_plugin_utils.winPath)(import_path.default.join(dir, file)));
33
+ }
34
+ var derivative_default = (api) => {
35
+ const dumiAbsDir = import_path.default.join(api.cwd, import_constants.LOCAL_DUMI_DIR);
36
+ const strategies = {
37
+ appJS: getFilesByGlob.bind(null, "app.{js,jsx,ts,tsx}", dumiAbsDir),
38
+ globalCSS: getFilesByGlob.bind(null, "global.{css,less,scss,sass}", dumiAbsDir),
39
+ globalJS: getFilesByGlob.bind(null, "global.{js,jsx,ts,tsx}", dumiAbsDir),
40
+ overridesCSS: getFilesByGlob.bind(null, "overrides.{css,less,scss,sass}", dumiAbsDir)
41
+ };
42
+ api.describe({ key: "dumi:derivative" });
43
+ api.modifyAppData((memo) => {
44
+ Object.entries(strategies).forEach(([key, fn]) => {
45
+ memo[key] = fn();
46
+ });
47
+ return memo;
48
+ });
49
+ api.onGenerateFiles(() => {
50
+ Object.entries(strategies).forEach(([key, fn]) => {
51
+ api.appData[key] = fn();
52
+ });
53
+ });
54
+ api.addRuntimePlugin(() => {
55
+ return strategies.appJS().slice(0, 1);
56
+ });
57
+ };
58
+ // Annotate the CommonJS export names for ESM import in node:
59
+ 0 && (module.exports = {});
@@ -44,6 +44,12 @@ function localizeUmiRoute(route, locales) {
44
44
  route.absPath = route.path !== "/" ? `/${route.path}` : route.path;
45
45
  }
46
46
  }
47
+ function flatRoute(route) {
48
+ if (route.parentId !== "DocLayout") {
49
+ route.parentId = "DocLayout";
50
+ route.path = route.path === "*" ? route.path : route.absPath.slice(1);
51
+ }
52
+ }
47
53
  var routes_default = (api) => {
48
54
  var _a, _b, _c;
49
55
  const extraWatchPaths = [
@@ -111,9 +117,9 @@ var routes_default = (api) => {
111
117
  };
112
118
  }
113
119
  Object.entries(pages).forEach(([, route]) => {
114
- route.parentId = docLayoutId;
115
120
  route.file = (0, import_plugin_utils.winPath)(import_path.default.resolve(pagesDir, route.file));
116
- route.path = route.absPath.slice(1);
121
+ flatRoute(route);
122
+ routes[route.id] = route;
117
123
  });
118
124
  docDirs.map(normalizeDocDir).forEach(({ type, dir }) => {
119
125
  const base = import_path.default.join(api.cwd, dir);
@@ -123,8 +129,7 @@ var routes_default = (api) => {
123
129
  });
124
130
  Object.entries(dirRoutes).forEach(([key, route]) => {
125
131
  route.id = `${dir}/${key}`;
126
- route.parentId = docLayoutId;
127
- route.path = route.absPath.slice(1);
132
+ flatRoute(route);
128
133
  if (type) {
129
134
  const pluralType = (0, import_pluralize.plural)(type);
130
135
  route.path = `${pluralType}/${route.path}`.replace(/\/+$/, "/");
@@ -48,6 +48,7 @@ var tabs_default = (api) => {
48
48
  });
49
49
  tabsFromPlugins.forEach((tab) => {
50
50
  tab.id ?? (tab.id = `plugin-tab${tab.test ? `-${tab.test}` : ""}-${tab.key}`);
51
+ tab.component = (0, import_plugin_utils.winPath)(tab.component);
51
52
  });
52
53
  return memo;
53
54
  });
@@ -52,6 +52,7 @@ var transformer_default = async (raw, opts) => {
52
52
  const { default: remarkGfm } = await import("remark-gfm");
53
53
  const { default: remarkRehype } = await import("remark-rehype");
54
54
  const { default: rehypeAutolinkHeadings } = await import("rehype-autolink-headings");
55
+ const { default: rehypeRemoveComments } = await import("rehype-remove-comments");
55
56
  const resolver = import_enhanced_resolve.default.create.sync({
56
57
  extensions: [".js", ".jsx", ".ts", ".tsx"],
57
58
  alias: opts.alias
@@ -62,7 +63,7 @@ var transformer_default = async (raw, opts) => {
62
63
  processor,
63
64
  cwd: opts.cwd
64
65
  }));
65
- processor.use(remarkRehype, { allowDangerousHtml: true }).use(import_rehypeRaw.default).use(import_rehypeStrip.default).use(import_rehypeImg.default).use(import_rehypeDemo.default, {
66
+ processor.use(remarkRehype, { allowDangerousHtml: true }).use(import_rehypeRaw.default).use(rehypeRemoveComments, { removeConditional: true }).use(import_rehypeStrip.default).use(import_rehypeImg.default).use(import_rehypeDemo.default, {
66
67
  techStacks: opts.techStacks,
67
68
  cwd: opts.cwd,
68
69
  fileAbsPath: opts.fileAbsPath,
@@ -49,7 +49,7 @@ function getCodeLang(node, opts) {
49
49
  var _a, _b, _c, _d;
50
50
  let lang = "";
51
51
  if (typeof ((_a = node.properties) == null ? void 0 : _a.src) === "string") {
52
- node.properties.src = (0, import_plugin_utils.winPath)(opts.resolver(import_path.default.dirname(opts.fileAbsPath), node.properties.src));
52
+ node.properties.src = opts.resolver(import_path.default.dirname(opts.fileAbsPath), node.properties.src);
53
53
  lang = import_path.default.extname(node.properties.src).slice(1);
54
54
  } else if (Array.isArray((_b = node.properties) == null ? void 0 : _b.className) && (opts.codeBlockMode === "passive" ? / demo/.test(String((_c = node.data) == null ? void 0 : _c.meta)) : !/ pure/.test(String((_d = node.data) == null ? void 0 : _d.meta)))) {
55
55
  lang = String(node.properties.className[0]).replace("language-", "");
package/dist/preset.js CHANGED
@@ -44,6 +44,7 @@ var preset_default = (api) => {
44
44
  plugins: [
45
45
  require.resolve("./registerMethods"),
46
46
  require.resolve("./features/configPlugins"),
47
+ require.resolve("./features/derivative"),
47
48
  require.resolve("./features/sideEffects"),
48
49
  require.resolve("./features/exports"),
49
50
  require.resolve("./features/compile"),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dumi",
3
- "version": "2.0.0-beta.12",
3
+ "version": "2.0.0-beta.14",
4
4
  "description": "Framework for developing UI components",
5
5
  "keywords": [],
6
6
  "license": "MIT",
@@ -87,6 +87,7 @@
87
87
  "react-helmet": "^6.1.0",
88
88
  "react-intl": "^6.1.1",
89
89
  "rehype-autolink-headings": "^6.1.1",
90
+ "rehype-remove-comments": "^5.0.0",
90
91
  "rehype-stringify": "^9.0.3",
91
92
  "remark-breaks": "^3.0.2",
92
93
  "remark-frontmatter": "^4.0.1",