Переглянути джерело

Create web extension legacy to publish manifest v2 web extension

Firefox doesn't support manisfest v3 until version 109
tags/web-extension-v9.6.9
Guillaume Vincent 1 рік тому
джерело
коміт
db761a25f6
26 змінених файлів з 2950 додано та 5 видалено
  1. +2
    -1
      bin/RELEASE.md
  2. +24
    -2
      bin/bump_version.py
  3. +1
    -1
      packages/lesspass-site/package.json
  4. +1
    -0
      packages/lesspass-web-extension-legacy/.gitignore
  5. +30
    -0
      packages/lesspass-web-extension-legacy/amo.md
  6. BIN
      packages/lesspass-web-extension-legacy/extension/dist/favicon.ico
  7. BIN
      packages/lesspass-web-extension-legacy/extension/dist/fonts/fontawesome-webfont.674f50d2.eot
  8. BIN
      packages/lesspass-web-extension-legacy/extension/dist/fonts/fontawesome-webfont.af7ae505.woff2
  9. BIN
      packages/lesspass-web-extension-legacy/extension/dist/fonts/fontawesome-webfont.b06871f2.ttf
  10. BIN
      packages/lesspass-web-extension-legacy/extension/dist/fonts/fontawesome-webfont.fee66e71.woff
  11. +2671
    -0
      packages/lesspass-web-extension-legacy/extension/dist/img/fontawesome-webfont.912ec66d.svg
  12. +12
    -0
      packages/lesspass-web-extension-legacy/extension/dist/index.html
  13. +12
    -0
      packages/lesspass-web-extension-legacy/extension/dist/lesspass.min.css
  14. +31
    -0
      packages/lesspass-web-extension-legacy/extension/dist/lesspass.min.js
  15. +1
    -0
      packages/lesspass-web-extension-legacy/extension/dist/lesspass.min.js.map
  16. BIN
      packages/lesspass-web-extension-legacy/extension/icons/icon-128x128.png
  17. +45
    -0
      packages/lesspass-web-extension-legacy/extension/icons/loading.svg
  18. BIN
      packages/lesspass-web-extension-legacy/extension/icons/logo-32.png
  19. BIN
      packages/lesspass-web-extension-legacy/extension/icons/logo-64.png
  20. BIN
      packages/lesspass-web-extension-legacy/extension/icons/logo.png
  21. +33
    -0
      packages/lesspass-web-extension-legacy/extension/manifest.json
  22. +26
    -0
      packages/lesspass-web-extension-legacy/extension/popup.html
  23. +7
    -0
      packages/lesspass-web-extension-legacy/extension/popup.js
  24. +22
    -0
      packages/lesspass-web-extension-legacy/package.json
  25. +31
    -0
      packages/lesspass-web-extension-legacy/policy.md
  26. +1
    -1
      packages/lesspass-web-extension/package.json

+ 2
- 1
bin/RELEASE.md Переглянути файл

@@ -7,4 +7,5 @@

python3 bin/bump_version.py lesspass-web-extension --patch
git push --tags origin main
yarn workspace lesspass-web-extension release
yarn workspace lesspass-web-extension release:cws
yarn workspace lesspass-web-extension-legacy release:amo

+ 24
- 2
bin/bump_version.py Переглянути файл

@@ -8,8 +8,8 @@ root_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))

def usage():
script_name = os.path.basename(__file__)
print(f"Example: python {script_name} lesspass-web-extension patch")
print(f"Example: python {script_name} lesspass-site patch")
print(f"Example: python {script_name} lesspass-web-extension --patch")
print(f"Example: python {script_name} lesspass-site --patch")
sys.exit(1)


@@ -85,13 +85,35 @@ if __name__ == "__main__":
)
version = get_package_version(package)
if package == "lesspass-web-extension":
subprocess.run(
[
"yarn",
"workspace",
"lesspass-web-extension-legacy",
"version",
f"--{bump}",
"--no-git-tag-version",
"--no-commit-hooks",
]
)
set_version(
os.path.join(root_path, "packages", package, "extension", "manifest.json"),
version,
)
set_version(
os.path.join(
root_path,
"packages",
"lesspass-web-extension-legacy",
"extension",
"manifest.json",
),
version,
)
subprocess.run(["yarn", "workspace", "lesspass-crypto", "build"])
subprocess.run(["yarn", "workspace", "lesspass-pure", "build"])
subprocess.run(["yarn", "workspace", "lesspass-web-extension", "build"])
subprocess.run(["yarn", "workspace", "lesspass-web-extension-legacy", "build"])
subprocess.run(["git", "add", "."])
tag = f"{package_short_name}-v{version}"
subprocess.run(["git", "commit", "-a", "-m", tag])


+ 1
- 1
packages/lesspass-site/package.json Переглянути файл

