@strapi/plugin-documentation 4.2.1-alpha.0 → 4.2.2

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,9 +1,10 @@
1
1
  {
2
+ "coming-soon": "Zawartość w trakcie budowy, wróci w ciągu kilku tygodni!",
2
3
  "components.Row.open": "Otwórz",
3
4
  "components.Row.regenerate": "Wygeneruj ponownie",
4
5
  "containers.HomePage.Block.title": "Wersje",
5
6
  "containers.HomePage.Button.update": "Zaktualizuj",
6
- "containers.HomePage.PluginHeader.title": "Dokuemntacja - Ustawienia",
7
+ "containers.HomePage.PluginHeader.title": "Dokumentacja - Ustawienia",
7
8
  "containers.HomePage.PopUpWarning.confirm": "Rozumiem",
8
9
  "containers.HomePage.PopUpWarning.message": "Czy jesteś pewien, że chcesz usunąć tę wersję?",
9
10
  "containers.HomePage.copied": "Token skopiowany do schowka",
@@ -11,14 +12,28 @@
11
12
  "containers.HomePage.form.jwtToken.description": "Skopiuj token i użyj go w swaggerze aby wykonać request",
12
13
  "containers.HomePage.form.password": "Hasło",
13
14
  "containers.HomePage.form.password.inputDescription": "Ustaw hasło aby uzyskać dostęp do dokumentacji",
14
- "containers.HomePage.form.restrictedAccess": "Dostęp Ograniczony",
15
+ "containers.HomePage.form.restrictedAccess": "Dostęp ograniczony",
15
16
  "containers.HomePage.form.restrictedAccess.inputDescription": "Ustaw endpoint dokumentacji jako prywatny. Domyślnie dostęp jest publiczny.",
16
17
  "containers.HomePage.form.showGeneratedFiles": "Pokaż wygenerowane pliki",
17
- "containers.HomePage.form.showGeneratedFiles.inputDescription": "Przydatne, gdy chcesz nadpisać wygenerowaną dokumentację. \nWtyczka wygeneruje pliki i podzieli je według modelu i wtyczki. \nWłączenie tej opcji ułatwi dostosowywanie dokumentacji",
18
+ "containers.HomePage.form.showGeneratedFiles.inputDescription": "Przydatne, gdy chcesz nadpisać wygenerowaną dokumentację. \nPlugin wygeneruje pliki i podzieli je według modelu i pluginu. \nWłączenie tej opcji ułatwi dostosowywanie dokumentacji",
18
19
  "error.deleteDoc.versionMissing": "Wersja, którą próbujesz usunąć nie istnieje.",
19
20
  "error.noVersion": "Wersja jest wymagana",
20
21
  "error.regenerateDoc": "Wystąpił błąd podczas ponownego generowania dokumentacji",
21
- "error.regenerateDoc.versionMissing": "Wersja, którą prubujesz wygenerować nie istnieje.",
22
+ "error.regenerateDoc.versionMissing": "Wersja, którą próbujesz wygenerować nie istnieje.",
23
+ "notification.delete.success": "Dokumentacja usunięta",
24
+ "notification.generate.success": "Dokumentacja wygenerowana",
22
25
  "notification.update.success": "Ustawienia zaktualizowane pomyślnie",
26
+ "pages.PluginPage.Button.open": "Otwórz dokumentację",
27
+ "pages.PluginPage.header.description": "Skonfiguruj plugin dokumentacji",
28
+ "pages.PluginPage.table.generated": "Ostatnio wygenerowane",
29
+ "pages.PluginPage.table.icon.regenerate": "Wygeneruj ponownie {target}",
30
+ "pages.PluginPage.table.icon.show": "Otwórz {target}",
31
+ "pages.PluginPage.table.version": "Wersja",
32
+ "pages.SettingsPage.Button.description": "Skonfiguruj plugin dokumentacji",
33
+ "pages.SettingsPage.header.save": "Zapisz",
34
+ "pages.SettingsPage.toggle.hint": "Ustaw endpoint dokumentacji na prywatny",
35
+ "pages.SettingsPage.toggle.label": "Dostęp ograniczony",
36
+ "plugin.description.long": "Stwórz dokument OpenAPI i zwizualizuj swoje API z SWAGGER UI.",
37
+ "plugin.description.short": "Stwórz dokument OpenAPI i zwizualizuj swoje API z SWAGGER UI.",
23
38
  "plugin.name": "Dokumentacja"
24
39
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/plugin-documentation",
3
- "version": "4.2.1-alpha.0",
3
+ "version": "4.2.2",
4
4
  "description": "Create an OpenAPI Document and visualize your API with SWAGGER UI.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -24,8 +24,8 @@
24
24
  "test": "echo \"no tests yet\""
25
25
  },
