@tobi-or-not/docpress 0.1.0 → 0.1.1

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/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Docpress :robot:
1
+ # Docpress :zap:
2
2
 
3
3
  This project aims to automate the construction of documentation website based on a Github username and optionally a list of repositories.
4
4
 
@@ -9,15 +9,29 @@ After downloading all project documentation files, it will build a static websit
9
9
 
10
10
  > If a `docs/` folder is present, all files in it will be sorted and renamed without the prefix number so it will not appeared inside the generated website. Example: `docs/01-get-started.md` will become `get-started.md`.
11
11
 
12
+ ## Rules
13
+
14
+ It is important to understand and respect some conventions for the script to work correctly :
15
+ - Only the `docs/` root folder in the repository will be parsed to import advanced documentation (multi pages documentation, embed images or files, etc...).
16
+ - The `README.md` root file will only be imported if there is no `./docs/01-readme.md` file (this allows you to manage differences between the readme file and the advanced documentation introduction page, for example using a table of contents in the readme file that makes no sense in the documentation website).
17
+ - Any inline link in the `README.md` root file that does not point to `./docs/**` will be replaced by the appropriate Github link.
18
+ - Each project description on the home page is extracted from the Github repository description.
19
+
12
20
  ## Quickstart
13
21
 
22
+ Generate website using the Docpress docker image :
23
+
14
24
  ```sh
15
- git clone https://github.com/this-is-tobi/docpress.git
16
- cd ./docpress
17
- docker build --tag robots/docpress --target prod .
18
- docker run --publish 8080:8080 --name docpress --rm -v $(pwd)/docpress:/app/docpress:rw robots/docpress -u <username>
25
+ docker run \
26
+ --publish 8080:8080 \
27
+ --name docpress \
28
+ --rm \
29
+ -v $(pwd)/docpress:/app/docpress:rw ghcr.io/this-is-tobi/docpress \
30
+ -u <github_username>
19
31
  ```
20
32
 
33
+ The dist folder is available at `./docpress/.vitepress.dist`, ready to be delivered with a web server like Nginx, Apache, etc...
34
+
21
35
  ## Advanced usage
22
36
 
