Skip to content

Commit d65ff2f

Browse files
committed
Completely remove require by hardcoding paths
1 parent a9cc5aa commit d65ff2f

File tree

2 files changed

+46
-8
lines changed

2 files changed

+46
-8
lines changed

packages/snaps-execution-environments/lavamoat/build-system/policy.json

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -359,9 +359,11 @@
359359
"@lavamoat/node>lavamoat-core>merge-deep>clone-deep": {
360360
"packages": {
361361
"@lavamoat/node>lavamoat-core>merge-deep>clone-deep>for-own": true,
362+
"@lavamoat/node>lavamoat-core>merge-deep>clone-deep>shallow-clone>is-extendable": true,
363+
"webpack-merge>clone-deep>is-plain-object": true,
364+
"@lavamoat/node>lavamoat-core>merge-deep>kind-of": true,
362365
"@lavamoat/node>lavamoat-core>merge-deep>clone-deep>lazy-cache": true,
363-
"@lavamoat/node>lavamoat-core>merge-deep>clone-deep>shallow-clone": true,
364-
"webpack-merge>clone-deep>is-plain-object": true
366+
"@lavamoat/node>lavamoat-core>merge-deep>clone-deep>shallow-clone": true
365367
}
366368
},
367369
"webpack-merge>clone-deep": {
@@ -726,6 +728,11 @@
726728
"@lavamoat/node>lavamoat-core>merge-deep>kind-of>is-buffer": true
727729
}
728730
},
731+
"@lavamoat/node>lavamoat-core>merge-deep>clone-deep>shallow-clone>kind-of": {
732+
"packages": {
733+
"@lavamoat/node>lavamoat-core>merge-deep>kind-of>is-buffer": true
734+
}
735+
},
729736
"@lavamoat/node>lavamoat-core": {
730737
"builtin": {
731738
"node:events": true,
@@ -760,6 +767,11 @@
760767
"process.env.UNLAZY": true
761768
}
762769
},
770+
"@lavamoat/node>lavamoat-core>merge-deep>clone-deep>shallow-clone>lazy-cache": {
771+
"globals": {
772+
"process.env": true
773+
}
774+
},
763775
"webpack>loader-runner": {
764776
"builtin": {
765777
"fs": true,
@@ -811,6 +823,12 @@
811823
"webpack>mime-types>mime-db": true
812824
}
813825
},
826+
"@lavamoat/node>lavamoat-core>merge-deep>clone-deep>shallow-clone>mixin-object": {
827+
"packages": {
828+
"@lavamoat/node>lavamoat-core>merge-deep>clone-deep>shallow-clone>mixin-object>for-in": true,
829+
"@lavamoat/node>lavamoat-core>merge-deep>clone-deep>shallow-clone>is-extendable": true
830+
}
831+
},
814832
"webpack>neo-async": {
815833
"globals": {
816834
"clearTimeout": true,
@@ -946,6 +964,14 @@
946964
"@lavamoat/webpack>json-stable-stringify>call-bind>set-function-length>has-property-descriptors": true
947965
}
948966
},
967+
"@lavamoat/node>lavamoat-core>merge-deep>clone-deep>shallow-clone": {
968+
"packages": {
969+
"@lavamoat/node>lavamoat-core>merge-deep>clone-deep>shallow-clone>is-extendable": true,
970+
"@lavamoat/node>lavamoat-core>merge-deep>clone-deep>shallow-clone>kind-of": true,
971+
"@lavamoat/node>lavamoat-core>merge-deep>clone-deep>shallow-clone>lazy-cache": true,
972+
"@lavamoat/node>lavamoat-core>merge-deep>clone-deep>shallow-clone>mixin-object": true
973+
}
974+
},
949975
"webpack-merge>clone-deep>shallow-clone": {
950976
"globals": {
951977
"Buffer.allocUnsafe": true,
@@ -1301,4 +1327,4 @@
13011327
}
13021328
}
13031329
}
1304-
}
1330+
}

packages/snaps-execution-environments/webpack.config.mjs

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import { LavaMoatPlugin } from '@lavamoat/webpack';
66
import { readFileSync } from 'fs';
77
import HtmlWebpackPlugin from 'html-webpack-plugin';
88
import { isBuiltin } from 'module';
9-
import { createRequire } from 'node:module';
109
import { dirname } from 'node:path';
1110
import { fileURLToPath } from 'node:url';
1211
import { resolve } from 'path';
@@ -31,16 +30,29 @@ const IS_PRODUCTION =
3130
// eslint-disable-next-line n/no-process-env
3231
process.env.NODE_ENV !== 'development' && process.env.NODE_ENV !== 'test';
3332

34-
// eslint-disable-next-line no-shadow
35-
const require = createRequire(import.meta.url);
33+
/**
34+
* The path to the root `node_modules` directory.
35+
*
36+
* @type {string}
37+
*/
38+
const NODE_MODULES_PATH = resolve(
39+
fileURLToPath(import.meta.url),
40+
'..',
41+
'..',
42+
'..',
43+
'node_modules',
44+
);
3645

3746
/**
3847
* The SES bundle used for the lockdown script.
3948
*
4049
* @type {string}
4150
*/
4251
// eslint-disable-next-line n/no-sync
43-
const SES_BUNDLE = readFileSync(require.resolve('ses'), 'utf-8');
52+
const SES_BUNDLE = readFileSync(
53+
resolve(NODE_MODULES_PATH, 'ses', 'dist', 'ses.cjs'),
54+
'utf-8',
55+
);
4456

4557
/**
4658
* @typedef {import('webpack').Configuration} Configuration
@@ -193,7 +205,7 @@ const baseConfig = {
193205
// safely ignore it if it's not available.
194206
crypto: false,
195207

196-
stream: require.resolve('stream-browserify'),
208+
stream: resolve(NODE_MODULES_PATH, 'stream-browserify', 'index.js'),
197209
},
198210

199211
plugins: [

0 commit comments

Comments
 (0)