passbolt-browser-extension 5.12.1 → 5.13.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 (198) hide show
  1. package/.devcontainer/safe-chain-config.json +2 -1
  2. package/.github/ISSUE_TEMPLATE/bug_report.md +30 -22
  3. package/.github/ISSUE_TEMPLATE/config.yml +11 -0
  4. package/.jpmignore +0 -1
  5. package/CHANGELOG.md +82 -1
  6. package/CONTRIBUTING.md +1 -12
  7. package/README.md +5 -16
  8. package/RELEASE_NOTES.md +2 -3
  9. package/SECURITY.md +7 -0
  10. package/i18next.config.js +28 -0
  11. package/jest.config.json +1 -0
  12. package/package.json +20 -40
  13. package/src/all/background_page/controller/accountRecovery/reviewRequestController.test.js +1 -1
  14. package/src/all/background_page/{event → controller/actionLog}/findAllForActionLogController.js +1 -1
  15. package/src/all/background_page/{event → controller/actionLog}/findAllForActionLogController.test.js +4 -4
  16. package/src/all/background_page/controller/export/exportResourcesFileController.test.js +7 -2
  17. package/src/all/background_page/controller/folder/folderCreateController.js +3 -1
  18. package/src/all/background_page/controller/group/findMyGroupsController.test.js +2 -2
  19. package/src/all/background_page/controller/group/getOrFindGroupsController.js +61 -0
  20. package/src/all/background_page/controller/group/getOrFindGroupsController.test.js +69 -0
  21. package/src/all/background_page/controller/group/getOrFindGroupsUsersController.js +62 -0
  22. package/src/all/background_page/controller/group/getOrFindGroupsUsersController.test.js +69 -0
  23. package/src/all/background_page/controller/group/groupCreateController.js +1 -1
  24. package/src/all/background_page/controller/group/groupCreateController.test.js +1 -1
  25. package/src/all/background_page/controller/group/groupUpdateController.js +1 -1
  26. package/src/all/background_page/controller/group/updateAllGroupsLocalStorageController.test.js +1 -1
  27. package/src/all/background_page/controller/keyring/synchroniseKeyringController.js +51 -0
  28. package/src/all/background_page/controller/keyring/synchroniseKeyringController.test.js +49 -0
  29. package/src/all/background_page/controller/metadata/shareMetadataKeyPrivateController.test.js +1 -1
  30. package/src/all/background_page/controller/move/moveFolderController.js +0 -2
  31. package/src/all/background_page/controller/permission/FindAcoPermissionsForDisplayController.js +1 -1
  32. package/src/all/background_page/controller/permission/FindAcoPermissionsForDisplayController.test.js +2 -2
  33. package/src/all/background_page/controller/resource/findAllByIdsForDisplayPermissionsController.test.js +8 -3
  34. package/src/all/background_page/controller/resource/findAllIdsByIsSharedWithGroupController.test.js +9 -4
  35. package/src/all/background_page/controller/resource/resourceUpdateController.test.js +1 -2
  36. package/src/all/background_page/controller/resourceLocalStorage/resourceUpdateLocalStorageController.test.js +5 -2
  37. package/src/all/background_page/controller/share/findFoldersForShareController.js +66 -0
  38. package/src/all/background_page/controller/share/findFoldersForShareController.test.js +70 -0
  39. package/src/all/background_page/controller/share/searchUsersAndGroupsController.js +4 -4
  40. package/src/all/background_page/controller/share/searchUsersAndGroupsController.test.js +8 -23
  41. package/src/all/background_page/controller/share/shareResourcesController.test.js +2 -2
  42. package/src/all/background_page/controller/subscription/createSubscriptionKeyController.js +63 -0
  43. package/src/all/background_page/controller/subscription/createSubscriptionKeyController.test.js +56 -0
  44. package/src/all/background_page/controller/subscription/deleteSubscriptionKeyController.js +55 -0
  45. package/src/all/background_page/controller/subscription/deleteSubscriptionKeyController.test.js +50 -0
  46. package/src/all/background_page/controller/user/deleteUserController.test.js +1 -1
  47. package/src/all/background_page/controller/user/getOrFindUsersController.js +61 -0
  48. package/src/all/background_page/controller/user/getOrFindUsersController.test.js +69 -0
  49. package/src/all/background_page/error/deleteDryRunError.js +1 -1
  50. package/src/all/background_page/event/actionLogEvents.js +1 -1
  51. package/src/all/background_page/event/appEvents.js +25 -0
  52. package/src/all/background_page/event/groupEvents.js +26 -0
  53. package/src/all/background_page/event/keyringEvents.js +12 -0
  54. package/src/all/background_page/event/shareEvents.js +3 -9
  55. package/src/all/background_page/event/userEvents.js +13 -0
  56. package/src/all/background_page/model/config.js +12 -2
  57. package/src/all/background_page/model/entity/folder/folderEntity.js +2 -2
  58. package/src/all/background_page/model/entity/folder/folderEntity.test.js +2 -2
  59. package/src/all/background_page/model/entity/folder/foldersCollection.test.js +1 -1
  60. package/src/all/background_page/model/entity/group/update/groupUpdateEntity.js +1 -1
  61. package/src/all/background_page/model/entity/group/update/groupUpdateEntity.test.js +1 -1
  62. package/src/all/background_page/model/entity/permission/actionLog/updatedPermissionEntity.js +2 -2
  63. package/src/all/background_page/model/entity/permission/actionLog/updatedPermissionEntity.test.data.js +1 -1
  64. package/src/all/background_page/model/entity/permission/change/permissionChangeEntity.js +1 -1
  65. package/src/all/background_page/model/entity/permission/change/permissionChangesCollection.js +2 -2
  66. package/src/all/background_page/model/entity/permission/change/permissionChangesCollection.test.js +2 -2
  67. package/src/all/background_page/model/entity/resource/resourceEntity.js +2 -2
  68. package/src/all/background_page/model/entity/resource/resourceEntity.test.js +1 -1
  69. package/src/all/background_page/model/entity/user/userEntity.js +16 -377
  70. package/src/all/background_page/model/entity/user/userEntity.test.js +22 -297
  71. package/src/all/background_page/model/entity/userAndGroupSearchResultEntity/userAndGroupSearchResultEntity.js +1 -1
  72. package/src/all/background_page/model/folder/folderModel.js +5 -154
  73. package/src/all/background_page/model/group/groupModel.js +1 -1
  74. package/src/all/background_page/model/keyring.js +52 -17
  75. package/src/all/background_page/model/keyring.test.js +110 -0
  76. package/src/all/background_page/model/resource/resourceModel.js +2 -55
  77. package/src/all/background_page/model/setup/setupModel.js +2 -2
  78. package/src/all/background_page/model/user/userModel.js +18 -15
  79. package/src/all/background_page/model/user/userModel.test.js +1 -3
  80. package/src/all/background_page/service/api/abstract/abstractService.js +3 -17
  81. package/src/all/background_page/service/api/edition/passboltEditionApiService.js +64 -0
  82. package/src/all/background_page/service/api/edition/passboltEditionApiService.test.js +99 -0
  83. package/src/all/background_page/service/api/group/groupApiService.js +22 -23
  84. package/src/all/background_page/service/api/group/groupApiService.test.js +70 -0
  85. package/src/all/background_page/service/api/resource/resourceService.js +18 -12
  86. package/src/all/background_page/service/api/share/{shareService.js → shareApiService.js} +10 -7
  87. package/src/all/background_page/service/api/share/{shareService.test.js → shareApiService.test.js} +5 -5
  88. package/src/all/background_page/service/group/createGroupService.js +1 -1
  89. package/src/all/background_page/service/group/createGroupService.test.js +1 -1
  90. package/src/all/background_page/service/group/findAndUpdateGroupsLocalStorageService.js +56 -1
  91. package/src/all/background_page/service/group/findAndUpdateGroupsLocalStorageService.test.js +84 -2
  92. package/src/all/background_page/service/group/findGroupsService.js +5 -9
  93. package/src/all/background_page/service/group/findGroupsService.test.data.js +1 -1
  94. package/src/all/background_page/service/group/findGroupsService.test.js +10 -15
  95. package/src/all/background_page/service/group/getOrFindGroupsService.js +65 -0
  96. package/src/all/background_page/service/group/getOrFindGroupsService.test.js +168 -0
  97. package/src/all/background_page/service/group/getOrFindGroupsUsersService.js +51 -0
  98. package/src/all/background_page/service/group/getOrFindGroupsUsersService.test.js +94 -0
  99. package/src/all/background_page/service/group/groupUpdateService.js +5 -3
  100. package/src/all/background_page/service/group/groupUpdateService.test.js +10 -2
  101. package/src/all/background_page/service/local_storage/groupLocalStorage.js +2 -2
  102. package/src/all/background_page/service/local_storage/groupLocalStorage.test.js +3 -3
  103. package/src/all/background_page/service/local_storage/userLocalStorage.js +57 -36
  104. package/src/all/background_page/service/local_storage/userLocalStorage.test.js +282 -0
  105. package/src/all/background_page/service/metadata/createMetadataKeyService.test.js +1 -1
  106. package/src/all/background_page/service/metadata/saveMetadataSettingsService.test.js +1 -1
  107. package/src/all/background_page/service/metadata/shareMetadataKeyPrivateService.test.js +1 -1
  108. package/src/all/background_page/service/migrateMetadata/migrateMetadataResourcesService.js +1 -1
  109. package/src/all/background_page/service/move/calculatePermissionsChangesForMoveService.js +113 -0
  110. package/src/all/background_page/service/move/calculatePermissionsChangesForMoveService.test.data.js +38 -0
  111. package/src/all/background_page/service/move/calculatePermissionsChangesForMoveService.test.js +158 -0
  112. package/src/all/background_page/service/move/moveOneFolderService.js +6 -7
  113. package/src/all/background_page/service/move/moveOneFolderService.test.js +90 -90
  114. package/src/all/background_page/service/move/moveResourcesService.js +2 -5
  115. package/src/all/background_page/service/permission/findPermissionsService.js +1 -1
  116. package/src/all/background_page/service/resource/create/resourceCreateService.js +13 -31
  117. package/src/all/background_page/service/resource/create/resourceCreateService.test.js +25 -18
  118. package/src/all/background_page/service/resource/export/exportResourcesService.test.js +13 -4
  119. package/src/all/background_page/service/resource/findAndUpdateResourcesLocalStorageService.test.js +35 -28
  120. package/src/all/background_page/service/resource/findResourcesService.js +78 -2
  121. package/src/all/background_page/service/resource/findResourcesService.test.data.js +1 -1
  122. package/src/all/background_page/service/resource/findResourcesService.test.js +90 -31
  123. package/src/all/background_page/service/resource/getOrFindResourcesService.test.js +18 -8
  124. package/src/all/background_page/service/session_storage/keepSessionAliveService.js +3 -3
  125. package/src/all/background_page/service/session_storage/keepSessionAliveService.test.js +5 -3
  126. package/src/all/background_page/service/share/searchUsersAndGroupsService.js +41 -0
  127. package/src/all/background_page/service/share/searchUsersAndGroupsService.test.js +64 -0
  128. package/src/all/background_page/service/share/shareFoldersService.js +3 -3
  129. package/src/all/background_page/service/share/shareFoldersService.test.js +3 -3
  130. package/src/all/background_page/service/share/shareResourceService.js +4 -4
  131. package/src/all/background_page/service/share/shareResourceService.test.js +8 -8
  132. package/src/all/background_page/service/subscription/createSubscriptionKeyService.js +57 -0
  133. package/src/all/background_page/service/subscription/createSubscriptionKeyService.test.js +111 -0
  134. package/src/all/background_page/service/subscription/deleteSubscriptionKeyService.js +35 -0
  135. package/src/all/background_page/service/subscription/deleteSubscriptionKeyService.test.js +55 -0
  136. package/src/all/background_page/service/user/deleteUserService.js +4 -4
  137. package/src/all/background_page/service/user/deleteUserService.test.js +10 -10
  138. package/src/all/background_page/service/user/findAndUpdateUsersLocalStorageService.js +81 -0
  139. package/src/all/background_page/service/user/findAndUpdateUsersLocalStorageService.test.js +132 -0
  140. package/src/all/background_page/service/user/findUsersService.js +6 -6
  141. package/src/all/background_page/service/user/findUsersService.test.js +39 -38
  142. package/src/all/background_page/service/user/getOrFindUsersService.js +60 -0
  143. package/src/all/background_page/service/user/getOrFindUsersService.test.js +110 -0
  144. package/src/all/background_page/utils/assertions.js +1 -0
  145. package/src/all/locales/ko-KR/common.json +1 -1
  146. package/src/chrome/manifest.json +1 -1
  147. package/src/chrome-mv3/manifest.json +1 -1
  148. package/src/firefox/manifest.json +3 -3
  149. package/src/safari/manifest.json +2 -2
  150. package/test/jest.env-setup.js +31 -0
  151. package/webpack/applyOutputClean.js +69 -0
  152. package/webpack/base.config.js +33 -0
  153. package/webpack/common-blocks.js +91 -0
  154. package/webpack/expectedBuildArtifacts.js +51 -0
  155. package/webpack/i18nextExtractionPlugin.js +43 -0
  156. package/webpack/passboltEnvPlugin.js +41 -0
  157. package/webpack/webExtPlugin/index.js +75 -0
  158. package/webpack.chromium-mv2.config.js +40 -0
  159. package/webpack.chromium-mv3.config.js +40 -0
  160. package/webpack.common.config.js +186 -0
  161. package/webpack.config.js +38 -0
  162. package/webpack.firefox.config.js +40 -0
  163. package/webpack.mv2.config.js +65 -0
  164. package/webpack.mv3.config.js +99 -0
  165. package/webpack.safari-background-page.config.js +66 -57
  166. package/webpack.safari.config.js +44 -0
  167. package/Gruntfile.js +0 -471
  168. package/am_i_compromised.py +0 -1036
  169. package/am_i_compromised.sh +0 -688
  170. package/i18next-parser.config.js +0 -22
  171. package/src/all/background_page/config/config.json +0 -7
  172. package/src/all/background_page/config/config.json.debug +0 -7
  173. package/src/all/background_page/config/config.json.default +0 -7
  174. package/src/all/background_page/model/entity/group/groupEntity.js +0 -241
  175. package/src/all/background_page/model/entity/group/groupEntity.test.js +0 -136
  176. package/src/all/background_page/model/entity/group/groupsCollection.js +0 -166
  177. package/src/all/background_page/model/entity/group/groupsCollection.test.data.js +0 -34
  178. package/src/all/background_page/model/entity/group/groupsCollection.test.js +0 -227
  179. package/src/all/background_page/model/entity/permission/permissionEntity.js +0 -485
  180. package/src/all/background_page/model/entity/permission/permissionEntity.test.js +0 -263
  181. package/src/all/background_page/model/entity/permission/permissionsCollection.js +0 -486
  182. package/src/all/background_page/model/entity/permission/permissionsCollection.test.js +0 -700
  183. package/src/all/background_page/model/entity/user/usersCollection.js +0 -147
  184. package/src/all/background_page/model/entity/user/usersCollection.test.js +0 -223
  185. package/src/all/background_page/model/share/shareModel.js +0 -183
  186. package/src/all/background_page/model/share/shareModel.test.js +0 -61
  187. package/src/all/background_page/service/api/user/userService.js +0 -260
  188. package/src/all/background_page/service/resource/create/resourceCreateService.test.data.js +0 -55
  189. package/webpack-content-scripts.browser-integration.config.js +0 -57
  190. package/webpack-content-scripts.config.js +0 -61
  191. package/webpack-content-scripts.public-website-sign-in.config.js +0 -57
  192. package/webpack-data.config.js +0 -102
  193. package/webpack-data.download.config.js +0 -59
  194. package/webpack-data.in-form-call-to-action.config.js +0 -97
  195. package/webpack-data.in-form-menu.config.js +0 -97
  196. package/webpack-offscreens.config.js +0 -55
  197. package/webpack.background-page.config.js +0 -62
  198. package/webpack.service-worker.config.js +0 -65
