Commit fac5aac3 authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Initial commit

parents
Loading
Loading
Loading
Loading

.gitignore

0 → 100644
+2 −0
Original line number Diff line number Diff line
node_modules
.gitmodules.old

.gitmodules

0 → 100644
+10 −0
Original line number Diff line number Diff line
[submodule "src/proj4js"]
	path = src/proj4js
	url = ../../../third-party/proj4js.git
	branch = master
	ignore = dirty
[submodule "src/stylesheets"]
	path = src/stylesheets
	url = ../style.git
	branch = dev
	ignore = dirty

Gruntfile.js

0 → 100644
+24 −0
Original line number Diff line number Diff line
module.exports = function(grunt) {

	var glob = require('glob'),
		path = require('path');

	// Lee todas las tareas presentes como dependencias
	require('load-grunt-tasks')(grunt);

	grunt.initConfig({
		redmicConfig: {},
		pkg: grunt.file.readJSON('package.json')
	});

	// Lee los ficheros con configuraciones para las tareas a ejecutar (propias o de terceros)
	glob.sync('./grunt/config/*.js').forEach(function(file) {

		require(path.resolve(file))(grunt);
	});

	// Lee los ficheros con las tareas propias a ejecutar
	grunt.loadTasks('./grunt/task');

	grunt.registerTask('default', ['build']);
};

app.js

0 → 100644
+91 −0
Original line number Diff line number Diff line
//	summary:
//		Fichero principal de ejecución de la aplicación

// Dependencias
var express = require('express'),
	http = require('http'),
	path = require('path'),
	winston = require('winston'),

// Variables
	packageJson = require('./package.json'),
	redmicVersion = packageJson.version,

	port = process.env.PORT || 3050,

// Funciones
	exposeAppContents = function(folderName) {

		var pathOptions = {
			maxAge: 600000,
			index: false
		};

		app.use(express['static'](path.join(__dirname, folderName), pathOptions));

		var absoluteFolderName = '/' + folderName;
		app.use(absoluteFolderName, express['static'](__dirname + absoluteFolderName, pathOptions));
	},

	exposeContentsForTesting = function() {

		var testsFolderName = 'tests',
			absoluteTestsFolderName = '/' + testsFolderName;

		app.use(express['static'](path.join(__dirname, testsFolderName)));
		app.use(absoluteTestsFolderName, express['static'](path.join(__dirname, absoluteTestsFolderName)));

		var modulesFolderName = 'node_modules',
			absoluteModulesFolderName = '/' + modulesFolderName;

		app.use(express['static'](path.join(__dirname, modulesFolderName)));
		app.use(absoluteModulesFolderName, express['static'](__dirname + absoluteModulesFolderName));
	},

// Instancias
	app = express(),

	logConsoleTransport = new (winston.transports.Console)({
		level: 'silly',
		colorize: true,
		timestamp: true,
		prettyPrint: true,
		humanReadableUnhandledException: true
	}),

	logger = new (winston.Logger)({
		transports: [
			logConsoleTransport
		],
		exceptionHandlers: [
			logConsoleTransport
		],
		exitOnError: false
	});



// Logging
app.use(morgan('dev', {
	skip: function(req, res) {

		return false;
	},
	stream: {
		write: function(msg) {

			logger.info(msg.slice(0, -1));
		}
	}
}));

// Rutas
exposeAppContents('src');
exposeContentsForTesting();

// Creación y arranque de servidor
http.createServer(app).listen(port, function() {

	logger.verbose('REDMIC-Widgets v%s', redmicVersion);
	logger.verbose('Express server listening on port %d', port);
});
+10 −0
Original line number Diff line number Diff line
module.exports = function(grunt) {

	var preBuildCmds = ['yarn install'];

	grunt.config('redmicConfig.buildModules', {
		'src/stylesheets': preBuildCmds.concat([
			'grunt addModules buildModules'
		])
	});
};