From b16aaf252650979084d9157fbe05731c16973ea9 Mon Sep 17 00:00:00 2001 From: Fedik Date: Tue, 25 Sep 2018 21:55:29 +0300 Subject: [PATCH] Update settings.json, add "provideAssets" propertie --- build/build-modules-js/settings.json | 73 ++++++++++++++++++++++++++-- build/build-modules-js/update.js | 55 ++++++++++----------- 2 files changed, 96 insertions(+), 32 deletions(-) diff --git a/build/build-modules-js/settings.json b/build/build-modules-js/settings.json index 42beebcfa0740..9d01168c52f62 100644 --- a/build/build-modules-js/settings.json +++ b/build/build-modules-js/settings.json @@ -71,8 +71,9 @@ "awesomplete.min.js.map": "js/awesomplete.min.js.map", "awesomplete.css.map": "css/awesomplete.css.map" }, - "assetsInfo": [ + "provideAssets": [ { + "name": null, "js": ["awesomplete.min.js"], "css": ["awesomplete.css"] } @@ -119,6 +120,13 @@ "dist/cropper.css": "css/cropper.css", "dist/cropper.min.css": "css/cropper.min.css" }, + "provideAssets": [ + { + "name": null, + "js": ["cropper.min.js"], + "css": ["cropper.min.css"] + } + ], "dependencies": [], "licenseFilename": "LICENSE" }, @@ -128,6 +136,12 @@ "dist/diff.js": "js/diff.js", "dist/diff.min.js": "js/diff.min.js" }, + "provideAssets": [ + { + "name": null, + "js": ["diff.js"] + } + ], "dependencies": [], "licenseFilename": "LICENSE" }, @@ -141,6 +155,13 @@ "dist/dragula.css": "css/dragula.css", "dist/dragula.min.css": "css/dragula.min.css" }, + "provideAssets": [ + { + "name": null, + "js": ["dragula.min.js"], + "css": ["dragula.min.css"] + } + ], "dependencies": [], "licenseFilename": "license" }, @@ -151,6 +172,12 @@ "dist/focus-visible.min.js": "js/focus-visible.min.js", "dist/focus-visible.min.js.map": "js/focus-visible.min.js.map" }, + "provideAssets": [ + { + "name": null, + "js": ["focus-visible.min.js"] + } + ], "dependencies": [], "licenseFilename": "LICENSE.md" }, @@ -165,6 +192,12 @@ "scss": "scss", "fonts": "fonts" }, + "provideAssets": [ + { + "name": null, + "css": ["font-awesome.min.css"] + } + ], "dependencies": [], "licenseFilename": "" }, @@ -177,8 +210,11 @@ "filesExtra": { "dist/jquery.min.map": "js/jquery.min.map" }, - "include": [ - "jquery-migrate" + "provideAssets": [ + { + "name": null, + "js": ["jquery.min.js"] + } ], "dependencies": [], "licenseFilename": "LICENSE.txt" @@ -189,6 +225,13 @@ "dist/jquery-migrate.js": "js/jquery-migrate.js", "dist/jquery-migrate.min.js": "js/jquery-migrate.min.js" }, + "provideAssets": [ + { + "name": null, + "js": ["jquery-migrate.min.js"], + "dependencies": ["jquery"] + } + ], "dependencies": [ "jquery" ], @@ -246,6 +289,12 @@ "js": { "punycode.js": "js/punycode.js" }, + "provideAssets": [ + { + "name": null, + "js": ["punycode.js"] + } + ], "dependencies": [], "licenseFilename": "LICENSE-MIT.txt" }, @@ -261,6 +310,14 @@ "filesExtra": { "jquery.minicolors.png": "css/jquery.minicolors.png" }, + "provideAssets": [ + { + "name": null, + "js": ["jquery.minicolors.min.j"], + "css": ["jquery.minicolors.css"], + "dependencies": ["jquery"] + } + ], "dependencies": [ "jquery" ], @@ -303,7 +360,15 @@ "chosen.css": "css/chosen.css", "chosen-sprite.png": "css/chosen-sprite.png", "chosen-sprite@2x.png": "css/chosen-sprite@2x.png" - } + }, + "provideAssets": [ + { + "name": null, + "js": ["chosen.jquery.js"], + "css": ["chosen.css"], + "dependencies": ["jquery"] + } + ] } }, "errorPages": { diff --git a/build/build-modules-js/update.js b/build/build-modules-js/update.js index 9aff841acb541..5ffbedbedf0b5 100644 --- a/build/build-modules-js/update.js +++ b/build/build-modules-js/update.js @@ -190,15 +190,7 @@ const copyFiles = (options) => { if (!vendor[type]) return; const dest = Path.join(mediaVendorPath, vendorName); - const files = copyFilesTo(vendor[type], modulePathRoot, dest, type); - - // // Add to registry, in format suported by JHtml - // if (type === 'js' || type === 'css') { - // registryItem[type] = []; - // files.forEach((filePath) => { - // registryItem[type].push(`vendor/${vendorName}/${Path.basename(filePath)}`); - // }); - // } + copyFilesTo(vendor[type], modulePathRoot, dest, type); }); // Copy the license if exists @@ -210,23 +202,6 @@ const copyFiles = (options) => { } } - // Add Assets to registry, if any - if (vendor.assetsInfo && vendor.assetsInfo.length) { - vendor.assetsInfo.forEach((assetInfo) => { - - const registryItem = { - package: packageName, - name: assetInfo.name || vendorName, - version: moduleOptions.version, - dependencies: assetInfo.dependencies || [], - js: assetInfo.js || [], - css: assetInfo.css || [], - }; - - registry.assets[registryItem.name] = registryItem; - }); - } - // Joomla's hack to expose the chosen base classes so we can extend it ourselves (it was better than the // many hacks we had before. But I'm still ashamed of myself. if (packageName === 'chosen-js') { @@ -239,6 +214,30 @@ const copyFiles = (options) => { fs.writeFileSync(chosenPath, ChosenJs, { encoding: 'UTF-8' }); } + // Add provided Assets to a registry, if any + if (vendor.provideAssets && vendor.provideAssets.length) { + vendor.provideAssets.forEach((assetInfo) => { + + const registryItem = { + package: packageName, + name: assetInfo.name || vendorName, + version: moduleOptions.version, + dependencies: assetInfo.dependencies || [], + js: [], + css: [], + }; + + assetInfo.js && assetInfo.js.length && assetInfo.js.forEach((assetJS) => { + registryItem.js.push(`vendor/${vendorName}/${assetJS}`); + }); + assetInfo.css && assetInfo.css.length && assetInfo.css.forEach((assetCSS) => { + registryItem.css.push(`vendor/${vendorName}/${assetCSS}`); + }); + + registry.assets[registryItem.name] = registryItem; + }); + } + // eslint-disable-next-line no-console console.log(`${packageName} was updated.`); } @@ -326,8 +325,8 @@ const copyAssets = (options) => { Promise.resolve() // Copy a fresh version of the files .then(cleanVendors()) - // - // // Copy a fresh version of the files + + // Copy a fresh version of the files .then(recreateMediaFolder()) // Copy a fresh version of the files