@makroz/web 1.2.5 → 1.2.6

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 (35) hide show
  1. package/README.md +1 -1
  2. package/bin/mk-update.js +245 -41
  3. package/dist/auth/AuthStorageAdapter.d.ts +74 -0
  4. package/dist/auth/AuthStorageAdapter.d.ts.map +1 -0
  5. package/dist/auth/AuthStorageAdapter.js +140 -0
  6. package/dist/auth/AuthStorageAdapter.js.map +1 -0
  7. package/dist/auth/MkAuthProvider.d.ts +11 -2
  8. package/dist/auth/MkAuthProvider.d.ts.map +1 -1
  9. package/dist/auth/MkAuthProvider.js +15 -25
  10. package/dist/auth/MkAuthProvider.js.map +1 -1
  11. package/dist/components/MkFileUpload.d.ts.map +1 -1
  12. package/dist/components/MkFileUpload.js +36 -2
  13. package/dist/components/MkFileUpload.js.map +1 -1
  14. package/dist/components/MkTable.d.ts +8 -1
  15. package/dist/components/MkTable.d.ts.map +1 -1
  16. package/dist/components/MkTable.js +28 -2
  17. package/dist/components/MkTable.js.map +1 -1
  18. package/dist/hooks/useApi.d.ts +21 -5
  19. package/dist/hooks/useApi.d.ts.map +1 -1
  20. package/dist/hooks/useApi.js +83 -63
  21. package/dist/hooks/useApi.js.map +1 -1
  22. package/dist/hooks/useMkInfiniteList.d.ts +1 -1
  23. package/dist/hooks/useMkList.d.ts +8 -12
  24. package/dist/hooks/useMkList.d.ts.map +1 -1
  25. package/dist/hooks/useMkList.js +23 -9
  26. package/dist/hooks/useMkList.js.map +1 -1
  27. package/dist/index.d.ts +2 -1
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +1 -0
  30. package/dist/index.js.map +1 -1
  31. package/dist/theme/MkThemeProvider.d.ts.map +1 -1
  32. package/dist/theme/MkThemeProvider.js.map +1 -1
  33. package/eslint-plugin-mk/__tests__/no-cross-module-import-dynamic.test.js +89 -0
  34. package/eslint-plugin-mk/rules/no-cross-module-import.js +16 -0
  35. package/package.json +2 -2