@@ -12,7 +12,7 @@
},
"dependencies": {
"express": "^4.17.1",
"lesspass-pure": "^10.0.0"
"lesspass-pure": "^10.0.1"
},
"devDependencies": {
"favicons": "^6.2.1",


+ 1
- 0
packages/lesspass-web-extension-legacy/.gitignore Переглянути файл

@@ -0,0 +1 @@
build/

+ 30
- 0
packages/lesspass-web-extension-legacy/amo.md Переглянути файл

@@ -0,0 +1,30 @@
# LessPass Web Extension Legacy

## Verify the web extension

The web extension is just a wrapper around lesspass-pure node module.
Source file correspond to the zip downloaded on http://github.com/lesspass/lesspass/archive/${sha256}.zip.
{sha256} is the git sha256 use when build was done.

## requirements

To rebuild the web extension, you need node, yarn and md5sum to check the md5 sum of the files

Tested with:

* node version 16.10.0
* yarn version 1.22.11
* md5sum (GNU coreutils) version 8.32

## unzip source {sha256}.zip

unzip {sha256}.zip -d /tmp
cd /tmp/lesspass-{sha256}

## Reproduce lesspass.min.js and dist folder with sources

yarn install
yarn workspace lesspass-crypto build
yarn workspace lesspass-pure build
find packages/lesspass-web-extension-legacy/extension/dist/ -type f -exec md5sum {} \;
find packages/lesspass-pure/dist -type f -exec md5sum {} \;

BIN
packages/lesspass-web-extension-legacy/extension/dist/favicon.ico Переглянути файл

Перед Після

BIN
packages/lesspass-web-extension-legacy/extension/dist/fonts/fontawesome-webfont.674f50d2.eot Переглянути файл


BIN
packages/lesspass-web-extension-legacy/extension/dist/fonts/fontawesome-webfont.af7ae505.woff2 Переглянути файл


BIN
packages/lesspass-web-extension-legacy/extension/dist/fonts/fontawesome-webfont.b06871f2.ttf Переглянути файл


BIN
packages/lesspass-web-extension-legacy/extension/dist/fonts/fontawesome-webfont.fee66e71.woff Переглянути файл


+ 2671
- 0
packages/lesspass-web-extension-legacy/extension/dist/img/fontawesome-webfont.912ec66d.svg
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 12
- 0
packages/lesspass-web-extension-legacy/extension/dist/index.html Переглянути файл

@@ -0,0 +1,12 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/favicon.ico"><title>LessPass</title><style>div.center {
max-width: 420px;
display: block;
margin-left: auto;
margin-right: auto;
}

@media (min-width: 544px) {
#lesspass {
margin-top: 3em;
}
}</style><link href="/lesspass.min.css" rel="preload" as="style"><link href="/lesspass.min.js" rel="preload" as="script"><link href="/lesspass.min.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but LessPass doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div class="center lesspass--full-width"><div id="lesspass"></div></div><script src="/lesspass.min.js"></script></body></html>

+ 12
- 0
packages/lesspass-web-extension-legacy/extension/dist/lesspass.min.css
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 31
- 0
packages/lesspass-web-extension-legacy/extension/dist/lesspass.min.js
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 1
- 0
packages/lesspass-web-extension-legacy/extension/dist/lesspass.min.js.map
Різницю між файлами не показано, бо вона завелика
Переглянути файл


BIN
packages/lesspass-web-extension-legacy/extension/icons/icon-128x128.png Переглянути файл

Перед Після
Ширина: 128  |  Висота: 128  |  Розмір: 3.9 KiB

+ 45
- 0
packages/lesspass-web-extension-legacy/extension/icons/loading.svg Переглянути файл

@@ -0,0 +1,45 @@
<svg width="57" height="57" viewBox="0 0 57 57" xmlns="http://www.w3.org/2000/svg" stroke="#0275d8">
<g fill="none" fill-rule="evenodd">
<g transform="translate(1 1)" stroke-width="2">
<circle cx="5" cy="50" r="5">
<animate attributeName="cy"
begin="0s" dur="2.2s"
values="50;5;50;50"
calcMode="linear"
repeatCount="indefinite"/>
<animate attributeName="cx"
begin="0s" dur="2.2s"
values="5;27;49;5"
calcMode="linear"
repeatCount="indefinite"/>
</circle>
<circle cx="27" cy="5" r="5">
<animate attributeName="cy"
begin="0s" dur="2.2s"
from="5" to="5"
values="5;50;50;5"
calcMode="linear"
repeatCount="indefinite"/>
<animate attributeName="cx"
begin="0s" dur="2.2s"
from="27" to="27"
values="27;49;5;27"
calcMode="linear"
repeatCount="indefinite"/>
</circle>
<circle cx="49" cy="50" r="5">
<animate attributeName="cy"
begin="0s" dur="2.2s"
values="50;50;5;50"
calcMode="linear"
repeatCount="indefinite"/>
<animate attributeName="cx"
from="49" to="49"
begin="0s" dur="2.2s"
values="49;5;27;49"
calcMode="linear"
repeatCount="indefinite"/>
</circle>
</g>
</g>
</svg>

BIN
packages/lesspass-web-extension-legacy/extension/icons/logo-32.png Переглянути файл

Перед Після
Ширина: 32  |  Висота: 32  |  Розмір: 768 B

