Vm2: Extension de require() plus loin

Créé le 15 juil. 2016  ·  4Commentaires  ·  Source: patriksimek/vm2

Je voudrais une option qui est une fonction qui prend vm2 's require comme argument et retourne une nouvelle fonction qui devrait être utilisé au lieu de vm2 ' s require .

feature request stale

Commentaire le plus utile

Assez pertinent : j'utilise un système de fichiers personnalisé pour le code soumis par l'utilisateur. Existe-t-il un moyen de gérer manuellement les exigences locales, telles que require('./otherUserSubmittedFile') , en récupérant le fichier du système de fichiers personnalisé et en le remettant à vm2 pour ensuite le bac à sable ?

Mise à jour :
Très approximatif, mais j'ai implémenté quelque chose du genre des fichiers personnalisés/virtuels : https://github.com/bartjoyce/vm2-with-custom-fs

Utilisation, serait quelque chose comme ceci:

NodeVM.file('/customfs/main.js', {
  require: {
    external: true,
    root: '/customfs/', // restrict local requires to within the custom fs
  },
  customfs: {
    getFileContents: (filename) => /* handle /customfs/ file read */,
    exists: (filename) => /* ... */,
    isDirectory: (filename) => /* ... */
  }
})

Tous les 4 commentaires

Assez pertinent : j'utilise un système de fichiers personnalisé pour le code soumis par l'utilisateur. Existe-t-il un moyen de gérer manuellement les exigences locales, telles que require('./otherUserSubmittedFile') , en récupérant le fichier du système de fichiers personnalisé et en le remettant à vm2 pour ensuite le bac à sable ?

Mise à jour :
Très approximatif, mais j'ai implémenté quelque chose du genre des fichiers personnalisés/virtuels : https://github.com/bartjoyce/vm2-with-custom-fs

Utilisation, serait quelque chose comme ceci:

NodeVM.file('/customfs/main.js', {
  require: {
    external: true,
    root: '/customfs/', // restrict local requires to within the custom fs
  },
  customfs: {
    getFileContents: (filename) => /* handle /customfs/ file read */,
    exists: (filename) => /* ... */,
    isDirectory: (filename) => /* ... */
  }
})

@bartjoyce j'ai besoin de la même chose ! Votre lien est rompu, l'avez-vous déplacé quelque part ?

@callumlocke Je suis depuis passé à d'autres projets et j'ai cessé de maintenir le code. Le code que j'ai écrit est ici : https://github.com/bartjoyce/vm2/

Il y a 30 commits de retard, mais au moins vous pouvez voir les modifications que j'ai apportées.

Le commit important est celui-ci : https://github.com/bartjoyce/vm2/commit/302e910610c0e1f1ef7a1d15a19a02828715f630

J'ai apporté des modifications supplémentaires à vm2 qui ne sont pas dans mon référentiel. Si vous voulez les voir aussi, faites le moi savoir.

Ce problème a été automatiquement marqué comme obsolète car il n'a pas eu d'activité récente. Il sera fermé si aucune autre activité ne se produit. Merci pour vos contributions.

Cette page vous a été utile?
0 / 5 - 0 notes