From 367495a3a59a15bad6f715ee899b07ba5d1e0e5c Mon Sep 17 00:00:00 2001 From: Oj Date: Sat, 23 Jan 2021 11:00:42 +0000 Subject: [PATCH] Change how modules.js is stored, add sub modules --- src/index.js | 18 ++++++++++-------- src/modules.js | 5 +++-- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/index.js b/src/index.js index 71965cd..da5c878 100644 --- a/src/index.js +++ b/src/index.js @@ -39,12 +39,14 @@ let moduleJson = []; for (const repo of ModuleRepos) { // console.log(repo); - console.time(repo); + console.time(repo.slice(0, 2).join('@')); - const url = `https://github.com/${repo.split('@')[0]}.git`; - const commitHash = repo.split('@')[1]; + const url = `https://github.com/${repo[0]}.git`; + const commitHash = repo[1]; - const name = repo.split('@')[0]; + const name = repo[0]; + + const moduleDir = repo[2] || ''; const cloneDir = `${clonesDir}/${name}`; @@ -56,13 +58,13 @@ for (const repo of ModuleRepos) { await new Promise((res) => exec(`git checkout ${commitHash}`, res)) - const manifest = JSON.parse(readFileSync(`${cloneDir}/goosemodModule.json`)); + const manifest = JSON.parse(readFileSync(`${cloneDir}${moduleDir}/goosemodModule.json`)); // console.log(manifest); const outFile = `${manifest.name.replace(/ /g, '_').toLowerCase()}.js`; - const bundler = new Parcel(`${cloneDir}/${manifest.main}`, Object.assign(parcelOptions, { + const bundler = new Parcel(`${cloneDir}${moduleDir}/${manifest.main}`, Object.assign(parcelOptions, { outFile })); @@ -71,7 +73,7 @@ for (const repo of ModuleRepos) { const outPath = `${modulesDir}/${outFile}`; let jsCode = readFileSync(outPath, 'utf8'); - jsCode = `${jsCode};parcelRequire('${manifest.main.split('/').pop()}').default`; // Make eval return the index module's default export + jsCode = `${jsCode};parcelRequire('${bundle.entryAsset.basename}').default`; // Make eval return the index module's default export // console.log(jsCode); @@ -85,7 +87,7 @@ for (const repo of ModuleRepos) { authors: manifest.authors }); - console.timeEnd(repo); + console.timeEnd(repo.slice(0, 2).join('@')); // console.log(lastHash); diff --git a/src/modules.js b/src/modules.js index 0f2f16a..9b6a0ef 100644 --- a/src/modules.js +++ b/src/modules.js @@ -1,5 +1,6 @@ export default [ - 'GooseMod/GMExampleModule@f4cec6c0d5f9632a44de907d647f3ad02d03bb3f', - 'Controlfreak707/GM-Copy-Raw@ae3f739f4d53344f87b1b404686d100394a566ee' + ['GooseMod/GMExampleModule', 'ba7c20f44fe88780286ac88b47b933609016c7ef'], + ['GooseMod/GMExampleModule', 'ba7c20f44fe88780286ac88b47b933609016c7ef', '/subModule'], + ['Controlfreak707/GM-Copy-Raw', 'ae3f739f4d53344f87b1b404686d100394a566ee'] ]; \ No newline at end of file