BIN
packages/lesspass-web-extension-legacy/extension/icons/logo-64.png Переглянути файл

Перед Після
Ширина: 64  |  Висота: 64  |  Розмір: 1.8 KiB

BIN
packages/lesspass-web-extension-legacy/extension/icons/logo.png Переглянути файл

Перед Після
Ширина: 356  |  Висота: 80  |  Розмір: 6.1 KiB

+ 33
- 0
packages/lesspass-web-extension-legacy/extension/manifest.json Переглянути файл

@@ -0,0 +1,33 @@
{
"description": "Legacy manifest v2 web extension for LessPass password manager",
"manifest_version": 2,
"name": "LessPass",
"version": "9.6.8",
"homepage_url": "https://github.com/lesspass/lesspass",
"icons": {
"64": "icons/logo-64.png"
},
"commands": {
"_execute_browser_action": {
"suggested_key": {
"default": "Ctrl+Shift+L",
"mac": "Command+Shift+L"
}
}
},
"permissions": [
"activeTab"
],
"browser_action": {
"browser_style": false,
"default_icon": "icons/logo-32.png",
"default_title": "LessPass (Ctrl+Shift+L)",
"default_popup": "popup.html"
},
"applications": {
"gecko": {
"id": "contact@lesspass.com",
"strict_min_version": "57.0"
}
}
}

+ 26
- 0
packages/lesspass-web-extension-legacy/extension/popup.html Переглянути файл

@@ -0,0 +1,26 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>LessPass</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"
/>
<link rel="stylesheet" href="dist/lesspass.min.css" />
<style>
body {
width: 420px;
overflow-x: hidden;
overflow-y: auto;
}
</style>
</head>
<body>
<div class="lesspass--unbordered lesspass--full-width">
<div id="lesspass"></div>
</div>
<script src="popup.js"></script>
</body>
</html>

+ 7
- 0
packages/lesspass-web-extension-legacy/extension/popup.js Переглянути файл

@@ -0,0 +1,7 @@
document.addEventListener("DOMContentLoaded", function() {
let head = document.getElementsByTagName('head')[0];
let script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'dist/lesspass.min.js';
head.appendChild(script);
});

+ 22
- 0
packages/lesspass-web-extension-legacy/package.json Переглянути файл

@@ -0,0 +1,22 @@
{
"name": "lesspass-web-extension-legacy",
"description": "LessPass web extension",
"version": "9.6.8",
"license": "GPL-3.0",
"author": "Guillaume Vincent <guillaume@oslab.fr>",
"scripts": {
"start": "cd extension && web-ext run",
"build": "rm -rf ./extension/dist && mkdir ./extension/dist && cp -r ./node_modules/lesspass-pure/dist/ ./extension/dist",
"release": "yarn release:amo && yarn release:cws",
"release:amo": "cd extension && web-ext-submit",
"release:cws": "cd extension && webstore upload --auto-publish"
},
"dependencies": {
"lesspass-pure": "^10.0.1"
},
"devDependencies": {
"chrome-webstore-upload-cli": "^1.2.1",
"web-ext": "^6.6.0",
"web-ext-submit": "^6.6.0"
}
}

+ 31
- 0
packages/lesspass-web-extension-legacy/policy.md Переглянути файл

@@ -0,0 +1,31 @@
# LessPass Privacy Policy

## Privacy Policy

Guillaume Vincent built the LessPass app as a Free app. This SERVICE is provided by Guillaume Vincent at no cost and is intended for use as is.

This page is used to inform visitors regarding my policies with the collection, use, and disclosure of Personal Information if anyone decided to use my Service.

If you choose to use my Service, then you agree to the collection and use of information in relation to this policy. The Personal Information that I collect is used only to connect to the Service. I will not use or share your information with anyone.

The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, which is accessible at LessPass unless otherwise defined in this Privacy Policy.

## Information Collection and Use

For a better experience, while using our Service, I may require you to create an account on https://www.lesspass.com. The account creation required an email and a password. The information that I request will be retained by us and used as described in this privacy policy.

The account creation is not mandatory to use our Service.

The app does not use third party services.

## Security

I value your trust in providing us with your Personal Information, thus we are striving to use commercially acceptable means of protecting it. But remember that no method of transmission over the Internet, or method of electronic storage is 100% secure and reliable, and I cannot guarantee its absolute security.

## Changes to This Privacy Policy

I may update our Privacy Policy from time to time. Thus, you are advised to review this page periodically for any changes. I will notify you of any changes by posting the new Privacy Policy on this page. These changes are effective immediately after they are posted on this page.

## Contact Us

If you have any questions or suggestions about my Privacy Policy, do not hesitate to contact me at contact@lesspass.com

+ 1
- 1
packages/lesspass-web-extension/package.json Переглянути файл

@@ -12,7 +12,7 @@
"release:cws": "cd extension && webstore upload --auto-publish"
},
"dependencies": {
"lesspass-pure": "^10.0.0"
"lesspass-pure": "^10.0.1"
},
"devDependencies": {
"chrome-webstore-upload-cli": "^1.2.1",


Завантаження…
Відмінити
Зберегти