26
26
  "dependencies": {
27
- "@strapi/helper-plugin": "4.2.1-alpha.0",
28
- "@strapi/utils": "4.2.1-alpha.0",
27
+ "@strapi/helper-plugin": "4.2.2",
28
+ "@strapi/utils": "4.2.2",
29
29
  "bcryptjs": "2.4.3",
30
30
  "cheerio": "^1.0.0-rc.5",
31
31
  "fs-extra": "10.0.0",
@@ -42,7 +42,8 @@
42
42
  "react-router-dom": "5.2.0",
43
43
  "redux": "^4.0.1",
44
44
  "reselect": "^4.0.0",
45
- "swagger-ui-dist": "4.11.1"
45
+ "swagger-ui-dist": "4.11.1",
46
+ "yaml": "1.10.2"
46
47
  },
47
48
  "peerDependencies": {
48
49
  "@strapi/strapi": "^4.0.0"
@@ -57,5 +58,5 @@
57
58
  "description": "Create an OpenAPI Document and visualize your API with SWAGGER UI.",
58
59
  "kind": "plugin"
59
60
  },
60
- "gitHead": "90bd3b9e294a69cd9538bde4e2e853e6de60f238"
61
+ "gitHead": "376ff3133c13f6eb10d0c90f4b5eb701592aff97"
61
62
  }
