electrify-web 1.0.0

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.
Files changed (129) hide show
  1. package/LICENSE.md +10 -0
  2. package/README.md +351 -0
  3. package/app/inject/_placeholder +0 -0
  4. package/app/lib/main.js +11772 -0
  5. package/app/lib/main.js.map +1 -0
  6. package/app/lib/preload.js +338 -0
  7. package/app/lib/preload.js.map +1 -0
  8. package/app/lib/static/login.css +57 -0
  9. package/app/lib/static/login.html +24 -0
  10. package/app/lib/static/login.js +10 -0
  11. package/app/nativefier.json +8 -0
  12. package/app/npm-shrinkwrap.json +1170 -0
  13. package/app/package.json +25 -0
  14. package/icon-scripts/convertToIcns +56 -0
  15. package/icon-scripts/convertToIco +39 -0
  16. package/icon-scripts/convertToIconset +68 -0
  17. package/icon-scripts/convertToPng +76 -0
  18. package/icon-scripts/convertToTrayIcon +32 -0
  19. package/lib/autologin/index.d.ts +25 -0
  20. package/lib/autologin/index.js +189 -0
  21. package/lib/autologin/index.js.map +1 -0
  22. package/lib/build/buildIcon.d.ts +6 -0
  23. package/lib/build/buildIcon.js +110 -0
  24. package/lib/build/buildIcon.js.map +1 -0
  25. package/lib/build/buildNativefierApp.d.ts +2 -0
  26. package/lib/build/buildNativefierApp.js +234 -0
  27. package/lib/build/buildNativefierApp.js.map +1 -0
  28. package/lib/build/prepareElectronApp.d.ts +15 -0
  29. package/lib/build/prepareElectronApp.js +220 -0
  30. package/lib/build/prepareElectronApp.js.map +1 -0
  31. package/lib/cli.d.ts +6 -0
  32. package/lib/cli.js +783 -0
  33. package/lib/cli.js.map +1 -0
  34. package/lib/config/index.d.ts +87 -0
  35. package/lib/config/index.js +460 -0
  36. package/lib/config/index.js.map +1 -0
  37. package/lib/constants.d.ts +11 -0
  38. package/lib/constants.js +58 -0
  39. package/lib/constants.js.map +1 -0
  40. package/lib/helpers/fsHelpers.d.ts +2 -0
  41. package/lib/helpers/fsHelpers.js +57 -0
  42. package/lib/helpers/fsHelpers.js.map +1 -0
  43. package/lib/helpers/helpers.d.ts +29 -0
  44. package/lib/helpers/helpers.js +225 -0
  45. package/lib/helpers/helpers.js.map +1 -0
  46. package/lib/helpers/iconShellHelpers.d.ts +5 -0
  47. package/lib/helpers/iconShellHelpers.js +91 -0
  48. package/lib/helpers/iconShellHelpers.js.map +1 -0
  49. package/lib/helpers/upgrade/executableHelpers.d.ts +2 -0
  50. package/lib/helpers/upgrade/executableHelpers.js +173 -0
  51. package/lib/helpers/upgrade/executableHelpers.js.map +1 -0
  52. package/lib/helpers/upgrade/plistInfoXMLHelpers.d.ts +2 -0
  53. package/lib/helpers/upgrade/plistInfoXMLHelpers.js +29 -0
  54. package/lib/helpers/upgrade/plistInfoXMLHelpers.js.map +1 -0
  55. package/lib/helpers/upgrade/rceditGet.d.ts +1 -0
  56. package/lib/helpers/upgrade/rceditGet.js +65 -0
  57. package/lib/helpers/upgrade/rceditGet.js.map +1 -0
  58. package/lib/helpers/upgrade/upgrade.d.ts +8 -0
  59. package/lib/helpers/upgrade/upgrade.js +193 -0
  60. package/lib/helpers/upgrade/upgrade.js.map +1 -0
  61. package/lib/infer/browsers/inferChromeVersion.d.ts +1 -0
  62. package/lib/infer/browsers/inferChromeVersion.js +73 -0
  63. package/lib/infer/browsers/inferChromeVersion.js.map +1 -0
  64. package/lib/infer/browsers/inferFirefoxVersion.d.ts +1 -0
  65. package/lib/infer/browsers/inferFirefoxVersion.js +61 -0
  66. package/lib/infer/browsers/inferFirefoxVersion.js.map +1 -0
  67. package/lib/infer/browsers/inferSafariVersion.d.ts +6 -0
  68. package/lib/infer/browsers/inferSafariVersion.js +96 -0
  69. package/lib/infer/browsers/inferSafariVersion.js.map +1 -0
  70. package/lib/infer/inferDefaults.d.ts +33 -0
  71. package/lib/infer/inferDefaults.js +272 -0
  72. package/lib/infer/inferDefaults.js.map +1 -0
  73. package/lib/infer/inferIcon.d.ts +1 -0
  74. package/lib/infer/inferIcon.js +116 -0
  75. package/lib/infer/inferIcon.js.map +1 -0
  76. package/lib/infer/inferOs.d.ts +4 -0
  77. package/lib/infer/inferOs.js +69 -0
  78. package/lib/infer/inferOs.js.map +1 -0
  79. package/lib/infer/inferTitle.d.ts +1 -0
  80. package/lib/infer/inferTitle.js +56 -0
  81. package/lib/infer/inferTitle.js.map +1 -0
  82. package/lib/integration-test.d.ts +1 -0
  83. package/lib/main.d.ts +11 -0
  84. package/lib/main.js +18 -0
  85. package/lib/main.js.map +1 -0
  86. package/lib/options/asyncConfig.d.ts +5 -0
  87. package/lib/options/asyncConfig.js +46 -0
  88. package/lib/options/asyncConfig.js.map +1 -0
  89. package/lib/options/fields/fields.d.ts +2 -0
  90. package/lib/options/fields/fields.js +32 -0
  91. package/lib/options/fields/fields.js.map +1 -0
  92. package/lib/options/fields/icon.d.ts +9 -0
  93. package/lib/options/fields/icon.js +106 -0
  94. package/lib/options/fields/icon.js.map +1 -0
  95. package/lib/options/fields/name.d.ts +9 -0
  96. package/lib/options/fields/name.js +59 -0
  97. package/lib/options/fields/name.js.map +1 -0
  98. package/lib/options/fields/userAgent.d.ts +10 -0
  99. package/lib/options/fields/userAgent.js +81 -0
  100. package/lib/options/fields/userAgent.js.map +1 -0
  101. package/lib/options/normalizeUrl.d.ts +1 -0
  102. package/lib/options/normalizeUrl.js +62 -0
  103. package/lib/options/normalizeUrl.js.map +1 -0
  104. package/lib/options/optionsMain.d.ts +6 -0
  105. package/lib/options/optionsMain.js +305 -0
  106. package/lib/options/optionsMain.js.map +1 -0
  107. package/lib/presets/index.d.ts +27 -0
  108. package/lib/presets/index.js +162 -0
  109. package/lib/presets/index.js.map +1 -0
  110. package/lib/pwa/index.d.ts +57 -0
  111. package/lib/pwa/index.js +241 -0
  112. package/lib/pwa/index.js.map +1 -0
  113. package/lib/security/index.d.ts +27 -0
  114. package/lib/security/index.js +202 -0
  115. package/lib/security/index.js.map +1 -0
  116. package/lib/updater/index.d.ts +34 -0
  117. package/lib/updater/index.js +264 -0
  118. package/lib/updater/index.js.map +1 -0
  119. package/lib/utils/parseUtils.d.ts +3 -0
  120. package/lib/utils/parseUtils.js +95 -0
  121. package/lib/utils/parseUtils.js.map +1 -0
  122. package/lib/utils/sanitizeFilename.d.ts +1 -0
  123. package/lib/utils/sanitizeFilename.js +53 -0
  124. package/lib/utils/sanitizeFilename.js.map +1 -0
  125. package/lib/wizard/index.d.ts +13 -0
  126. package/lib/wizard/index.js +252 -0
  127. package/lib/wizard/index.js.map +1 -0
  128. package/npm-shrinkwrap.json +8144 -0
  129. package/package.json +148 -0