@@ -7,7 +7,7 @@ export interface InfiniteListOptions {
7
7
  export declare function useMkInfiniteList(endpoint: string, options?: InfiniteListOptions): {
8
8
  items: any[];
9
9
  loading: boolean;
10
- error: unknown;
10
+ error: string | null;
11
11
  hasMore: boolean;
12
12
  loadMore: () => void;
13
13
  reset: () => void;
@@ -57,23 +57,19 @@ export declare function useMkList(endpoint: string, options?: MkListOptions): {
57
57
  setPerPage: (per_page: number) => void;
58
58
  resetFilters: () => void;
59
59
  refresh: (extraParams?: MkListParams) => Promise<import("@makroz/core").MkResponse<MkListResponse<unknown>>>;
60
- /** Pagination meta from __extraData */
61
- pagination: {
62
- [key: string]: unknown;
63
- current_page?: number;
64
- last_page?: number;
65
- per_page?: number;
66
- total?: number;
67
- };
60
+ /** Pagination meta from __extraData (R-PKG-023: top-level, fallback to legacy nested) */
61
+ pagination: Record<string, unknown>;
68
62
  status: import("@makroz/core").ApiStatus;
69
63
  data: MkListResponse<unknown> | null;
70
- error: unknown;
64
+ error: string | null;
71
65
  waiting: number;
72
66
  loading: boolean;
73
- get: <R = MkListResponse<unknown>>(endpoint: string, params?: Record<string, string | number | boolean | Record<string, any>> | null) => Promise<import("@makroz/core").MkResponse<R>>;
74
- post: <R = MkListResponse<unknown>>(endpoint: string, body: Record<string, unknown> | FormData | null) => Promise<import("@makroz/core").MkResponse<R>>;
75
- put: <R = MkListResponse<unknown>>(endpoint: string, body: Record<string, unknown> | FormData | null) => Promise<import("@makroz/core").MkResponse<R>>;
67
+ get: <R = MkListResponse<unknown>>(endpoint: string, params?: import("@makroz/core").MkQueryParams) => Promise<import("@makroz/core").MkResponse<R>>;
68
+ post: <R = MkListResponse<unknown>>(endpoint: string, body: unknown) => Promise<import("@makroz/core").MkResponse<R>>;
69
+ put: <R = MkListResponse<unknown>>(endpoint: string, body: unknown) => Promise<import("@makroz/core").MkResponse<R>>;
76
70
  delete: (endpoint: string) => Promise<import("@makroz/core").MkResponse<void>>;
77
71
  remove: (endpoint: string) => Promise<import("@makroz/core").MkResponse<void>>;
72
+ abort: () => void;
73
+ refetch: () => void;
78
74
  };
79
75
  //# sourceMappingURL=useMkList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMkList.d.ts","sourceRoot":"","sources":["../../src/hooks/useMkList.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,WAAW,YAAY;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,wDAAwD;AACxD,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,OAAO;IACvC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,WAAW,CAAC,EAAE;QACV,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KAC1B,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC1B,sBAAsB;IACtB,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,sEAAsE;IACtE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB;;;uBAiB7B,MAAM,SAAS,OAAO;oBAQzB,MAAM;mBAIP,MAAM;oBAIL,MAAM;2BAIC,MAAM;;4BA1B9B,YAAY;IAyD1B,uCAAuC;;;uBAtFxB,MAAM;oBACT,MAAM;mBACP,MAAM;gBACT,MAAM;;;;;;;;;;;;EAsFrB"}
1
+ {"version":3,"file":"useMkList.d.ts","sourceRoot":"","sources":["../../src/hooks/useMkList.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,WAAW,YAAY;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,wDAAwD;AACxD,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,OAAO;IACvC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,WAAW,CAAC,EAAE;QACV,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KAC1B,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC1B,sBAAsB;IACtB,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,sEAAsE;IACtE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB;;;uBA+B7B,MAAM,SAAS,OAAO;oBAQzB,MAAM;mBAIP,MAAM;oBAIL,MAAM;2BAIC,MAAM;;4BAjCxB,YAAY;IAgEhC,yFAAyF;;;;;;;;;;;;;;EAGhG"}
@@ -1,14 +1,28 @@
1
1
  import { useState, useCallback, useEffect, useRef } from 'react';
2
2
  import { useApi } from './useApi';
3
3
  export function useMkList(endpoint, options = {}) {
4
- var _a;
5
4
  const { initialParams = {}, autoFetch = true } = options;
6
5
  const api = useApi();
7
6
  const [params, setParams] = useState(Object.assign({ page: 1, per_page: 15 }, initialParams));
7
+ // R-PKG-023 (rc12): capture __extraData from the response envelope
8
+ // (top-level, sibling of `data`, per the @makroz/core MkResponse<T>
9
+ // contract). The previous implementation read from `api.data?.__extraData`
10
+ // which worked for the legacy nested shape but breaks once the Laravel
11
+ // backend emits the canonical top-level shape. We auto-detect: top-level
12
+ // first, then fallback to legacy nested.
13
+ const [extraData, setExtraData] = useState({});
8
14
  const mountedRef = useRef(false);
9
- const refresh = useCallback((extraParams = {}) => {
10
- return api.get(endpoint, Object.assign(Object.assign({}, params), extraParams));
11
- }, [endpoint, params]);
15
+ const refresh = useCallback(async (extraParams = {}) => {
16
+ var _a, _b;
17
+ const response = await api.get(endpoint, Object.assign(Object.assign({}, params), extraParams));
18
+ // Auto-detect response shape (R-PKG-023):
19
+ // - Top-level (rc12+ with flag): `response.__extraData` exists.
20
+ // - Legacy nested (rc11 and earlier): `response.data?.__extraData`.
21
+ const topLevel = response.__extraData;
22
+ const nested = (_a = response.data) === null || _a === void 0 ? void 0 : _a.__extraData;
23
+ setExtraData((_b = topLevel !== null && topLevel !== void 0 ? topLevel : nested) !== null && _b !== void 0 ? _b : {});
24
+ return response;
25
+ }, [endpoint, params, api]);
12
26
  const setFilter = useCallback((field, value) => {
13
27
  setParams(prev => (Object.assign(Object.assign({}, prev), { page: 1, filter: Object.assign(Object.assign({}, prev.filter), { [field]: value }) })));
14
28
  }, []);
@@ -33,11 +47,11 @@ export function useMkList(endpoint, options = {}) {
33
47
  return;
34
48
  if (!mountedRef.current) {
35
49
  mountedRef.current = true;
36
- refresh();
50
+ void refresh();
37
51
  return;
38
52
  }
39
- refresh();
40
- }, [params]);
53
+ void refresh();
54
+ }, [params, refresh]);
41
55
  return Object.assign(Object.assign({}, api), { params,
42
56
  setParams,
43
57
  setFilter,
@@ -47,7 +61,7 @@ export function useMkList(endpoint, options = {}) {
47
61
  setPerPage,
48
62
  resetFilters,
49
63
  refresh,
50
- /** Pagination meta from __extraData */
51
- pagination: ((_a = api.data) === null || _a === void 0 ? void 0 : _a.__extraData) || {} });
64
+ /** Pagination meta from __extraData (R-PKG-023: top-level, fallback to legacy nested) */
65
+ pagination: extraData });
52
66
  }
