<commit_before>/**
 * @module BrowserSync.options
 */
module.exports = {

    /**
     * Browsersync includes a user-interface that is accessed via a separate port.
     * The UI allows to controls all devices, push sync updates and much more.
     * @property ui
     * @type Object
     * @param {Number} [port=3001]
     * @since 2.0.0
     * @default false
     */
    ui: {
        port: 3001
    },

    /**
     * Browsersync can watch your files as you work. Changes you make will either
     * be injected into the page (CSS & images) or will cause all browsers to do
     * a full-page refresh.
     * @property files
     * @type Array|String
     * @default false
     */
    files: false,

    /**
     * Specify which file events to respond to.
     * Available events: `add`, `change`, `unlink`, `addDir`, `unlinkDir`
     * @property watchEvents
     * @type Array
     * @default ["change"]
     * @since 2.18.8
     */
    watchEvents: ["change"],

    /**
     * Watch files automatically - this should be used as an
     * alternative to the `files` option. When this option is used, some directories
     * will be ignored automatically such as `node_modules` `bower_components` `.sass-cache`
     * `.vscode` `.git` `.idea`
     *
     * @property watch
     * @type Boolean
     * @default false
     * @since 2.23.0
     */
    watch: false,

    /**
     * Patterns for any watchers to ignore. Anything provided here
     * will end up inside `watchOptions.ignored`
     * @property ignore
     * @type Array
     * @default []
     * @since 2.23.0
     */
    ignore: [],

    /**
     * Serve an index.html file for all non-asset routes. Useful
     * when using client-routers
     * @property single
     * @type Boolean
     * @default false
     * @since 2.23.0
     */
    single: false,

    /**
     * File watching options that get passed along to [Chokidar](https://github.com/paulmillr/chokidar).
     * Check their docs for available options
     * @property watchOptions
     * @type Object
     * @default undefined
     * @since 2.6.0
     */
    watchOptions: {
        ignoreInitial: true
        /*
         persistent: true,

         ignored: '*.txt',
         followSymlinks: true,
         cwd: '.',

         usePolling: true,
         alwaysStat: false,
         depth: undefined,
         interval: 100,

         ignorePermissionErrors: false,
         atomic: true
         */
    },

    /**
     * Use the built-in static server for basic HTML/JS/CSS websites.
     * @property server
     * @type Object|Boolean
     * @default false
     */
    server: false,

    /**
     * Proxy an EXISTING vhost. Browsersync will wrap your vhost with a proxy URL to view your site.
     * @property proxy
     * @type String|Object|Boolean
     * @param {String} [target]
     * @param {Boolean} [ws] - Enable websocket proxying
     * @param {Function|Array} [middleware]
     * @param {Function} [reqHeaders]
     * @param {Array} [proxyReq]
     * @param {Array} [proxyRes]
     * @default false
     */
    proxy: false,

    /**
     * @property port
     * @type Number
     * @default 3000
     */
    port: 3000,

    /**
     * @property middleware
     * @type Function|Array
     * @default false
     */
    middleware: false,

    /**
     * Add additional directories from which static
     * files should be served. Should only be used in `proxy` or `snippet`
     * mode.
     * @property serveStatic
     * @type Array
     * @default []
     * @since 2.8.0
     */
    serveStatic: [],

    /**
     * Options that are passed to the serve-static middleware
     * when you use the string[] syntax: eg: `serveStatic: ['./app']`. Please see
     * [serve-static](https://github.com/expressjs/serve-static) for details
     *
     * @property serveStaticOptions
     * @type Object
     * @since 2.17.0
     */

    /**
     * Enable https for localhost development. **Note** - this is not needed for proxy
     * option as it will be inferred from your target url.
     * @property https
     * @type Boolean
     * @default undefined
     * @since 1.3.0
     */

    /**
     * Override http module to allow using 3rd party server modules (such as http2)
     * @property httpModule
     * @type string
     * @default undefined
     * @since 2.18.0
     */

    /**
     * Current working directory
     * @property cwd
     * @type String
     * @since 2.23.0
     */

    /**
     * Register callbacks via a regular option - this can be used
     * to get access the Browsersync instance in situations where you
     * cannot provide a callback via the normal API (for example, in a Gruntfile)
     *
     * **Note**: Only the `ready` callback is currently supported here.
     *<commit_msg>docs: added additional note about httpModule option - fixes #1485<commit_after>/**
 * @module BrowserSync.options
 */
module.exports = {

    /**
     * Browsersync includes a user-interface that is accessed via a separate port.
     * The UI allows to controls all devices, push sync updates and much more.
     * @property ui
     * @type Object
     * @param {Number} [port=3001]
     * @since 2.0.0
     * @default false
     */
    ui: {
        port: 3001
    },

    /**
     * Browsersync can watch your files as you work. Changes you make will either
     * be injected into the page (CSS & images) or will cause all browsers to do
     * a full-page refresh.
     * @property files
     * @type Array|String
     * @default false
     */
    files: false,

    /**
     * Specify which file events to respond to.
     * Available events: `add`, `change`, `unlink`, `addDir`, `unlinkDir`
     * @property watchEvents
     * @type Array
     * @default ["change"]
     * @since 2.18.8
     */
    watchEvents: ["change"],

    /**
     * Watch files automatically - this should be used as an
     * alternative to the `files` option. When this option is used, some directories
     * will be ignored automatically such as `node_modules` `bower_components` `.sass-cache`
     * `.vscode` `.git` `.idea`
     *
     * @property watch
     * @type Boolean
     * @default false
     * @since 2.23.0
     */
    watch: false,

    /**
     * Patterns for any watchers to ignore. Anything provided here
     * will end up inside `watchOptions.ignored`
     * @property ignore
     * @type Array
     * @default []
     * @since 2.23.0
     */
    ignore: [],

    /**
     * Serve an index.html file for all non-asset routes. Useful
     * when using client-routers
     * @property single
     * @type Boolean
     * @default false
     * @since 2.23.0
     */
    single: false,

    /**
     * File watching options that get passed along to [Chokidar](https://github.com/paulmillr/chokidar).
     * Check their docs for available options
     * @property watchOptions
     * @type Object
     * @default undefined
     * @since 2.6.0
     */
    watchOptions: {
        ignoreInitial: true
        /*
         persistent: true,

         ignored: '*.txt',
         followSymlinks: true,
         cwd: '.',

         usePolling: true,
         alwaysStat: false,
         depth: undefined,
         interval: 100,

         ignorePermissionErrors: false,
         atomic: true
         */
    },

    /**
     * Use the built-in static server for basic HTML/JS/CSS websites.
     * @property server
     * @type Object|Boolean
     * @default false
     */
    server: false,

    /**
     * Proxy an EXISTING vhost. Browsersync will wrap your vhost with a proxy URL to view your site.
     * @property proxy
     * @type String|Object|Boolean
     * @param {String} [target]
     * @param {Boolean} [ws] - Enable websocket proxying
     * @param {Function|Array} [middleware]
     * @param {Function} [reqHeaders]
     * @param {Array} [proxyReq]
     * @param {Array} [proxyRes]
     * @default false
     */
    proxy: false,

    /**
     * @property port
     * @type Number
     * @default 3000
     */
    port: 3000,

    /**
     * @property middleware
     * @type Function|Array
     * @default false
     */
    middleware: false,

    /**
     * Add additional directories from which static
     * files should be served. Should only be used in `proxy` or `snippet`
     * mode.
     * @property serveStatic
     * @type Array
     * @default []
     * @since 2.8.0
     */
    serveStatic: [],

    /**
     * Options that are passed to the serve-static middleware
     * when you use the string[] syntax: eg: `serveStatic: ['./app']`. Please see
     * [serve-static](https://github.com/expressjs/serve-static) for details
     *
     * @property serveStaticOptions
     * @type Object
     * @since 2.17.0
     */

    /**
     * Enable https for localhost development. **Note** - this is not needed for proxy
     * option as it will be inferred from your target url.
     * @property https
     * @type Boolean
     * @default undefined
     * @since 1.3.0
     */

    /**
     * Override http module to allow using 3rd party server modules (such as http2)
     * *Note*: these modules are not included in the Browsersync package - you need
     * to 'npm install' any that you'd like to use.
     * @property httpModule
     * @type string
     * @default undefined
     * @since 2.18.0
     */

    /**
     * Current working directory
     * @property cwd
     * @type String
     * @since 2.23.0
     */

    /**
     * Register callbacks via a regular option - this can be used
     * to get access the Browsersync instance in situations where you
     * cannot provide a callback via the normal API (for example, in a Gruntfile)
     *
     * **Note**: Only the `ready` callback is currently supported here.
     *
{'fraction_non_alphanumeric': 0.10917525773195877, 'fraction_numerical': 0.012989690721649485, 'mean_word_length': 2.0006186204763377, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3671119', 'n_tokens_mistral': 2932, 'n_tokens_neox': 2800, 'n_words': 975}