mirror of
https://github.com/trezor/trezor-suite.git
synced 2026-02-20 00:33:07 +01:00
chore: update webextension example
This commit is contained in:
8
.github/actions/release-connect/action.yml
vendored
8
.github/actions/release-connect/action.yml
vendored
@@ -109,8 +109,12 @@ runs:
|
||||
if: inputs.buildArtifacts == 'true'
|
||||
shell: bash
|
||||
env:
|
||||
FULL_URL: https://${{ inputs.serverHostname }}/${{ inputs.serverPath }}/
|
||||
FULL_URL: https://${{ inputs.serverHostname }}/suite-web/${{ needs.extract-branch.outputs.branch }}/web/connect-popup
|
||||
run: |
|
||||
cd packages/connect-examples/webextension
|
||||
yarn
|
||||
yarn build
|
||||
cd ../../../
|
||||
echo "FULL_URL is set to ${FULL_URL}"
|
||||
node ./packages/connect-examples/update-webextensions-sw.js --trezor-connect-src "${FULL_URL}"
|
||||
|
||||
@@ -128,7 +132,7 @@ runs:
|
||||
with:
|
||||
name: connect-example-webextension-${{ inputs.serverHostname }}
|
||||
path: |
|
||||
packages/connect-examples/webextension-mv3-sw/build
|
||||
packages/connect-examples/webextension/build
|
||||
|
||||
- name: Upload connect-explorer webextension artifacts
|
||||
if: inputs.uploadArtifacts == 'true'
|
||||
|
||||
@@ -144,7 +144,6 @@
|
||||
"jest": "29.7.0",
|
||||
"jest-environment-node": "^29.7.0",
|
||||
"jest-expo": "^54.0.12",
|
||||
"node-fetch": "^2.6.4",
|
||||
"node-gyp": "12.1.0",
|
||||
"nx": "^22.3.3",
|
||||
"patch-package": "8.0.1",
|
||||
|
||||
@@ -2,16 +2,14 @@
|
||||
|
||||
A collection of example implementations of @trezor/connect in various environments. See individual READMEs for instructions:
|
||||
|
||||
| Environment | package | Popup |
|
||||
| --------------------------------------------------------------------------------------- | ----------------------------------------------------------------- | ----- |
|
||||
| [Node.js](./node) | [@trezor/connect](../connect/README.md) | No |
|
||||
| [Electron main process](./electron-main-process/) | [@trezor/connect](../connect/README.md) | No |
|
||||
| [Electron renderer with popup](./electron-renderer-with-popup/) | [@trezor/connect](../connect/README.md) | Yes |
|
||||
| [Browser inline script](./browser-inline-script/) | [@trezor/connect-web](../connect-web/README.md) | Yes |
|
||||
| [Browser with webpack](../connect-explorer/README.md) | [@trezor/connect-web](../connect-web/README.md) | Yes |
|
||||
| [Webextension Manifest V3](./webextension-mv3) | [@trezor/connect-web](../connect-web/README.md) | Yes |
|
||||
| [Webextension Manifest V3 with Service Worker](./webextension-mv3-sw) | [@trezor/connect-webextension](../connect-webextension/README.md) | Yes |
|
||||
| [Webextension Manifest V3 with Service Worker and ES6 module](./webextension-mv3-sw-ts) | [@trezor/connect-webextension](../connect-webextension/README.md) | Yes |
|
||||
| Environment | package | Popup |
|
||||
| ----------------------------------------------------- | ----------------------------------------------------------------- | ----- |
|
||||
| [Node.js](./node) | [@trezor/connect](../connect/README.md) | No |
|
||||
| [Electron main process](./electron-main-process/) | [@trezor/connect](../connect/README.md) | No |
|
||||
| [Mobile expo]('/mobile-expo) | [@trezor/connect-mobile](../connect-mobile/README.md) | Yes |
|
||||
| [Browser inline script](./browser-inline-script/) | [@trezor/connect-web](../connect-web/README.md) | Yes |
|
||||
| [Browser with webpack](../connect-explorer/README.md) | [@trezor/connect-web](../connect-web/README.md) | Yes |
|
||||
| [Webextension](./webextension) | [@trezor/connect-webextension](../connect-webextension/README.md) | Yes |
|
||||
|
||||
Also you may explorer 3rd party @trezor/connect integrations.
|
||||
|
||||
|
||||
@@ -3,16 +3,14 @@
|
||||
*/
|
||||
|
||||
const fs = require('fs');
|
||||
const fetch = require('node-fetch');
|
||||
const path = require('path');
|
||||
|
||||
const rootPaths = ['webextension-mv3-sw'];
|
||||
const rootPaths = ['webextension'];
|
||||
|
||||
const trezorConnectSrcIndex = process.argv.indexOf('--trezor-connect-src');
|
||||
const buildFolderIndex = process.argv.indexOf('--build-folder');
|
||||
const npmSrcIndex = process.argv.indexOf('--npm-src');
|
||||
|
||||
const DEFAULT_SRC = 'https://connect.trezor.io/9/';
|
||||
const DEFAULT_SRC = 'https://suite.trezor.io/web/connect-popup';
|
||||
let trezorConnectSrc = DEFAULT_SRC;
|
||||
|
||||
if (trezorConnectSrcIndex > -1) {
|
||||
@@ -26,55 +24,20 @@ if (buildFolderIndex > -1) {
|
||||
console.log('buildFolder: ', buildFolder);
|
||||
}
|
||||
|
||||
let npmSrc = '';
|
||||
if (npmSrcIndex > -1) {
|
||||
npmSrc = process.argv[npmSrcIndex + 1];
|
||||
console.log('npmSrc: ', npmSrc);
|
||||
}
|
||||
|
||||
rootPaths.forEach(dir => {
|
||||
const rootPath = path.join(__dirname, dir);
|
||||
const buildPath = path.join(rootPath, buildFolder);
|
||||
const vendorPath = path.join(buildPath, 'vendor');
|
||||
|
||||
fs.rmSync(buildPath, { recursive: true, force: true });
|
||||
if (!fs.existsSync(buildPath)) {
|
||||
fs.mkdirSync(buildPath);
|
||||
}
|
||||
if (!fs.existsSync(vendorPath)) {
|
||||
fs.mkdirSync(vendorPath);
|
||||
}
|
||||
|
||||
if (npmSrc) {
|
||||
fetch(npmSrc).then(res => {
|
||||
const dest = fs.createWriteStream(
|
||||
path.join(rootPath, buildFolder, 'vendor', 'trezor-connect-webextension.js'),
|
||||
);
|
||||
res.body.pipe(dest);
|
||||
});
|
||||
} else {
|
||||
['trezor-connect-webextension.js'].forEach(p => {
|
||||
fs.copyFileSync(
|
||||
path.join(__dirname, '../connect-webextension', 'build', p),
|
||||
path.join(rootPath, buildFolder, 'vendor', p),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
fs.readdirSync(path.join(rootPath, 'src')).forEach(p => {
|
||||
// Some files like binary `.png` we just want to copy.
|
||||
const isJustCopied = ['.png'].some(ext => p.endsWith(ext));
|
||||
if (isJustCopied) {
|
||||
fs.copyFileSync(path.join(rootPath, 'src', p), path.join(rootPath, buildFolder, p));
|
||||
|
||||
return;
|
||||
}
|
||||
fs.readFile(path.join(rootPath, 'src', p), 'utf-8', (err, contents) => {
|
||||
fs.readdirSync(path.join(rootPath, 'build')).forEach(p => {
|
||||
fs.readFile(path.join(rootPath, 'build', p), 'utf-8', (err, contents) => {
|
||||
if (err) {
|
||||
console.log(err);
|
||||
|
||||
return;
|
||||
}
|
||||
const found = contents.startsWith(DEFAULT_SRC);
|
||||
if (found) {
|
||||
console.log(`Found ${DEFAULT_SRC} in ${p}, replacing with ${trezorConnectSrc}`);
|
||||
}
|
||||
|
||||
const replaced = contents.replace(DEFAULT_SRC, trezorConnectSrc);
|
||||
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
{
|
||||
"name": "@trezor/webextension-mv3-sw-ts",
|
||||
"version": "1.0.0",
|
||||
"manifest_version": 3,
|
||||
"action": {
|
||||
"default_popup": "popup.html"
|
||||
},
|
||||
"background": {
|
||||
"service_worker": "service-worker.js"
|
||||
},
|
||||
"permissions": ["scripting"],
|
||||
"host_permissions": [
|
||||
"*://connect.trezor.io/9/*",
|
||||
"*://suite.corp.sldev.cz/*",
|
||||
"*://localhost/*",
|
||||
"*://staging-connect.trezor.io/*",
|
||||
"*://dev.suite.sldev.cz/*"
|
||||
]
|
||||
}
|
||||
12
packages/connect-examples/webextension/src/manifest.json
Normal file
12
packages/connect-examples/webextension/src/manifest.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"name": "@trezor/webextension-mv3-sw-ts",
|
||||
"version": "1.0.0",
|
||||
"manifest_version": 3,
|
||||
"action": {
|
||||
"default_popup": "popup.html"
|
||||
},
|
||||
"background": {
|
||||
"service_worker": "service-worker.js"
|
||||
},
|
||||
"host_permissions": ["http://*/*", "https://*/*"]
|
||||
}
|
||||
@@ -16014,9 +16014,9 @@ __metadata:
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@trezor/webextension-mv3-sw-ts@workspace:packages/connect-examples/webextension-mv3-sw-ts":
|
||||
"@trezor/webextension-mv3-sw-ts@workspace:packages/connect-examples/webextension":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@trezor/webextension-mv3-sw-ts@workspace:packages/connect-examples/webextension-mv3-sw-ts"
|
||||
resolution: "@trezor/webextension-mv3-sw-ts@workspace:packages/connect-examples/webextension"
|
||||
dependencies:
|
||||
"@trezor/connect-webextension": "workspace:^"
|
||||
"@trezor/eslint": "workspace:^"
|
||||
@@ -44381,7 +44381,6 @@ __metadata:
|
||||
jest: "npm:29.7.0"
|
||||
jest-environment-node: "npm:^29.7.0"
|
||||
jest-expo: "npm:^54.0.12"
|
||||
node-fetch: "npm:^2.6.4"
|
||||
node-gyp: "npm:12.1.0"
|
||||
nx: "npm:^22.3.3"
|
||||
patch-package: "npm:8.0.1"
|
||||
|
||||
Reference in New Issue
Block a user