53
67
  //# sourceMappingURL=useMkList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMkList.js","sourceRoot":"","sources":["../../src/hooks/useMkList.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useMkList.js","sourceRoot":"","sources":["../../src/hooks/useMkList.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -28,6 +28,7 @@ export { useMkAuth } from './auth/useMkAuth';
28
28
  export { MkAuthForm } from './auth/MkAuthForm';
29
29
  export type { MkAuthFormProps } from './auth/MkAuthForm';
30
30
  export type { MkAuthContextValue } from './auth/MkAuthContext';
31
- export type { AdminDto, AuthTokens, LoginInput, LoginResponse, RefreshResponse, } from './auth/types';
31
+ export type { AdminDto, AuthTokens, AuthStorageAdapter, LoginInput, LoginResponse, RefreshResponse, } from './auth/types';
32
+ export { CookieStorageAdapter, LocalStorageAdapter, getDefaultAuthStorage, type CookieStorageAdapterOptions, } from './auth/AuthStorageAdapter';
32
33
  export * from './utils/images';
33
34
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAGtE,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AAGxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,YAAY,EACR,QAAQ,EACR,UAAU,EACV,UAAU,EACV,aAAa,EACb,eAAe,GAClB,MAAM,cAAc,CAAC;AAGtB,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAGtE,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AAGxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,YAAY,EACR,QAAQ,EACR,UAAU,EACV,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,eAAe,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EACH,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,2BAA2B,GACnC,MAAM,2BAA2B,CAAC;AAGnC,cAAc,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -28,6 +28,7 @@ export * from './hooks/useMkStore';
28
28
  export { MkAuthProvider } from './auth/MkAuthProvider';
29
29
  export { useMkAuth } from './auth/useMkAuth';
30
30
  export { MkAuthForm } from './auth/MkAuthForm';
31
+ export { CookieStorageAdapter, LocalStorageAdapter, getDefaultAuthStorage, } from './auth/AuthStorageAdapter';
31
32
  // Utils
32
33
  export * from './utils/images';
