SelfhostedModule.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. const { AdvancedBase } = require("puter-js-common");
  2. class SelfhostedModule extends AdvancedBase {
  3. async install (context) {
  4. const services = context.get('services');
  5. const DefaultUserService = require('./services/DefaultUserService');
  6. services.registerService('__default-user', DefaultUserService);
  7. const ComplainAboutVersionsService = require('./services/ComplainAboutVersionsService');
  8. services.registerService('complain-about-versions', ComplainAboutVersionsService);
  9. const DevWatcherService = require('./services/DevWatcherService');
  10. const path_ = require('path');
  11. services.registerService('__dev-watcher', DevWatcherService, {
  12. root: path_.resolve(__dirname, '../../../'),
  13. commands: [
  14. {
  15. name: 'puter.js:webpack-watch',
  16. directory: 'packages/puter-js',
  17. command: 'npm',
  18. args: ['run', 'start-webpack'],
  19. },
  20. ],
  21. });
  22. const ServeStaticFilesService = require("./services/ServceStaticFilesService");
  23. services.registerService('__serve-puterjs', ServeStaticFilesService, {
  24. directories: [
  25. {
  26. prefix: '/sdk',
  27. path: path_.resolve(__dirname, '../../../packages/puter-js/dist'),
  28. },
  29. ],
  30. });
  31. }
  32. }
  33. module.exports = SelfhostedModule;