Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) Safe-mode: OFF (not secure) /var/www/html/queuepro/node_modules/laravel-mix/src/components/ drwxrwxr-x | |
| Viewing file: Select action/file-type: const glob = require('glob');
const File = require('../File');
const Assert = require('../Assert');
const { Component } = require('./Component');
module.exports = class JavaScript extends Component {
/** @type {{entry: File[], output: File}[]} */
toCompile = [];
/**
* The API name for the component.
*/
name() {
let name = this.constructor.name.toLowerCase();
return [name === 'javascript' ? 'js' : name];
}
/**
* Register the component.
*
* @param {any} entry
* @param {string} output
*/
register(entry, output) {
if (typeof entry === 'string' && entry.includes('*')) {
entry = glob.sync(entry);
}
Assert.js(entry, output);
entry = [].concat(entry).map(file => new File(file));
this.toCompile.push({ entry, output: new File(output) });
this.context.bundlingJavaScript = true;
}
/**
* Assets to append to the webpack entry.
*
* @param {import('../builder/Entry')} entry
*/
webpackEntry(entry) {
this.toCompile.forEach(js => {
entry.addFromOutput(
js.entry.map(file => file.path()),
js.output,
js.entry[0]
);
});
}
/**
* webpack rules to be appended to the master config.
*/
webpackRules() {
return [
{
test: /\.(cjs|mjs|jsx?|tsx?)$/,
exclude: /(node_modules|bower_components)/,
use: [
{
loader: this.context.resolve('babel-loader'),
options: this.context.config.babel()
}
]
}
];
}
};
|
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0261 ]-- |