33
34
  // Note: Global CSS (`@makroz/web/styles/index.css`) MUST be imported by the
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAEtE,WAAW;AACX,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AAExC,QAAQ;AACR,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AAEnC,qEAAqE;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAW/C,QAAQ;AACR,cAAc,gBAAgB,CAAC;AAE/B,4EAA4E;AAC5E,uEAAuE;AACvE,qEAAqE;AACrE,2EAA2E"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAEtE,WAAW;AACX,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AAExC,QAAQ;AACR,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AAEnC,qEAAqE;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAW/C,OAAO,EACH,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,GAExB,MAAM,2BAA2B,CAAC;AAEnC,QAAQ;AACR,cAAc,gBAAgB,CAAC;AAE/B,4EAA4E;AAC5E,uEAAuE;AACvE,qEAAqE;AACrE,2EAA2E"}
@@ -1 +1 @@
1
- {"version":3,"file":"MkThemeProvider.d.ts","sourceRoot":"","sources":["../../src/theme/MkThemeProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA+E,MAAM,OAAO,CAAC;AACpG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C,UAAU,gBAAgB;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAEjC,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAID,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,WAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,eAAe,GAChB,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACpC,eAAe,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;CACpC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA4FpB;AAED,eAAO,MAAM,UAAU,wBAMtB,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"MkThemeProvider.d.ts","sourceRoot":"","sources":["../../src/theme/MkThemeProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA+E,MAAM,OAAO,CAAC;AACpG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C,UAAU,gBAAgB;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAEjC,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAID,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,WAAmB,EACnB,YAAY,GACb,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA2FpB;AAED,eAAO,MAAM,UAAU,wBAMtB,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MkThemeProvider.js","sourceRoot":"","sources":["../../src/theme/MkThemeProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MkThemeProvider.js","sourceRoot":"","sources":["../../src/theme/MkThemeProvider.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * @vitest-environment node
3
+ *
4
+ * Dynamic import() coverage for the MME enforcer (R-MK-001).
5
+ * Blocked in rc12 because the original rule only handled
6
+ * `ImportDeclaration` and `ExportNamedDeclaration`/`ExportAllDeclaration`,
7
+ * letting `await import('@/modules/admin/...')` bypass the boundary check.
8
+ *
9
+ * Companion to `no-cross-module-import.test.js`. We keep this as a
10
+ * separate file so the failure mode ("dynamic imports leak") is
11
+ * obvious from the file name at PR review time.
12
+ */
13
+ import { describe, it, expect } from 'vitest';
14
+ import { RuleTester } from 'eslint';
15
+ import rule from '../rules/no-cross-module-import.js';
16
+
17
+ const ruleTester = new RuleTester({
18
+ languageOptions: {
19
+ ecmaVersion: 2022,
20
+ sourceType: 'module',
21
+ },
22
+ });
23
+
24
+ describe('no-cross-module-import — dynamic import()', () => {
25
+ ruleTester.run('no-cross-module-import (dynamic)', rule, {
26
+ valid: [
27
+ // Dynamic import of same module's deep path — OK
28
+ {
29
+ filename: '/app/src/modules/payments/hooks/usePayment.ts',
30
+ code: "const m = await import('@/modules/payments/components/PaymentForm');",
31
+ },
32
+ // Dynamic import of another module's public index — OK
33
+ {
34
+ filename: '/app/src/modules/payments/hooks/usePayment.ts',
35
+ code: "const m = await import('@/modules/admin');",
36
+ },
37
+ // Dynamic import outside any module — OK
38
+ {
39
+ filename: '/app/src/app/admin/page.tsx',
40
+ code: "const m = await import('@/modules/admin/components/AdminForm');",
41
+ },
42
+ // Dynamic import with non-literal expression — silently skipped
43
+ // (cannot be analyzed statically). This is an accepted gap, not a bug.
44
+ {
45
+ filename: '/app/src/modules/payments/hooks/usePayment.ts',
46
+ code: "const m = await import(someDynamicPath);",
47
+ },
48
+ // Dynamic import in test file pointing cross-module — OK (tests excluded)
49
+ {
50
+ filename: '/app/src/modules/payments/__tests__/usePayment.test.ts',
51
+ code: "const m = await import('@/modules/admin/components/AdminForm');",
52
+ },
53
+ ],
54
+
55
+ invalid: [
56
+ // Dynamic import cross-module deep path — should fail
57
+ {
58
+ filename: '/app/src/modules/payments/hooks/usePayment.ts',
59
+ code: "const m = await import('@/modules/admin/components/AdminForm');",
60
+ errors: [{ messageId: 'forbidden' }],
61
+ },
62
+ // Dynamic import cross-module via relative path — should fail
63
+ {
64
+ filename: '/app/src/modules/payments/hooks/usePayment.ts',
65
+ code: "const m = await import('../../admin/components/AdminForm');",
66
+ errors: [{ messageId: 'forbidden' }],
67
+ },
68
+ // Synchronous dynamic import (top-level await) cross-module — should fail
69
+ {
70
+ filename: '/app/src/modules/payments/hooks/usePayment.ts',
71
+ code: "const m = import('@/modules/admin/components/AdminForm');",
72
+ errors: [{ messageId: 'forbidden' }],
73
+ },
74
+ ],
75
+ });
76
+
77
+ it('registers the dynamic-import visitor', () => {
78
+ // Sanity check: the rule's create() returns an ImportExpression
79
+ // visitor. If a future refactor drops it, this test fails loudly
80
+ // instead of silently letting dynamic imports bypass the rule.
81
+ const sandboxFilename = '/app/src/modules/payments/hooks/usePayment.ts';
82
+ const context = {
83
+ getFilename: () => sandboxFilename,
84
+ report: () => {},
85
+ };
86
+ const visitors = rule.create(context);
87
+ expect(typeof visitors.ImportExpression).toBe('function');
88
+ });
89
+ });
@@ -5,6 +5,10 @@
5
5
  * inside another module. Only `@/modules/{X}` (the index/public API)
6
6
  * is allowed.
7
7
  *
8
+ * Covers both static `import ... from '...'` and dynamic
9
+ * `import('...')` (await import() for code splitting) so that
10
+ * R-MK-001 cannot be bypassed via dynamic imports.
11
+ *
8
12
  * Scenarios:
9
13
  * Given file src/modules/payments/hooks/usePayment.ts
10
14
  * When it imports '@/modules/admin/components/AdminForm'
@@ -14,6 +18,9 @@
14
18
  * Given the same file imports '@/modules/admin'
15
19
  * Then the lint passes.
16
20
  *
21
+ * Given the same file does `await import('@/modules/admin/components/AdminForm')`
22
+ * Then the lint also fails (dynamic imports are caught).
23
+ *
17
24
  * Given a file OUTSIDE any module (e.g. src/app/admin/page.tsx)
18
25
  * When it imports '@/modules/admin/...'
19
26
  * Then the lint passes — the app is the consumer of the public API.
@@ -58,6 +65,12 @@ export default {
58
65
  const sourceModule = moduleMatch[1];
59
66
 
60
67
  function checkImport(node) {
68
+ // Both ImportDeclaration and ImportExpression (dynamic import())
69
+ // carry the literal source string at `node.source.value` when the
70
+ // argument is a string literal. For dynamic imports with a
71
+ // non-literal expression (e.g. `import(someVar)`), this is
72
+ // `undefined` and we skip the check — those cases need static
73
+ // analysis beyond ESLint.
61
74
  const importPath = node.source?.value;
62
75
  if (typeof importPath !== 'string') return;
63
76
 
@@ -92,6 +105,9 @@ export default {
92
105
 
93
106
  return {
94
107
  ImportDeclaration: checkImport,
108
+ // Catches `await import('...')` and `import('...')` so R-MK-001
109
+ // cannot be bypassed via dynamic imports for code splitting.
110
+ ImportExpression: checkImport,
95
111
  // Also catch `export ... from '...'` re-exports.
96
112
  ExportNamedDeclaration: checkImport,
97
113
  ExportAllDeclaration: checkImport,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@makroz/web",
3
- "version": "1.2.5",
3
+ "version": "1.2.6",
4
4
  "description": "React UI components and hooks for MK-Director web applications",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -33,7 +33,7 @@
33
33
  },
34
34
  "dependencies": {
35
35
  "@tanstack/react-query": "^5.62.0",
36
- "@makroz/core": "1.1.5"
36
+ "@makroz/core": "1.1.6"
37
37
  },
38
38
  "peerDependencies": {
39
39
  "next": "^16.0.0",