@@ -1,97 +0,0 @@
1
- const webpack = require('webpack');
2
- const path = require('path');
3
-
4
- const config = {
5
- entry: {
6
- 'app': path.resolve(__dirname, './src/all/webAccessibleResources/js/app/InFormCallToAction.js')
7
- },
8
- mode: 'production',
9
- plugins: [
10
- new webpack.ProvidePlugin({
11
- // Inject browser polyfill as a global API, and adapt it depending on the environment (MV2/MV3/Windows app).
12
- browser: path.resolve(__dirname, './src/all/common/polyfill/browserPolyfill.js'),
13
- })
14
- ],
15
- module: {
16
- rules: [
17
- {
18
- test: /\.(js|jsx)$/,
19
- exclude: /(node_modules[\\/]((?!(passbolt\-styleguide))))/,
20
- loader: "babel-loader",
21
- options: {
22
- presets: ["@babel/react"],
23
- }
24
- },
25
- // Transform SVG as react component
26
- {
27
- test: /\.svg$/i,
28
- issuer: /\.[jt]sx?$/,
29
- use: [
30
- {
31
- loader: "@svgr/webpack",
32
- options: {
33
- svgoConfig: {
34
- plugins: [
35
- {
36
- name: 'preset-default',
37
- params: {
38
- overrides: {
39
- removeViewBox: false,
40
- cleanupIds: false,
41
- removeTitle: false,
42
- removeDesc: false,
43
- },
44
- },
45
- },
46
- {
47
- name: 'prefixIds',
48
- params: {
49
- prefixIds: false,
50
- prefixClassNames: false
51
- },
52
- },
53
- ],
54
- }
55
- }
56
- }
57
- ],
58
- }
59
- ]
60
- },
61
- optimization: {
62
- splitChunks: {
63
- minSize: 0,
64
- cacheGroups: {
65
- commons: {
66
- test: /[\\/]node_modules[\\/]((?!(passbolt\-styleguide)).*)[\\/]/,
67
- name: 'vendors',
68
- chunks: 'all'
69
- },
70
- }
71
- },
72
- },
73
- resolve: {
74
- alias: {
75
- 'react': path.resolve('./node_modules/react'),
76
- 'react-dom': path.resolve('./node_modules/react-dom')
77
- },
78
- extensions: ["*", ".js", ".jsx"]
79
- },
80
- output: {
81
- // Set a unique name to ensure the cohabitation of multiple webpack loader on the same page.
82
- chunkLoadingGlobal: 'dataInFormCallToActionChunkLoadingGlobal',
83
- path: path.resolve(__dirname, './build/all/webAccessibleResources/js/dist/in-form-call-to-action'),
84
- pathinfo: true,
85
- filename: '[name].js'
86
- }
87
- };
88
-
89
- exports.default = function (env) {
90
- env = env || {};
91
- // Enable debug mode.
92
- if (env && env.debug) {
93
- config.mode = "development";
94
- config.devtool = "inline-source-map";
95
- }
96
- return config;
97
- };
@@ -1,97 +0,0 @@
1
- const webpack = require('webpack');
2
- const path = require('path');
3
-
4
- const config = {
5
- entry: {
6
- 'app': path.resolve(__dirname, './src/all/webAccessibleResources/js/app/InFormMenu.js')
7
- },
8
- mode: 'production',
9
- plugins: [
10
- new webpack.ProvidePlugin({
11
- // Inject browser polyfill as a global API, and adapt it depending on the environment (MV2/MV3/Windows app).
12
- browser: path.resolve(__dirname, './src/all/common/polyfill/browserPolyfill.js'),
13
- })
14
- ],
15
- module: {
16
- rules: [
17
- {
18
- test: /\.(js|jsx)$/,
19
- exclude: /(node_modules[\\/]((?!(passbolt\-styleguide))))/,
20
- loader: "babel-loader",
21
- options: {
22
- presets: ["@babel/react"],
23
- }
24
- },
25
- // Transform SVG as react component
26
- {
27
- test: /\.svg$/i,
28
- issuer: /\.[jt]sx?$/,
29
- use: [
30
- {
31
- loader: "@svgr/webpack",
32
- options: {
33
- svgoConfig: {
34
- plugins: [
35
- {
36
- name: 'preset-default',
37
- params: {
38
- overrides: {
39
- removeViewBox: false,
40
- cleanupIds: false,
41
- removeTitle: false,
42
- removeDesc: false,
43
- },
44
- },
45
- },
46
- {
47
- name: 'prefixIds',
48
- params: {
49
- prefixIds: false,
50
- prefixClassNames: false
51
- },
52
- },
53
- ],
54
- }
55
- }
56
- }
57
- ],
58
- }
59
- ]
60
- },
61
- optimization: {
62
- splitChunks: {
63
- minSize: 0,
64
- cacheGroups: {
65
- commons: {
66
- test: /[\\/]node_modules[\\/]((?!(passbolt\-styleguide)).*)[\\/]/,
67
- name: 'vendors',
68
- chunks: 'all'
69
- },
70
- }
71
- },
72
- },
73
- resolve: {
74
- alias: {
75
- 'react': path.resolve('./node_modules/react'),
76
- 'react-dom': path.resolve('./node_modules/react-dom')
77
- },
78
- extensions: ["*", ".js", ".jsx"]
79
- },
80
- output: {
81
- // Set a unique name to ensure the cohabitation of multiple webpack loader on the same page.
82
- chunkLoadingGlobal: 'dataInFormMenuChunkLoadingGlobal',
83
- path: path.resolve(__dirname, './build/all/webAccessibleResources/js/dist/in-form-menu'),
84
- pathinfo: true,
85
- filename: '[name].js'
86
- }
87
- };
88
-
89
- exports.default = function (env) {
90
- env = env || {};
91
- // Enable debug mode.
92
- if (env && env.debug) {
93
- config.mode = "development";
94
- config.devtool = "inline-source-map";
95
- }
96
- return config;
97
- };
@@ -1,55 +0,0 @@
1
- const path = require('path');
2
- const TerserPlugin = require("terser-webpack-plugin");
3
-
4
- const config = {
5
- entry: {
6
- 'offscreen': path.resolve(__dirname, './src/chrome-mv3/offscreens/offscreen.js'),
7
- },
8
- mode: 'production',
9
- module: {
10
- rules: [
11
- {
12
- test: /\.(js|jsx)$/,
13
- exclude: /(node_modules[\\/]((?!(passbolt\-styleguide))))/,
14
- loader: "babel-loader",
15
- options: {
16
- presets: ["@babel/react"],
17
- }
18
- }
19
- ]
20
- },
21
- optimization: {
22
- minimize: true,
23
- minimizer: [new TerserPlugin()],
24
- splitChunks: {
25
- minSize: 0,
26
- cacheGroups: {
27
- commons: {
28
- test: /[\\/]node_modules[\\/]((?!(passbolt\-styleguide)).*)[\\/]/,
29
- name: 'vendors',
30
- chunks: 'all'
31
- },
32
- }
33
- },
34
- },
35
- resolve: {extensions: ["*", ".js"], fallback: {crypto: false}},
36
- output: {
37
- // Set a unique name to ensure the cohabitation of multiple webpack loader on the same page.
38
- chunkLoadingGlobal: 'offscreensFetchChunkLoadingGlobal',
39
- path: path.resolve(__dirname, './build/all/offscreens'),
40
- pathinfo: true,
41
- filename: '[name].js'
42
- }
43
- };
44
-
45
- exports.default = function (env) {
46
- env = env || {};
47
- // Enable debug mode.
48
- if (env.debug) {
49
- config.mode = "development";
50
- config.devtool = "inline-source-map";
51
- config.optimization.minimize = false;
52
- config.optimization.minimizer = [];
53
- }
54
- return config;
55
- };
@@ -1,62 +0,0 @@
1
- const webpack = require('webpack');
2
- const path = require('path');
3
- const TerserPlugin = require("terser-webpack-plugin");
4
-
5
- const config = {
6
- entry: {
7
- 'index': path.resolve(__dirname, './src/all/background_page/index.js'),
8
- },
9
- mode: 'production',
10
- plugins: [
11
- new webpack.ProvidePlugin({
12
- // Inject browser polyfill as a global API, and adapt it depending on the environment (MV2/MV3/Windows app).
13
- browser: path.resolve(__dirname, './src/all/common/polyfill/browserPolyfill.js'),
14
- })
15
- ],
16
- module: {
17
- rules: [
18
- {
19
- test: /\.(js|jsx)$/,
20
- exclude: /(node_modules[\\/]((?!(passbolt\-styleguide))))/,
21
- loader: "babel-loader",
22
- options: {
23
- presets: ["@babel/react"],
24
- }
25
- }
26
- ]
27
- },
28
- optimization: {
29
- minimize: true,
30
- minimizer: [new TerserPlugin()],
31
- splitChunks: {
32
- minSize: 0,
33
- cacheGroups: {
34
- commons: {
35
- test: /[\\/]node_modules[\\/]((?!(passbolt\-styleguide)).*)[\\/]/,
36
- name: 'vendors',
37
- chunks: 'all'
38
- },
39
- }
40
- },
41
- },
42
- resolve: {extensions: ["*", ".js"], fallback: {crypto: false}},
43
- output: {
44
- // Set a unique name to ensure the cohabitation of multiple webpack loader on the same page.
45
- chunkLoadingGlobal: 'backgroundPageIndexChunkLoadingGlobal',
46
- path: path.resolve(__dirname, './build/all'),
47
- pathinfo: true,
48
- filename: '[name].min.js'
49
- }
50
- };
51
-
52
- exports.default = function (env) {
53
- env = env || {};
54
- // Enable debug mode.
55
- if (env.debug) {
56
- config.mode = "development";
57
- config.devtool = "inline-source-map";
58
- config.optimization.minimize = false;
59
- config.optimization.minimizer = [];
60
- }
61
- return config;
62
- };
@@ -1,65 +0,0 @@
1
- const webpack = require('webpack');
2
- const path = require('path');
3
- const TerserPlugin = require("terser-webpack-plugin");
4
-
5
- const config = {
6
- entry: {
7
- 'index': path.resolve(__dirname, './src/chrome-mv3/index.js'),
8
- },
9
- mode: 'production',
10
- plugins: [
11
- new webpack.ProvidePlugin({
12
- // Inject browser polyfill as a global API, and adapt it depending on the environment (MV2/MV3/Windows app).
13
- browser: path.resolve(__dirname, './src/all/common/polyfill/browserPolyfill.js'),
14
- // Inject custom api client fetch to MV3 extension as workaround of the invalid certificate issue.
15
- customApiClientFetch: path.resolve(__dirname, './src/chrome-mv3/polyfill/fetchOffscreenPolyfill.js'),
16
- customNavigatorClipboard: path.resolve(__dirname, './src/chrome-mv3/polyfill/clipboardOffscreenPolyfill.js'),
17
- })
18
- ],
19
- module: {
20
- rules: [
21
- {
22
- test: /\.(js|jsx)$/,
23
- exclude: /(node_modules[\\/]((?!(passbolt\-styleguide))))/,
24
- loader: "babel-loader",
25
- options: {
26
- presets: ["@babel/react"],
27
- }
28
- }
29
- ]
30
- },
31
- optimization: {
32
- minimize: true,
33
- minimizer: [new TerserPlugin()],
34
- splitChunks: {
35
- minSize: 0,
36
- cacheGroups: {
37
- commons: {
38
- test: /[\\/]node_modules[\\/]((?!(passbolt\-styleguide)).*)[\\/]/,
39
- name: 'vendors',
40
- chunks: 'all'
41
- },
42
- }
43
- },
44
- },
45
- resolve: {extensions: ["*", ".js"], fallback: {crypto: false}},
46
- output: {
47
- // Set a unique name to ensure the cohabitation of multiple webpack loader on the same page.
48
- chunkLoadingGlobal: 'serviceWorkerIndexChunkLoadingGlobal',
49
- path: path.resolve(__dirname, './build/all/serviceWorker'),
50
- pathinfo: true,
51
- filename: '[name].js'
52
- }
53
- };
54
-
55
- exports.default = function (env) {
56
- env = env || {};
57
- // Enable debug mode.
58
- if (env.debug) {
59
- config.mode = "development";
60
- config.devtool = "inline-source-map";
61
- config.optimization.minimize = false;
62
- config.optimization.minimizer = [];
63
- }
64
- return config;
65
- };