<commit_before>var path = require('path');
var url = require('url');

var closure = require('openlayers/node_modules/closure-util');
var nomnom = require('nomnom');

var log = closure.log;

var options = nomnom.options({
  port: {
    abbr: 'p',
    'default': 3000,
    help: 'Port for incoming connections',
    metavar: 'PORT'
  },
  loglevel: {
    abbr: 'l',
    choices: ['silly', 'verbose', 'info', 'warn', 'error'],
    'default': 'info',
    help: 'Log level',
    metavar: 'LEVEL'
  }
}).parse();


/** @type {string} */
log.level = options.loglevel;

log.info('ngeo', 'Parsing dependencies ...');
var manager = new closure.Manager({
  closure: true, // use the bundled Closure Library
  lib: [
    'src/**/*.js',
    "externs/*.js",
    'node_modules/openlayers/src/**/*.js',
    'node_modules/openlayers/build/ol.ext/*.js'
  ],
  main: 'examples/*.js'
});
manager.on('error', function(e) {
  log.error('ngeo', e.message);
});
manager.on('ready', function() {
  var server = new closure.Server({
    manager: manager
  });
  server.listen(options.port, function() {
    log.info('ngeo', 'Listening on http://localhost:' +
        options.port + '/ (Ctrl+C to stop)');
  });
  server.on('error', function(err) {
    log.error('ngeo', 'Server failed to start: ' + err.message);
    process.exit(1);
  });
});<commit_msg>Make `make serve` serve contribs examples<commit_after>var path = require('path');
var url = require('url');

var closure = require('openlayers/node_modules/closure-util');
var nomnom = require('nomnom');

var log = closure.log;

var options = nomnom.options({
  port: {
    abbr: 'p',
    'default': 3000,
    help: 'Port for incoming connections',
    metavar: 'PORT'
  },
  loglevel: {
    abbr: 'l',
    choices: ['silly', 'verbose', 'info', 'warn', 'error'],
    'default': 'info',
    help: 'Log level',
    metavar: 'LEVEL'
  }
}).parse();


/** @type {string} */
log.level = options.loglevel;

log.info('ngeo', 'Parsing dependencies ...');
var manager = new closure.Manager({
  closure: true, // use the bundled Closure Library
  lib: [
    'src/**/*.js',
    'contribs/**/src/**/*.js',
    'externs/*.js',
    'node_modules/openlayers/src/**/*.js',
    'node_modules/openlayers/build/ol.ext/*.js'
  ],
  main: ['examples/*.js', 'contribs/**/examples/*.js']
});
manager.on('error', function(e) {
  log.error('ngeo', e.message);
});
manager.on('ready', function() {
  var server = new closure.Server({
    manager: manager
  });
  server.listen(options.port, function() {
    log.info('ngeo', 'Listening on http://localhost:' +
        options.port + '/ (Ctrl+C to stop)');
  });
  server.on('error', function(err) {
    log.error('ngeo', 'Server failed to start: ' + err.message);
    process.exit(1);
  });
});
{'fraction_non_alphanumeric': 0.2114264919941776, 'fraction_numerical': 0.00363901018922853, 'mean_word_length': 3.4410339256865914, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, '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': '3666207', 'n_tokens_mistral': 969, 'n_tokens_neox': 954, 'n_words': 213}