Compare commits
2 Commits
v30.0.0.OS
...
develop
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9f47df5613 | ||
|
|
731073a133 |
31
core/extensions/wrapper.php
Normal file
31
core/extensions/wrapper.php
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
<?php
|
||||||
|
use Classes\ExtensionManager;
|
||||||
|
use Utils\LogManager;
|
||||||
|
|
||||||
|
if (!isset($extensionIndex)) {
|
||||||
|
exit();
|
||||||
|
}
|
||||||
|
define('MODULE_PATH',APP_BASE_PATH.'extensions/'.$moduleName);
|
||||||
|
include APP_BASE_PATH.'header.php';
|
||||||
|
$extensionManager = new ExtensionManager();
|
||||||
|
$meta = $extensionManager->getExtensionMetaData($moduleName);
|
||||||
|
if (!$meta) {
|
||||||
|
LogManager::getInstance()->error("Extension metadata.json not found for $moduleName");
|
||||||
|
exit();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($meta->headless) {
|
||||||
|
LogManager::getInstance()->error("Extension running in headless mode for $moduleName");
|
||||||
|
exit();
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<script type="text/javascript" src="<?=BASE_URL.'dist/vendorReact.js'?>?v=<?=$jsVersion?>"></script>
|
||||||
|
<script type="text/javascript" src="<?=BASE_URL.'dist/vendorAntd.js'?>?v=<?=$jsVersion?>"></script>
|
||||||
|
<script type="text/javascript" src="<?=BASE_URL.'dist/vendorAntdIcons.js'?>?v=<?=$jsVersion?>"></script>
|
||||||
|
<script type="text/javascript" src="<?=BASE_URL.'dist/vendorAntv.js'?>?v=<?=$jsVersion?>"></script>
|
||||||
|
<script type="text/javascript" src="<?=BASE_URL.'dist/vendorOther.js'?>?v=<?=$jsVersion?>"></script>
|
||||||
|
<script type="text/javascript" src="<?=EXTENSIONS_URL.$moduleName.'/dist/'.$moduleName.'.js'?>?v=<?=$jsVersion?>"></script>
|
||||||
|
<?php
|
||||||
|
include $extensionIndex;
|
||||||
|
include APP_BASE_PATH.'footer.php';
|
||||||
|
?>
|
||||||
1
extensions/gitkeep
Executable file
1
extensions/gitkeep
Executable file
@@ -0,0 +1 @@
|
|||||||
|
git keep
|
||||||
41
gulpfile.js
41
gulpfile.js
@@ -361,6 +361,47 @@ gulp.task('modules-js', (done) => {
|
|||||||
.pipe(gulp.dest('./web/dist'));
|
.pipe(gulp.dest('./web/dist'));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
gulp.task('extension-js', (done) => {
|
||||||
|
let extension = process.argv.filter((item) => item.substr(0, 3) === '--x');
|
||||||
|
if (extension.length === 1) {
|
||||||
|
extension = extension[0].substr(3);
|
||||||
|
}
|
||||||
|
|
||||||
|
// map them to our stream function
|
||||||
|
return browserify({
|
||||||
|
entries: [`extensions/${extension}/web/js/index.js`],
|
||||||
|
basedir: '.',
|
||||||
|
debug: true,
|
||||||
|
cache: {},
|
||||||
|
packageCache: {},
|
||||||
|
})
|
||||||
|
.external(vendorsFlat)
|
||||||
|
.transform('babelify', {
|
||||||
|
plugins: [
|
||||||
|
['@babel/plugin-proposal-class-properties', { loose: true }],
|
||||||
|
],
|
||||||
|
presets: ['@babel/preset-env', '@babel/preset-react'],
|
||||||
|
extensions: ['.js', '.jsx'],
|
||||||
|
})
|
||||||
|
.transform(require('browserify-css'))
|
||||||
|
.bundle()
|
||||||
|
.pipe(source(`${extension}.js`))
|
||||||
|
.pipe(buffer())
|
||||||
|
.pipe(ifElse(!isProduction, () => sourcemaps.init({ loadMaps: true })))
|
||||||
|
.pipe(ifElse(isProduction, () => uglifyes(
|
||||||
|
{
|
||||||
|
compress: true,
|
||||||
|
mangle: {
|
||||||
|
reserved: [],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
)))
|
||||||
|
.pipe(ifElse(isProduction, () => javascriptObfuscator({
|
||||||
|
compact: true,
|
||||||
|
})))
|
||||||
|
.pipe(ifElse(!isProduction, () => sourcemaps.write('./')))
|
||||||
|
.pipe(gulp.dest(`./extensions/${extension}/dist`));
|
||||||
|
});
|
||||||
|
|
||||||
gulp.task('watch', () => {
|
gulp.task('watch', () => {
|
||||||
gulp.watch('web/admin/src/*/*.js', gulp.series('admin-js'));
|
gulp.watch('web/admin/src/*/*.js', gulp.series('admin-js'));
|
||||||
|
|||||||
Reference in New Issue
Block a user