browser-extension-manager 1.3.19 → 1.3.21

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.
@@ -1,6 +1,7 @@
1
1
  // Libraries
2
2
  const Manager = new (require('../build.js'));
3
3
  const logger = Manager.logger('clean');
4
+ const { execSync } = require('child_process');
4
5
  const jetpack = require('fs-jetpack');
5
6
 
6
7
  // Load package
@@ -22,8 +23,12 @@ module.exports = async function (options) {
22
23
  try {
23
24
  // Loop through dirs
24
25
  dirs.forEach((dir) => {
25
- // Remove
26
- jetpack.remove(dir);
26
+ // Remove (use rm -rf on Unix for speed, fallback to jetpack on Windows)
27
+ if (process.platform !== 'win32') {
28
+ execSync(`rm -rf ${dir}`, { stdio: 'ignore' });
29
+ } else {
30
+ jetpack.remove(dir);
31
+ }
27
32
 
28
33
  // Create empty dir
29
34
  jetpack.dir(dir);
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Webpack Loader: strip-dev-blocks-loader
3
+ * Strips code between /* @dev-only:start * / and /* @dev-only:end * / markers
4
+ * Runs before webpack bundles, so the source code is still clean
5
+ */
6
+
7
+ const START_MARKER = '/* @dev-only:start */';
8
+ const END_MARKER = '/* @dev-only:end */';
9
+
10
+ function escapeRegex(str) {
11
+ return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
12
+ }
13
+
14
+ module.exports = function stripDevBlocksLoader(source) {
15
+ // Only strip in build mode
16
+ if (process.env.BEM_BUILD_MODE !== 'true') {
17
+ return source;
18
+ }
19
+
20
+ // Strip everything between start and end markers
21
+ const pattern = new RegExp(
22
+ `${escapeRegex(START_MARKER)}[\\s\\S]*?${escapeRegex(END_MARKER)}`,
23
+ 'g'
24
+ );
25
+
26
+ return source.replace(pattern, '');
27
+ };
@@ -6,7 +6,7 @@ const glob = require('glob').globSync;
6
6
  const path = require('path');
7
7
  const wp = require('webpack');
8
8
  const ReplacePlugin = require('../plugins/webpack/replace.js');
9
- const StripDevBlocksPlugin = require('../plugins/webpack/strip-dev-blocks.js');
9
+ const stripDevBlocksLoader = require.resolve('../loaders/webpack/strip-dev-blocks-loader.js');
10
10
  const version = require('wonderful-version');
11
11
 
12
12
  // Load package
@@ -90,7 +90,6 @@ function getSettings() {
90
90
  // Browser extensions have CSP restrictions, so use source-map instead of eval-source-map
91
91
  devtool: Manager.actLikeProduction() ? false : 'source-map',
92
92
  plugins: [
93
- new StripDevBlocksPlugin(),
94
93
  new ReplacePlugin(getTemplateReplaceOptions(), { type: 'template' }),
95
94
  ],
96
95
  entry: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "browser-extension-manager",
3
- "version": "1.3.19",
3
+ "version": "1.3.21",
4
4
  "description": "Browser Extension Manager dependency manager",
5
5
  "main": "dist/index.js",
6
6
  "exports": {
@@ -85,10 +85,10 @@
85
85
  "minimatch": "^10.1.1",
86
86
  "node-powertools": "^2.3.2",
87
87
  "npm-api": "^1.0.1",
88
- "sass": "^1.97.0",
88
+ "sass": "^1.97.1",
89
89
  "through2": "^4.0.2",
90
- "web-manager": "^4.1.2",
91
- "webpack": "^5.104.0",
90
+ "web-manager": "^4.1.3",
91
+ "webpack": "^5.104.1",
92
92
  "wonderful-fetch": "^1.3.4",
93
93
  "wonderful-version": "^1.3.2",
94
94
  "ws": "^8.18.3",