@@ -26,22 +26,25 @@ function prepareEnvironment() {
2626// 2. To require external npm packages we may provide
2727// 3. To require apps-engine files
2828function buildRequire ( ) : ( module : string ) => unknown {
29- return ( module : string ) : unknown => {
30- if ( ALLOWED_NATIVE_MODULES . includes ( module ) ) {
31- return require ( `node:${ module } ` ) ;
32- }
29+ return ( module : string ) : unknown => {
30+ // Normalize Node built-in specifiers: accept both 'crypto' and 'node:crypto'
31+ const normalized = module . replace ( 'node:' , '' ) ;
3332
34- if ( ALLOWED_EXTERNAL_MODULES . includes ( module ) ) {
35- return require ( `npm :${ module } ` ) ;
36- }
33+ if ( ALLOWED_NATIVE_MODULES . includes ( normalized ) ) {
34+ return require ( `node :${ normalized } ` ) ;
35+ }
3736
38- if ( module . startsWith ( '@rocket.chat/apps-engine' ) ) {
39- // Our `require` function knows how to handle these
40- return require ( module ) ;
41- }
37+ if ( ALLOWED_EXTERNAL_MODULES . includes ( module ) ) {
38+ return require ( `npm:${ module } ` ) ;
39+ }
4240
43- throw new Error ( `Module ${ module } is not allowed` ) ;
44- } ;
41+ if ( module . startsWith ( '@rocket.chat/apps-engine' ) ) {
42+ // Our `require` function knows how to handle these
43+ return require ( module ) ;
44+ }
45+
46+ throw new Error ( `Module ${ module } is not allowed` ) ;
47+ } ;
4548}
4649
4750function wrapAppCode ( code : string ) : ( require : ( module : string ) => unknown ) => Promise < Record < string , unknown > > {
0 commit comments