@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 CHANGED
@@ -64,8 +64,8 @@ JSONのメタデータを直ちに表示し、選択一覧には「詳細」やJ
64
64
  共通化した画像・サービスリンク・実行条件には `entry.metadata` と取得したソースのメタデータを使用します。
65
65
  どちらか一方でも `unsandboxed: required` なら必要条件を維持し、バッジ・選択可能なモード・非対応選択の解除・
66
66
  一括初期選択で同じ判断をします。セキュリティ確認のOKは、従来どおりソースのメタデータ取得の成功/失敗が確定するまで待ちます。
67
- それ以外の表示は今回変更せず、セキュリティ確認はソースヘッダーのバージョン・リンクのない製作者名・出所URLを維持し、
68
- 選択一覧はカタログのバージョン・明示された製作者リンク・ドキュメントURLを維持します。
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
- 埋め込み拡張や他のスキームはリンクにしません。選択一覧は従来どおりドキュメントURLを表示し、JS配布URLは表示しません。
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 extensions and other schemes are not linked. The selection
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. Its source-header version, plain creator
310
- label and source provenance stay as before. Selection keeps catalog versions, explicit
311
- creator links and documentation links. Those unrequested presentation differences are not
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kubohiroya/turbowarp-extension-security-dialog",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "Batch extension security review, previews and per-project defaults for TurboWarp hosts",
5
5
  "type": "module",
6
6
  "author": {