@kubohiroya/turbowarp-extension-security-dialog 0.3.1 → 0.3.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.
- package/README.ja.md +7 -3
- package/README.md +10 -5
- package/dist/index.cjs +7 -0
- package/dist/index.mjs +7 -0
- package/dist/react.cjs +9 -2
- package/dist/react.mjs +9 -2
- package/package.json +1 -1
package/README.ja.md
CHANGED
|
@@ -64,8 +64,8 @@ JSONのメタデータを直ちに表示し、選択一覧には「詳細」やJ
|
|
|
64
64
|
共通化した画像・サービスリンク・実行条件には `entry.metadata` と取得したソースのメタデータを使用します。
|
|
65
65
|
どちらか一方でも `unsandboxed: required` なら必要条件を維持し、バッジ・選択可能なモード・非対応選択の解除・
|
|
66
66
|
一括初期選択で同じ判断をします。セキュリティ確認のOKは、従来どおりソースのメタデータ取得の成功/失敗が確定するまで待ちます。
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
セキュリティ確認はソースヘッダーのバージョン・明示された製作者リンクとドキュメントリンク・出所URLを使用します。
|
|
68
|
+
URLがない製作者名は通常の文字で表示し、選択一覧はカタログのバージョンとリンクを使用します。
|
|
69
69
|
`entry.category` があれば両画面で同じ順序・日英見出しにし、カテゴリのないプロジェクトでは取得や推測をせず平坦な一覧を維持します。
|
|
70
70
|
|
|
71
71
|
|
|
@@ -255,7 +255,11 @@ coreとVMアダプターの利用にReact/React DOMは必要ありません。
|
|
|
255
255
|
## メタデータとプレビュー
|
|
256
256
|
|
|
257
257
|
セキュリティ確認ではHTTP/HTTPSの出所URLを別行に完全なURLで表示し、別タブで開きます。
|
|
258
|
-
|
|
258
|
+
埋め込みソースのURLや他のスキームは出所リンクにしません。選択一覧は従来どおりドキュメントURLを表示し、JS配布URLは表示しません。
|
|
259
|
+
埋め込みバンドルは先頭ヘッダーへ `// Author URL: https://example.org/creator`、
|
|
260
|
+
`// Docs URL: https://example.org/docs/`、`// Package: @example/bundle` を宣言できます。
|
|
261
|
+
セキュリティ確認にも、`By` / `Author` と組にした製作者リンク、HTTPSのドキュメントリンク、npmアイコンを表示します。
|
|
262
|
+
`Repository`・`Banner`・`Version`・日英説明も共通の表示部品を使用し、内包メンバーのnoticeからバンドル自身の情報を補いません。
|
|
259
263
|
ソース先頭の宣言コメントに `// Updated: 2026-10-19T10:30:00+09:00` などの更新日時がある場合、
|
|
260
264
|
記載値をそのまま表示します。`Updated at` / `Updated-at` / `UpdatedAt` / `Last updated` / `Last-updated` /
|
|
261
265
|
`Last modified` / `Last-modified` も同じ項目です。カスタム `loadInfo` は `metadata.updatedAt` を返せます。
|
package/README.md
CHANGED
|
@@ -167,9 +167,15 @@ Spacing tightens on short viewports.
|
|
|
167
167
|
## Metadata and previews
|
|
168
168
|
|
|
169
169
|
The security dialog retains its HTTP/HTTPS source-origin URL as a separate provenance line,
|
|
170
|
-
opening in a new tab. Embedded
|
|
170
|
+
opening in a new tab. Embedded source URLs and other schemes are not linked. The selection
|
|
171
171
|
list keeps its documentation URL instead; it never displays the JavaScript distribution URL.
|
|
172
172
|
|
|
173
|
+
Embedded bundles can declare `// Author URL: https://example.org/creator`,
|
|
174
|
+
`// Docs URL: https://example.org/docs/` and `// Package: @example/bundle` in the leading
|
|
175
|
+
header. Security review displays the declared creator link (with `By`/`Author`), HTTPS
|
|
176
|
+
documentation link and npm icon. `Repository`, `Banner`, `Version` and localized descriptions
|
|
177
|
+
use the same package renderer. Bundle member notices do not supply the bundle's own fields.
|
|
178
|
+
|
|
173
179
|
If the leading declaration comment in the source carries an update timestamp such as
|
|
174
180
|
`// Updated: 2026-10-19T10:30:00+09:00`, the written value is displayed verbatim.
|
|
175
181
|
`Updated at` / `Updated-at` / `UpdatedAt` / `Last updated` / `Last-updated` / `Last modified` /
|
|
@@ -306,10 +312,9 @@ For shared images, service links and execution requirements, optional `entry.met
|
|
|
306
312
|
complements the fetched source metadata. If either declares `unsandboxed: required`, the
|
|
307
313
|
shared badge, allowed choices, invalidation and batch defaults all honor that requirement.
|
|
308
314
|
Security still waits for source metadata to settle (success or failure) before accepting OK;
|
|
309
|
-
fetching declarations never executes the code.
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
changed by the shared renderer. Supplied `entry.category` is rendered in either view;
|
|
315
|
+
fetching declarations never executes the code. Security uses the source-header version,
|
|
316
|
+
explicit creator/documentation links and source provenance; a creator without a URL stays
|
|
317
|
+
plain text. Selection keeps catalog versions and links. Supplied `entry.category` is rendered in either view;
|
|
313
318
|
category-free project entries stay flat without any catalog lookup or inferred category.
|
|
314
319
|
|
|
315
320
|
|
package/dist/index.cjs
CHANGED
|
@@ -110,6 +110,9 @@ var parseExtensionMetadata = (source) => {
|
|
|
110
110
|
description: "description",
|
|
111
111
|
author: "author",
|
|
112
112
|
by: "author",
|
|
113
|
+
authorurl: "authorURL",
|
|
114
|
+
"author url": "authorURL",
|
|
115
|
+
"author-url": "authorURL",
|
|
113
116
|
version: "version",
|
|
114
117
|
updated: "updatedAt",
|
|
115
118
|
updatedat: "updatedAt",
|
|
@@ -122,6 +125,10 @@ var parseExtensionMetadata = (source) => {
|
|
|
122
125
|
license: "license",
|
|
123
126
|
repository: "repository",
|
|
124
127
|
source: "repository",
|
|
128
|
+
docsurl: "docsURL",
|
|
129
|
+
"docs url": "docsURL",
|
|
130
|
+
"docs-url": "docsURL",
|
|
131
|
+
package: "package",
|
|
125
132
|
banner: "banner",
|
|
126
133
|
thumbnail: "banner",
|
|
127
134
|
image: "banner",
|
package/dist/index.mjs
CHANGED
|
@@ -61,6 +61,9 @@ var parseExtensionMetadata = (source) => {
|
|
|
61
61
|
description: "description",
|
|
62
62
|
author: "author",
|
|
63
63
|
by: "author",
|
|
64
|
+
authorurl: "authorURL",
|
|
65
|
+
"author url": "authorURL",
|
|
66
|
+
"author-url": "authorURL",
|
|
64
67
|
version: "version",
|
|
65
68
|
updated: "updatedAt",
|
|
66
69
|
updatedat: "updatedAt",
|
|
@@ -73,6 +76,10 @@ var parseExtensionMetadata = (source) => {
|
|
|
73
76
|
license: "license",
|
|
74
77
|
repository: "repository",
|
|
75
78
|
source: "repository",
|
|
79
|
+
docsurl: "docsURL",
|
|
80
|
+
"docs url": "docsURL",
|
|
81
|
+
"docs-url": "docsURL",
|
|
82
|
+
package: "package",
|
|
76
83
|
banner: "banner",
|
|
77
84
|
thumbnail: "banner",
|
|
78
85
|
image: "banner",
|
package/dist/react.cjs
CHANGED
|
@@ -93,6 +93,9 @@ var parseExtensionMetadata = (source) => {
|
|
|
93
93
|
description: "description",
|
|
94
94
|
author: "author",
|
|
95
95
|
by: "author",
|
|
96
|
+
authorurl: "authorURL",
|
|
97
|
+
"author url": "authorURL",
|
|
98
|
+
"author-url": "authorURL",
|
|
96
99
|
version: "version",
|
|
97
100
|
updated: "updatedAt",
|
|
98
101
|
updatedat: "updatedAt",
|
|
@@ -105,6 +108,10 @@ var parseExtensionMetadata = (source) => {
|
|
|
105
108
|
license: "license",
|
|
106
109
|
repository: "repository",
|
|
107
110
|
source: "repository",
|
|
111
|
+
docsurl: "docsURL",
|
|
112
|
+
"docs url": "docsURL",
|
|
113
|
+
"docs-url": "docsURL",
|
|
114
|
+
package: "package",
|
|
108
115
|
banner: "banner",
|
|
109
116
|
thumbnail: "banner",
|
|
110
117
|
image: "banner",
|
|
@@ -982,9 +989,9 @@ var ExtensionSecurityDialog = class extends import_react4.default.Component {
|
|
|
982
989
|
previewIndex: row.previewIndex,
|
|
983
990
|
status: row.status,
|
|
984
991
|
onImageError: this.handleImageError,
|
|
985
|
-
linkCreator: Boolean(selection),
|
|
992
|
+
linkCreator: Boolean(selection || metadata.author && metadata.authorURL),
|
|
986
993
|
showMissingMetadata: Boolean(selection),
|
|
987
|
-
documentation: Boolean(selection),
|
|
994
|
+
documentation: Boolean(selection || metadata.docsURL),
|
|
988
995
|
provenance: !selection && /* @__PURE__ */ import_react4.default.createElement("div", { className: style_names_default.secondary }, sourceLink)
|
|
989
996
|
},
|
|
990
997
|
selection && /* @__PURE__ */ import_react4.default.createElement("div", { className: style_names_default.selectionStatus }, /* @__PURE__ */ import_react4.default.createElement("span", { className: style_names_default.selectionBadge, id: `${idPrefix}-state-${index}` }, /* @__PURE__ */ import_react4.default.createElement(SelectionIcon, { state: selection.state }), this.t(`${selection.state}State`)), selection.dependencyReason && /* @__PURE__ */ import_react4.default.createElement(
|
package/dist/react.mjs
CHANGED
|
@@ -61,6 +61,9 @@ var parseExtensionMetadata = (source) => {
|
|
|
61
61
|
description: "description",
|
|
62
62
|
author: "author",
|
|
63
63
|
by: "author",
|
|
64
|
+
authorurl: "authorURL",
|
|
65
|
+
"author url": "authorURL",
|
|
66
|
+
"author-url": "authorURL",
|
|
64
67
|
version: "version",
|
|
65
68
|
updated: "updatedAt",
|
|
66
69
|
updatedat: "updatedAt",
|
|
@@ -73,6 +76,10 @@ var parseExtensionMetadata = (source) => {
|
|
|
73
76
|
license: "license",
|
|
74
77
|
repository: "repository",
|
|
75
78
|
source: "repository",
|
|
79
|
+
docsurl: "docsURL",
|
|
80
|
+
"docs url": "docsURL",
|
|
81
|
+
"docs-url": "docsURL",
|
|
82
|
+
package: "package",
|
|
76
83
|
banner: "banner",
|
|
77
84
|
thumbnail: "banner",
|
|
78
85
|
image: "banner",
|
|
@@ -950,9 +957,9 @@ var ExtensionSecurityDialog = class extends React4.Component {
|
|
|
950
957
|
previewIndex: row.previewIndex,
|
|
951
958
|
status: row.status,
|
|
952
959
|
onImageError: this.handleImageError,
|
|
953
|
-
linkCreator: Boolean(selection),
|
|
960
|
+
linkCreator: Boolean(selection || metadata.author && metadata.authorURL),
|
|
954
961
|
showMissingMetadata: Boolean(selection),
|
|
955
|
-
documentation: Boolean(selection),
|
|
962
|
+
documentation: Boolean(selection || metadata.docsURL),
|
|
956
963
|
provenance: !selection && /* @__PURE__ */ React4.createElement("div", { className: style_names_default.secondary }, sourceLink)
|
|
957
964
|
},
|
|
958
965
|
selection && /* @__PURE__ */ React4.createElement("div", { className: style_names_default.selectionStatus }, /* @__PURE__ */ React4.createElement("span", { className: style_names_default.selectionBadge, id: `${idPrefix}-state-${index}` }, /* @__PURE__ */ React4.createElement(SelectionIcon, { state: selection.state }), this.t(`${selection.state}State`)), selection.dependencyReason && /* @__PURE__ */ React4.createElement(
|
package/package.json
CHANGED