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 { Component } = require('./Component');
/** @typedef {import('../../types/browsersync').Options} BrowserSyncOptions */
module.exports = class BrowserSync extends Component {
requiresReload = true;
/** @type {BrowserSyncOptions} */
userConfig = {};
/**
* Required dependencies for the component.
*/
dependencies() {
return ['browser-sync', 'browser-sync-webpack-plugin@^2.3.0'];
}
/**
* Register the component.
*
* @param {string|BrowserSyncOptions} userConfig
*/
register(userConfig) {
this.userConfig =
typeof userConfig == 'string' ? { proxy: userConfig } : userConfig;
}
/**
* webpack plugins to be appended to the master config.
*/
webpackPlugins() {
let BrowserSyncPlugin = require('browser-sync-webpack-plugin');
return [new BrowserSyncPlugin(this.config(), { reload: false })];
}
/**
* The regex used to determine where the Browsersync
* javascript snippet is injected onto each page.
*/
regex() {
return RegExp('(</body>|</pre>)(?!.*(</body>|</pre>))', 'is');
}
/**
* Build the BrowserSync configuration.
*/
config() {
let userConfig = this.userConfig;
let defaultConfig = {
host: 'localhost',
port: 3000,
proxy: 'app.test',
files: [
'app/**/*.php',
'resources/views/**/*.php',
`${this.context.config.publicPath || 'public'}/**/*.(js|css)`
],
snippetOptions: {
rule: {
match: this.regex(),
fn: function (snippet, match) {
return snippet + match;
}
}
}
};
if (userConfig && userConfig.server) {
delete defaultConfig.proxy;
}
return Object.assign(defaultConfig, userConfig);
}
};
|
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0195 ]-- |