package/package.json ADDED
@@ -0,0 +1,148 @@
1
+ {
2
+ "name": "electrify-web",
3
+ "version": "1.0.0",
4
+ "description": "Transform any website into a native desktop app with one command",
5
+ "license": "MIT",
6
+ "author": "Electrify Web Contributors",
7
+ "engines": {
8
+ "node": ">= 16.16.0",
9
+ "npm": ">= 8.11.0"
10
+ },
11
+ "keywords": [
12
+ "desktop",
13
+ "electron",
14
+ "app",
15
+ "native",
16
+ "wrapper",
17
+ "pwa",
18
+ "web-to-app",
19
+ "website",
20
+ "cross-platform"
21
+ ],
22
+ "main": "lib/main.js",
23
+ "typings": "lib/main.d.ts",
24
+ "bin": {
25
+ "electrify": "lib/cli.js",
26
+ "eweb": "lib/cli.js"
27
+ },
28
+ "homepage": "https://github.com/neosun100/electrify-web",
29
+ "repository": {
30
+ "type": "git",
31
+ "url": "git+https://github.com/neosun100/electrify-web.git"
32
+ },
33
+ "bugs": {
34
+ "url": "https://github.com/neosun100/electrify-web/issues"
35
+ },
36
+ "scripts": {
37
+ "build-app": "cd app && webpack",
38
+ "build-app-static": "ncp app/src/static/ app/lib/static/ && ncp app/dist/preload.js app/lib/preload.js && ncp app/dist/preload.js.map app/lib/preload.js.map",
39
+ "build": "npm run clean && tsc --build shared src app && npm run build-app && npm run build-app-static",
40
+ "build:watch": "npm run clean && tsc --build shared src app --watch",
41
+ "changelog": "./.github/generate-changelog",
42
+ "clean": "rimraf coverage/ lib/ app/lib/ app/dist/ shared/lib",
43
+ "clean:full": "npm run clean && rimraf app/node_modules/ node_modules/",
44
+ "lint:fix": "cd src && eslint . --ext .ts --fix && cd ../shared && eslint src --ext .ts --fix && cd ../app && eslint src --ext .ts --fix",
45
+ "lint:format": "prettier --write 'src/**/*.ts' 'app/src/**/*.ts' 'shared/src/**/*.ts'",
46
+ "lint": "eslint shared app src --ext .ts",
47
+ "list-outdated-deps": "npm out -l; cd app && npm out -l; true",
48
+ "prepack": "npm run build",
49
+ "relock:cli": "rm -rf ./node_modules/ ./npm-shrinkwrap.json && npm install --ignore-scripts --package-lock && mv package-lock.json npm-shrinkwrap.json && npm out -l",
50
+ "relock:app": "rm -rf ./app/node_modules/ ./app/npm-shrinkwrap.json && cd app && npm install --ignore-scripts --package-lock && mv package-lock.json npm-shrinkwrap.json && npm out -l",
51
+ "relock": "npm run relock:cli; npm run relock:app",
52
+ "test:integration": "jest --testRegex=integration-test",
53
+ "test:manual": "npm run build && bash .github/manual-test",
54
+ "test:playwright": "jest --detectOpenHandles --testRegex=playwright-test",
55
+ "test:noplaywright": "jest --testPathIgnorePatterns=playwright",
56
+ "test:unit": "jest",
57
+ "test:watch": "echo 'Remember to run npm run build:watch for the test watcher to work!' && jest --watchAll --collectCoverage=false",
58
+ "test:watch:unit": "echo 'Remember to run npm run build:watch for the test watcher to work!' && jest --watchAll --collectCoverage=false --testPathIgnorePatterns=integration --testPathIgnorePatterns=playwright",
59
+ "test:withlog": "LOGLEVEL=trace npm run test",
60
+ "test": "jest",
61
+ "watch": "npx concurrently \"npm:*:watch\""
62
+ },
63
+ "dependencies": {
64
+ "@electron/asar": "^3.2.4",
65
+ "axios": "^1.4.0",
66
+ "electron-packager": "^17.1.1",
67
+ "fs-extra": "^11.1.1",
68
+ "gitcloud": "^0.2.4",
69
+ "hasbin": "^1.2.3",
70
+ "loglevel": "^1.8.1",
71
+ "ncp": "^2.0.0",
72
+ "page-icon": "^0.4.0",
73
+ "sanitize-filename": "^1.6.3",
74
+ "source-map-support": "^0.5.21",
75
+ "tmp": "^0.2.1",
76
+ "yargs": "^17.7.2"
77
+ },
78
+ "devDependencies": {
79
+ "@types/debug": "^4.1.8",
80
+ "@types/fs-extra": "^11.0.1",
81
+ "@types/hasbin": "^1.2.0",
82
+ "@types/jest": "^29.5.4",
83
+ "@types/ncp": "^2.0.5",
84
+ "@types/node": "^20.5.6",
85
+ "@types/page-icon": "^0.3.4",
86
+ "@types/tmp": "^0.2.3",
87
+ "@types/yargs": "^17.0.24",
88
+ "@typescript-eslint/eslint-plugin": "^6.4.1",
89
+ "@typescript-eslint/parser": "^6.4.1",
90
+ "electron": "^25.7.0",
91
+ "eslint": "^8.46.0",
92
+ "eslint-config-prettier": "^9.0.0",
93
+ "eslint-plugin-prettier": "^5.0.0",
94
+ "jest": "^29.6.2",
95
+ "playwright": "^1.36.2",
96
+ "prettier": "^3.0.1",
97
+ "rimraf": "^5.0.1",
98
+ "ts-loader": "^9.4.4",
99
+ "typescript": "^5.1.6",
100
+ "webpack": "^5.88.2",
101
+ "webpack-cli": "^5.1.4"
102
+ },
103
+ "jest_COMMENTS": {
104
+ "testPathIgnorePatterns": "See https://jestjs.io/docs/configuration#testpathignorepatterns-arraystring . We set it to 1. ignore coverage for deps, and 2. be sure we test the compiled JS, which is in `lib`, not `src` or `dist`",
105
+ "watchPathIgnorePatterns": "See https://jestjs.io/docs/configuration#watchpathignorepatterns-arraystring . We set it for `jest --watch` (a.k.a. `npm run test:watch`) to trigger only after `tsc --watch` (a.k.a. `npm run build:watch`) completes its incremental compilation. Else, jest will pick up immediately on changes in `src` when TSC is barely running, hence testing not-recompiled-yet code and being super confusing, as 1. your changes won't be taken during this first run, and 2. the *next* run (e.g. after a second 'Save' in your editor) will actually have the new code :D"
106
+ },
107
+ "jest": {
108
+ "collectCoverage": true,
109
+ "collectCoverageFrom": [
110
+ "./app/dist/**/*.js",
111
+ "./lib/**/*.js",
112
+ "./shared/lib/**/*.js"
113
+ ],
114
+ "coveragePathIgnorePatterns": [
115
+ "[.-]test.js$"
116
+ ],
117
+ "moduleNameMapper": {
118
+ "^electron$": "<rootDir>/app/dist/mocks/electron.js"
119
+ },
120
+ "setupFiles": [
121
+ "./lib/jestSetupFiles"
122
+ ],
123
+ "testEnvironment": "node",
124
+ "testPathIgnorePatterns": [
125
+ "<rootDir>/app/node_modules.*",
126
+ "<rootDir>/app/src.*",
127
+ "<rootDir>/app/lib.*",
128
+ "<rootDir>/src.*",
129
+ ".+\\.d\\.ts",
130
+ ".+\\.js\\.map"
131
+ ],
132
+ "testRegex": "test\\.js",
133
+ "testTimeout": 15000,
134
+ "watchPathIgnorePatterns": [
135
+ "<rootDir>/app/lib.*",
136
+ "<rootDir>/app/src.*",
137
+ "<rootDir>/app/tsconfig.json",
138
+ "<rootDir>/shared/tsconfig.json",
139
+ "<rootDir>/src.*",
140
+ "<rootDir>/tsconfig-base.json"
141
+ ]
142
+ },
143
+ "prettier": {
144
+ "arrowParens": "always",
145
+ "singleQuote": true,
146
+ "trailingComma": "all"
147
+ }
148
+ }