Move to ES6 module (#357)

* Redo imports and exports for lib

* Redo imports and exports for bim

* Redo imports and exports for games

* Remove remaining module.exports

* Use export default in lib

* Use export default in protocols

* Fix import in genreadme.js

* Make package module and solve __dirname

* Fix minecraft protocol imports

* Fix imports on games and make binary runnable

* Renamed protocol class exports to lowercase

* Export promises class as default

* Update README.md to use imports instead of require

* Update CHANGELOG to mention the changes.

* Remove Valve unused imports

* Fix iconv import
This commit is contained in:
CosminPerRam 2023-09-14 23:28:31 +03:00 committed by GitHub
parent b4f6e7fab6
commit ad9adff06c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
64 changed files with 249 additions and 323 deletions

View file

@ -1,22 +1,8 @@
const Path = require('path'),
fs = require('fs'),
Core = require('../protocols/core');
import * as Protocols from '../protocols/index.js'
class ProtocolResolver {
constructor() {
this.protocolDir = Path.normalize(__dirname+'/../protocols');
}
export const getProtocol = (protocolId) => {
if(!(protocolId in Protocols))
throw Error('Protocol definition file missing: ' + protocolId);
/**
* @returns Core
*/
create(protocolId) {
protocolId = Path.basename(protocolId);
const path = this.protocolDir+'/'+protocolId;
if(!fs.existsSync(path+'.js')) throw Error('Protocol definition file missing: '+type);
const protocol = require(path);
return new protocol();
}
return new Protocols[protocolId];
}
module.exports = ProtocolResolver;