@@ -11,7 +11,17 @@ const { builApiEndpointPath, buildComponentSchema } = require('./helpers');
11
11
  module.exports = ({ strapi }) => {
12
12
  const config = strapi.config.get('plugin.documentation');
13
13
 
14
+ const registeredDocs = [];
15
+
14
16
  return {
17
+ registerDoc(doc) {
18
+ // parseYaml
19
+ if (typeof doc === 'string') {
20
+ doc = require('yaml').parse(doc);
21
+ }
22
+ // receive an object we can register it directly
23
+ registeredDocs.push(doc);
24
+ },
15
25
  getDocumentationVersion() {
16
26
  return _.get(config, 'info.version');
17
27
  },
@@ -27,7 +37,7 @@ module.exports = ({ strapi }) => {
27
37
  getDocumentationVersions() {
28
38
  return fs
29
39
  .readdirSync(this.getFullDocumentationPath())
30
- .map(version => {
40
+ .map((version) => {
31
41
  try {
32
42
  const doc = JSON.parse(
33
43
  fs.readFileSync(
@@ -41,7 +51,7 @@ module.exports = ({ strapi }) => {
41
51
  return null;
42
52
  }
43
53
  })
44
- .filter(x => x);
54
+ .filter((x) => x);
45
55
  },
46
56
 
47
57
  /**
@@ -88,7 +98,7 @@ module.exports = ({ strapi }) => {
88
98
 
89
99
  getPluginAndApiInfo() {
90
100
  const plugins = _.get(config, 'x-strapi-config.plugins');
91
- const pluginsToDocument = plugins.map(plugin => {
101
+ const pluginsToDocument = plugins.map((plugin) => {
92
102
  return {
93
103
  name: plugin,
94
104
  getter: 'plugin',
@@ -96,7 +106,7 @@ module.exports = ({ strapi }) => {
96
106
  };
97
107
  });
98
108
 
99
- const apisToDocument = Object.keys(strapi.api).map(api => {
109
+ const apisToDocument = Object.keys(strapi.api).map((api) => {
100
110
  return {
101
111
  name: api,
102
112
  getter: 'api',
@@ -173,8 +183,26 @@ module.exports = ({ strapi }) => {
173
183
  const customConfig = await this.getCustomConfig();
174
184
  const config = _.merge(defaultConfig, customConfig);
175
185
 
186
+ const finalDoc = { ...config, paths };
187
+
188
+ registeredDocs.forEach((doc) => {
189
+ // Add tags
190
+ finalDoc.tags = finalDoc.tags || [];
191
+ finalDoc.tags.push(...(doc.tags || []));
192
+
193
+ // Add Paths
194
+ _.assign(finalDoc.paths, doc.paths);
195
+
196
+ // Add components
197
+ _.forEach(doc.components || {}, (val, key) => {
198
+ finalDoc.components[key] = finalDoc.components[key] || {};
199
+
200
+ _.assign(finalDoc.components[key], val);
201
+ });
202
+ });
203
+
176
204
  await fs.ensureFile(fullDocJsonPath);
177
- await fs.writeJson(fullDocJsonPath, { ...config, paths }, { spaces: 2 });
205
+ await fs.writeJson(fullDocJsonPath, finalDoc, { spaces: 2 });
178
206
  },
179
207
  };
180
208
  };
package/yarn-error.log DELETED
@@ -1,95 +0,0 @@
1
- Arguments:
2
- /Users/alex/.nvm/versions/node/v16.13.2/bin/node /Users/alex/.nvm/versions/node/v16.13.2/bin/yarn
3
-
4
- PATH:
5
- /Users/alex/.nvm/versions/node/v16.13.2/bin:/Users/alex/.nvm/versions/node/v18.1.0/bin:/Users/alex/.nvm/versions/node/v16.13.2/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin:/Users/alex/.nvm/versions/node/v16.13.2/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/Users/alex/.yarn/bin:/Users/alex/.yarn/bin
6
-
7
- Yarn version:
8
- 1.22.17
9
-
10
- Node version:
11
- 16.13.2
12
-
13
- Platform:
14
- darwin arm64
15
-
16
- Trace:
17
- SyntaxError: /Users/alex/dev/strapi/strapi/packages/plugins/documentation/package.json: Unexpected token < in JSON at position 1187
18
- at JSON.parse (<anonymous>)
19
- at /Users/alex/.nvm/versions/node/v16.13.2/lib/node_modules/yarn/lib/cli.js:1625:59
20
- at Generator.next (<anonymous>)
21
- at step (/Users/alex/.nvm/versions/node/v16.13.2/lib/node_modules/yarn/lib/cli.js:310:30)
22
- at /Users/alex/.nvm/versions/node/v16.13.2/lib/node_modules/yarn/lib/cli.js:321:13
23
-
24
- npm manifest:
25
- {
26
- "name": "@strapi/plugin-documentation",
27
- "version": "4.1.12",
28
- "description": "Create an OpenAPI Document and visualize your API with SWAGGER UI.",
29
- "repository": {
30
- "type": "git",
31
- "url": "https://github.com/strapi/strapi.git",
32
- "directory": "packages/plugins/documentation"
33
- },
34
- "license": "SEE LICENSE IN LICENSE",
35
- "author": {
36
- "name": "Strapi Solutions SAS",
37
- "email": "hi@strapi.io",
38
- "url": "https://strapi.io"
39
- },
40
- "maintainers": [
41
- {
42
- "name": "Strapi Solutions SAS",
43
- "email": "hi@strapi.io",
44
- "url": "https://strapi.io"
45
- }
46
- ],
47
- "scripts": {
48
- "test": "echo \"no tests yet\""
49
- },
50
- "dependencies": {
51
- "@strapi/helper-plugin": "4.1.12",
52
- "@strapi/utils": "4.1.12",
53
- "bcryptjs": "2.4.3",
54
- "cheerio": "^1.0.0-rc.5",
55
- "fs-extra": "10.0.0",
56
- "koa-static": "^5.0.0",
57
- "lodash": "4.17.21",
58
- "path-to-regexp": "6.2.0",
59
- "pluralize": "8.0.0",
60
- "react": "^17.0.2",
61
- "react-copy-to-clipboard": "^5.0.3",
62
- "react-dom": "^17.0.2",
63
- "react-intl": "5.20.2",
64
- "react-redux": "7.2.3",
65
- "react-router": "^5.2.0",
66
- "react-router-dom": "5.2.0",
67
- "redux": "^4.0.1",
68
- "reselect": "^4.0.0",
69
- <<<<<<< HEAD
70
- "swagger-ui-dist": "3.47.1",
71
- "yaml": "1.10.2"
72
- =======
73
- "swagger-ui-dist": "4.11.1"
74
- >>>>>>> master
75
- },
76
- "peerDependencies": {
77
- "@strapi/strapi": "^4.0.0"
78
- },
79
- "engines": {
80
- "node": ">=12.22.0 <=16.x.x",
81
- "npm": ">=6.0.0"
82
- },
83
- "strapi": {
84
- "displayName": "Documentation",
85
- "name": "documentation",
86
- "description": "Create an OpenAPI Document and visualize your API with SWAGGER UI.",
87
- "kind": "plugin"
88
- }
89
- }
90
-
91
- yarn manifest:
92
- No manifest
93
-
94
- Lockfile:
95
- No lockfile