23
37
  ```txt
package/bin/docpress.js CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env -S NODE_OPTIONS=--no-warnings node
1
+ #!/usr/bin/env -S node --no-warnings=ExperimentalWarning
2
2
 
3
3
  import main from '../dist/index.js'
4
4
 
package/dist/lib/fetch.js CHANGED
@@ -22,7 +22,7 @@ export async function fetchDoc({ username, branch, reposFilter, token }) {
22
22
  .then(async ({ user, repos, branch }) => generateInfos(user, repos, branch, reposFilter))
23
23
  .then(async ({ repos }) => getDoc(repos, reposFilter));
24
24
  }
25
- async function enhanceRepositories(repos, branch, reposFilter) {
25
+ export async function enhanceRepositories(repos, branch, reposFilter) {
26
26
  const enhancedRepos = [];
27
27
  await Promise.all(repos.map(async (repo) => {
28
28
  const computedBranch = branch ?? repo.default_branch ?? 'main';
@@ -46,7 +46,7 @@ async function enhanceRepositories(repos, branch, reposFilter) {
46
46
  }));
47
47
  return enhancedRepos;
48
48
  }
49
- async function getSparseCheckout(repo, branch) {
49
+ export async function getSparseCheckout(repo, branch) {
50
50
  const docsStatus = await checkDoc(repo.owner.login, repo.name, branch);
51
51
  const includes = [];
52
52
  if (Object.values(docsStatus).every(status => status === 404) || !repo.size) {
@@ -60,13 +60,13 @@ async function getSparseCheckout(repo, branch) {
60
60
  }
61
61
  return includes;
62
62
  }
63
- async function generateInfos(user, repos, branch, reposFilter) {
63
+ export async function generateInfos(user, repos, branch, reposFilter) {
64
64
  writeFileSync(USER_INFOS, JSON.stringify(user, null, 2));
65
65
  const enhancedRepos = await enhanceRepositories(repos, branch, reposFilter);
66
66
  writeFileSync(USER_REPOS_INFOS, JSON.stringify(enhancedRepos, null, 2));
67
67
  return { user, repos: enhancedRepos };
68
68
  }
69
- async function getDoc(repos, reposFilter) {
69
+ export async function getDoc(repos, reposFilter) {
70
70
  if (!repos) {
71
71
  console.warn('No repository respect docpress rules.');
72
72
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/lib/fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/lib/fetch.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { prettifyEnum } from '../utils/functions.js';
3
- const providers = ['github', 'gitlab'];
3
+ const providers = ['github'];
4
4
  export const fetchOptsSchema = z.object({
5
5
  branch: z.string()
6
6
  .describe('Branch used to collect Git provider data.')
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/schemas/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEpD,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAU,CAAA;AAE/C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;SACf,QAAQ,CAAC,2CAA2C,CAAC;SACrD,QAAQ,EAAE;SACV,OAAO,CAAC,MAAM,CAAC;IAClB,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;SAC3B,QAAQ,CAAC,+DAA+D,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC;SACnG,QAAQ,EAAE;SACV,OAAO,CAAC,QAAQ,CAAC;IACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;SACpB,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACpC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;SACtB,QAAQ,CAAC,iHAAiH,CAAC;SAC3H,QAAQ,EAAE;IACb,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;SACd,QAAQ,CAAC,0CAA0C,CAAC;SACpD,QAAQ,EAAE;IACb,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;SACjB,QAAQ,CAAC,6CAA6C,CAAC;CAC3D,CAAC,CAAA"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/schemas/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEpD,MAAM,SAAS,GAAG,CAAC,QAAQ,CAAU,CAAA;AAErC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;SACf,QAAQ,CAAC,2CAA2C,CAAC;SACrD,QAAQ,EAAE;SACV,OAAO,CAAC,MAAM,CAAC;IAClB,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;SAC3B,QAAQ,CAAC,+DAA+D,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC;SACnG,QAAQ,EAAE;SACV,OAAO,CAAC,QAAQ,CAAC;IACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;SACpB,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACpC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;SACtB,QAAQ,CAAC,iHAAiH,CAAC;SAC3H,QAAQ,EAAE;IACb,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;SACd,QAAQ,CAAC,0CAA0C,CAAC;SACpD,QAAQ,EAAE;IACb,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;SACjB,QAAQ,CAAC,6CAA6C,CAAC;CAC3D,CAAC,CAAA"}
@@ -9,10 +9,7 @@ export async function checkHttpStatus(url) {
9
9
  return response.status;
10
10
  }
11
11
  catch (error) {
12
- if (axios.isAxiosError(error) && error.response) {
13
- return error.response.status;
14
- }
15
- return 500;
12
+ return error.response?.status || error.status || 500;
16
13
  }
17
14
  }
18
15
  export function prettify(s, opts) {
@@ -32,7 +29,7 @@ export function prettify(s, opts) {
32
29
  else if (opts?.mode === 'uppercase') {
33
30
  u = (u || s).toUpperCase();
34
31
  }
35
- return u;
32
+ return u || s;
36
33
  }
37
34
  export function createDir(directory, { clean } = { clean: false }) {
38
35
  try {
@@ -70,13 +67,13 @@ export function getMdFiles(path) {
70
67
  export function prettifyEnum(arr) {
71
68
  return arr.reduce((acc, cur, idx, arr) => {
72
69
  if (!idx) {
73
- return cur;
70
+ return `"${cur}"`;
74
71
  }
75
72
  else if (idx === arr.length - 1) {
76
- return `${JSON.stringify(acc)} or ${JSON.stringify(cur)}`;
73
+ return `${acc} or "${cur}"`;
77
74
  }
78
75
  else {
79
- return `${JSON.stringify(acc)}, ${JSON.stringify(cur)}`;
76
+ return `${acc}, "${cur}"`;
80
77
  }
81
78
  }, '');
82
79
  }
@@ -88,8 +85,11 @@ export function getUserRepos() {
88
85
  }
89
86
  export function deepMerge(...objects) {
90
87
  return objects.reduce((acc, obj) => {
88
+ if (obj === null) {
89
+ return acc;
90
+ }
91
91
  Object.keys(obj).forEach((key) => {
92
- const accValue = acc[key];
92
+ const accValue = acc ? acc[key] : null;
93
93
  const objValue = obj[key];
94
94
  if (isObject(accValue) && isObject(objValue)) {
95
95
  acc[key] = deepMerge(accValue, objValue);
@@ -1 +1 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/utils/functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/utils/functions.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tobi-or-not/docpress",
3
3
  "type": "module",
4
- "version": "0.1.0",
4
+ "version": "0.1.1",
5
5
  "main": "bin/index.js",
6
6
  "types": "types/index.d.ts",
7
7
  "bin": {
@@ -30,12 +30,14 @@
30
30
  "@commitlint/cli": "^19.5.0",
31
31
  "@commitlint/config-conventional": "^19.5.0",
32
32
  "@types/node": "^22.7.7",
33
+ "@vitest/coverage-v8": "^2.1.3",
33
34
  "eslint": "^9.13.0",
34
35
  "husky": "^9.1.6",
35
36
  "lint-staged": "^15.2.10",
36
37
  "typescript": "^5.6.3",
37
38
  "vite": "^5.4.9",
38
- "vite-node": "^2.1.3"
39
+ "vite-node": "^2.1.3",
40
+ "vitest": "^2.1.3"
39
41
  },
40
42
  "publishConfig": {
41
43
  "registry": "https://registry.npmjs.org/",
@@ -52,7 +54,8 @@
52
54
  "start": "./bin/docpress.js",
53
55
  "start:docker": "docker run --publish 8080:8080 --name docpress --rm -v $(pwd)/docpress:/app/docpress:rw robots/docpress",
54
56
  "stop:docker": "docker rm --force docpress",
55
- "test": "echo 'wip'",
57
+ "test": "vitest run",
58
+ "test:cov": "vitest run --coverage",
56
59
  "vp:build": "vitepress build ./docpress",
57
60
  "vp:build:docker": "docker build --tag robots/docs --target prod .",
58
61
  "vp:dev": "vitepress dev ./docpress --port 8080",
@@ -16,4 +16,104 @@ export declare function checkDoc(repoOwner: FetchOpts['username'], repoName: str
16
16
  docsReadmeStatus: number;
17
17
  }>;
18
18
  export declare function fetchDoc({ username, branch, reposFilter, token }: FetchOpts): Promise<void>;
19
+ export declare function enhanceRepositories(repos: Awaited<ReturnType<typeof getInfos>>['repos'], branch?: FetchOpts['branch'], reposFilter?: FetchOpts['reposFilter']): Promise<EnhancedRepository[]>;
20
+ export declare function getSparseCheckout(repo: Awaited<ReturnType<typeof getInfos>>['repos'][number], branch: FetchOpts['branch']): Promise<string[]>;
21
+ export declare function generateInfos(user: Awaited<ReturnType<typeof getInfos>>['user'], repos: Awaited<ReturnType<typeof getInfos>>['repos'], branch?: FetchOpts['branch'], reposFilter?: FetchOpts['reposFilter']): Promise<{
22
+ user: {
23
+ login: string;
24
+ id: number;
25
+ node_id: string;
26
+ avatar_url: string;
27
+ gravatar_id: string | null;
28
+ url: string;
29
+ html_url: string;
30
+ followers_url: string;
31
+ following_url: string;
32
+ gists_url: string;
33
+ starred_url: string;
34
+ subscriptions_url: string;
35
+ organizations_url: string;
36
+ repos_url: string;
37
+ events_url: string;
38
+ received_events_url: string;
39
+ type: string;
40
+ site_admin: boolean;
41
+ name: string | null;
42
+ company: string | null;
43
+ blog: string | null;
44
+ location: string | null;
45
+ email: string | null;
46
+ hireable: boolean | null;
47
+ bio: string | null;
48
+ twitter_username?: string | null;
49
+ public_repos: number;
50
+ public_gists: number;
51
+ followers: number;
52
+ following: number;
53
+ created_at: string;
54
+ updated_at: string;
55
+ private_gists: number;
56
+ total_private_repos: number;
57
+ owned_private_repos: number;
58
+ disk_usage: number;
59
+ collaborators: number;
60
+ two_factor_authentication: boolean;
61
+ plan?: {
62
+ collaborators: number;
63
+ name: string;
64
+ space: number;
65
+ private_repos: number;
66
+ };
67
+ suspended_at?: string | null;
68
+ business_plus?: boolean;
69
+ ldap_dn?: string;
70
+ } | {
71
+ login: string;
72
+ id: number;
73
+ node_id: string;
74
+ avatar_url: string;
75
+ gravatar_id: string | null;
76
+ url: string;
77
+ html_url: string;
78
+ followers_url: string;
79
+ following_url: string;
80
+ gists_url: string;
81
+ starred_url: string;
82
+ subscriptions_url: string;
83
+ organizations_url: string;
84
+ repos_url: string;
85
+ events_url: string;
86
+ received_events_url: string;
87
+ type: string;
88
+ site_admin: boolean;
89
+ name: string | null;
90
+ company: string | null;
91
+ blog: string | null;
92
+ location: string | null;
93
+ email: string | null;
94
+ hireable: boolean | null;
95
+ bio: string | null;
96
+ twitter_username?: string | null;
97
+ public_repos: number;
98
+ public_gists: number;
99
+ followers: number;
100
+ following: number;
101
+ created_at: string;
102
+ updated_at: string;
103
+ plan?: {
104
+ collaborators: number;
105
+ name: string;
106
+ space: number;
107
+ private_repos: number;
108
+ };
109
+ suspended_at?: string | null;
110
+ private_gists?: number;
111
+ total_private_repos?: number;
112
+ owned_private_repos?: number;
113
+ disk_usage?: number;
114
+ collaborators?: number;
115
+ };
116
+ repos: EnhancedRepository[];
117
+ }>;
118
+ export declare function getDoc(repos?: EnhancedRepository[], reposFilter?: FetchOpts['reposFilter']): Promise<void>;
19
119
  export declare function isRepoFiltered(repo: EnhancedRepository | Awaited<ReturnType<typeof getInfos>>['repos'][number], reposFilter?: FetchOpts['reposFilter']): boolean;
@@ -1,20 +1,20 @@
1
1
  import { z } from 'zod';
2
2
  export declare const fetchOptsSchema: z.ZodObject<{
3
3
  branch: z.ZodDefault<z.ZodOptional<z.ZodString>>;
4
- gitProvider: z.ZodDefault<z.ZodOptional<z.ZodEnum<["github", "gitlab"]>>>;
4
+ gitProvider: z.ZodDefault<z.ZodOptional<z.ZodEnum<["github"]>>>;
5
5
  reposFilter: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodString, string[], string>, z.ZodArray<z.ZodString, "many">]>>;
6
6
  token: z.ZodOptional<z.ZodString>;
7
7
  username: z.ZodString;
8
8
  }, "strip", z.ZodTypeAny, {
9
9
  branch: string;
10
- gitProvider: "github" | "gitlab";
10
+ gitProvider: "github";
11
11
  username: string;
12
12
  reposFilter?: string[] | undefined;
13
13
  token?: string | undefined;
14
14
  }, {
15
15
  username: string;
16
16
  branch?: string | undefined;
17
- gitProvider?: "github" | "gitlab" | undefined;
17
+ gitProvider?: "github" | undefined;
18
18
  reposFilter?: string | string[] | undefined;
19
19
  token?: string | undefined;
20
20
  }>;
@@ -2,7 +2,7 @@ import { z } from 'zod';
2
2
  export declare const globalOptsSchema: z.ZodObject<{
3
3
  config: z.ZodOptional<z.ZodEffects<z.ZodString, {
4
4
  branch: string;
5
- gitProvider: "github" | "gitlab";
5
+ gitProvider: "github";
6
6
  username: string;
7
7
  reposFilter?: string[] | undefined;
8
8
  token?: string | undefined;
@@ -15,7 +15,7 @@ export declare const globalOptsSchema: z.ZodObject<{
15
15
  }, "strip", z.ZodTypeAny, {
16
16
  config?: ({
17
17
  branch: string;
18
- gitProvider: "github" | "gitlab";
18
+ gitProvider: "github";
19
19
  username: string;
20
20
  reposFilter?: string[] | undefined;
21
21
  token?: string | undefined;
@@ -31,7 +31,7 @@ export declare const globalOptsSchema: z.ZodObject<{
31
31
  export type GlobalOpts = Zod.infer<typeof globalOptsSchema>;
32
32
  export declare const configSchema: z.ZodObject<z.objectUtil.extendShape<z.objectUtil.extendShape<{
33
33
  branch: z.ZodDefault<z.ZodOptional<z.ZodString>>;
34
- gitProvider: z.ZodDefault<z.ZodOptional<z.ZodEnum<["github", "gitlab"]>>>;
34
+ gitProvider: z.ZodDefault<z.ZodOptional<z.ZodEnum<["github"]>>>;
35
35
  reposFilter: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodString, string[], string>, z.ZodArray<z.ZodString, "many">]>>;
36
36
  token: z.ZodOptional<z.ZodString>;
37
37
  username: z.ZodString;
@@ -42,7 +42,7 @@ export declare const configSchema: z.ZodObject<z.objectUtil.extendShape<z.object
42
42
  vitepressConfig: z.ZodOptional<z.ZodEffects<z.ZodString, import("vitepress").UserConfig<import("vitepress").DefaultTheme.Config>, string>>;
43
43
  }>, {}>, "strip", z.ZodTypeAny, {
44
44
  branch: string;
45
- gitProvider: "github" | "gitlab";
45
+ gitProvider: "github";
46
46
  username: string;
47
47
  reposFilter?: string[] | undefined;
48
48
  token?: string | undefined;
@@ -53,7 +53,7 @@ export declare const configSchema: z.ZodObject<z.objectUtil.extendShape<z.object
53
53
  }, {
54
54
  username: string;
55
55
  branch?: string | undefined;
56
- gitProvider?: "github" | "gitlab" | undefined;
56
+ gitProvider?: "github" | undefined;
57
57
  reposFilter?: string | string[] | undefined;
58
58
  token?: string | undefined;
59
59
  extraHeaderPages?: string | undefined;
@@ -14,20 +14,20 @@ export declare const options: {
14
14
  build: import("zod").ZodObject<{}, "strip", import("zod").ZodTypeAny, {}, {}>;
15
15
  fetch: import("zod").ZodObject<{
16
16
  branch: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
17
- gitProvider: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodEnum<["github", "gitlab"]>>>;
17
+ gitProvider: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodEnum<["github"]>>>;
18
18
  reposFilter: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodString, string[], string>, import("zod").ZodArray<import("zod").ZodString, "many">]>>;
19
19
  token: import("zod").ZodOptional<import("zod").ZodString>;
20
20
  username: import("zod").ZodString;
21
21
  }, "strip", import("zod").ZodTypeAny, {
22
22
  branch: string;
23
- gitProvider: "github" | "gitlab";
23
+ gitProvider: "github";
24
24
  username: string;
25
25
  reposFilter?: string[] | undefined;
26
26
  token?: string | undefined;
27
27
  }, {
28
28
  username: string;
29
29
  branch?: string | undefined;
30
- gitProvider?: "github" | "gitlab" | undefined;
30
+ gitProvider?: "github" | undefined;
31
31
  reposFilter?: string | string[] | undefined;
32
32
  token?: string | undefined;
33
33
  }>;
@@ -50,7 +50,7 @@ export declare const options: {
50
50
  global: import("zod").ZodObject<{
51
51
  config: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodString, {
52
52
  branch: string;
53
- gitProvider: "github" | "gitlab";
53
+ gitProvider: "github";
54
54
  username: string;
55
55
  reposFilter?: string[] | undefined;
56
56
  token?: string | undefined;
@@ -63,7 +63,7 @@ export declare const options: {
63
63
  }, "strip", import("zod").ZodTypeAny, {
64
64
  config?: ({
65
65
  branch: string;
66
- gitProvider: "github" | "gitlab";
66
+ gitProvider: "github";
67
67
  username: string;
68
68
  reposFilter?: string[] | undefined;
69
69
  token?: string | undefined;
@@ -17,5 +17,5 @@ export declare function getMdFiles(path: string[]): string[];
17
17
  export declare function prettifyEnum(arr: readonly string[]): string;
18
18
  export declare function getUserInfos(): Awaited<ReturnType<typeof getInfos>>["user"];
19
19
  export declare function getUserRepos(): EnhancedRepository[];
20
- export declare function deepMerge<T extends Record<string, any>>(...objects: T[]): T;
20
+ export declare function deepMerge<T extends Record<string, any> | null>(...objects: T[]): T;
21
21
  export {};