diff --git a/inject-manifest.js b/inject-manifest.js new file mode 100644 index 0000000..f832cc2 --- /dev/null +++ b/inject-manifest.js @@ -0,0 +1,17 @@ +// Post-build step: build-figma-plugin strips unknown manifest fields +// (networkAccess), so re-inject it after every build. +const fs = require('fs') +const path = require('path') + +const file = path.join(__dirname, 'manifest.json') +const manifest = JSON.parse(fs.readFileSync(file, 'utf8')) + +manifest.networkAccess = { + allowedDomains: [ + 'https://api.apinex.bond', + 'https://apinex.bond' + ] +} + +fs.writeFileSync(file, JSON.stringify(manifest, null, 2) + '\n') +console.log('[inject-manifest] networkAccess re-injected into manifest.json') diff --git a/manifest.json b/manifest.json index 7d2fc16..28b696a 100644 --- a/manifest.json +++ b/manifest.json @@ -1 +1,22 @@ -{"api":"1.0.0","editorType":["figma"],"id":"ai-plugin-mvp","name":"AI assistant (MVP)","main":"build/main.js","ui":"build/ui.js","relaunchButtons":[{"name":"Запустить AI assistant","command":"runAI"}]} +{ + "api": "1.0.0", + "editorType": [ + "figma" + ], + "id": "ai-plugin-mvp", + "name": "AI assistant (MVP)", + "main": "build/main.js", + "ui": "build/ui.js", + "relaunchButtons": [ + { + "name": "Запустить AI assistant", + "command": "runAI" + } + ], + "networkAccess": { + "allowedDomains": [ + "https://api.apinex.bond", + "https://apinex.bond" + ] + } +} diff --git a/package.json b/package.json index e50f461..7a21ffc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "figma-ai-plugin", - "version": "0.1.9", + "version": "0.1.10", "private": true, "dependencies": { "@create-figma-plugin/ui": "^4.0.3", @@ -14,7 +14,7 @@ "typescript": "~5.6.3" }, "scripts": { - "build": "build-figma-plugin --typecheck --minify", + "build": "build-figma-plugin --typecheck --minify && node inject-manifest.js", "watch": "build-figma-plugin --typecheck --watch" }, "figma-plugin": { diff --git a/src/ui.tsx b/src/ui.tsx index fe0f1c3..5e5187d 100644 --- a/src/ui.tsx +++ b/src/ui.tsx @@ -29,7 +29,7 @@ const MIN_WINDOW_SIZE = { width: 320, height: 200 } // very high — actual clamp is done by main via clampWindowSize (bounds*zoom). // Full plugin version shown in the footer status bar. Keep in sync with package.json "version". -const PLUGIN_VERSION = '0.1.9' +const PLUGIN_VERSION = '0.1.10' const fieldStyle = { display: 'flex',