UNPKG

ion

Version:

ion language ========================

929 lines (928 loc) 567 kB
void (function(){var _ion_builder_ModuleBuilder_ = function(module,exports,require){'use strict'; if (global.window) { return; } var ion = require('../'), np = require('path'), File = require('./File'), Directory = require('./Directory'), builder = require('./'), utility = require('./utility'), compilers = { '.coffee': { compile: builder.compileCoffeeScript }, '.pegjs': { compile: builder.compilePegjs }, '.js': { compile: builder.shimJavascript }, '.ion': { compile: builder.compileIon, compileWithSourceMap: builder.compileIonWithSourceMap } }; module.exports = exports = ion.template(function (packagePatch) { return ion.createRuntime({ type: 'Template', id: null, body: [ { type: 'VariableDeclaration', declarations: [{ type: 'VariableDeclarator', id: { type: 'Identifier', name: 'packageJson', loc: { start: { line: 26, column: 8, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 26, column: 19, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, init: { type: 'CallExpression', callee: { type: 'MemberExpression', computed: false, object: { type: 'Identifier', name: 'ion', loc: { start: { line: 26, column: 22, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 26, column: 25, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, property: { type: 'Identifier', name: 'patch', loc: { start: { line: 26, column: 26, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 26, column: 31, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, loc: { start: { line: 26, column: 22, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 26, column: 31, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, arguments: [ { type: 'CallExpression', callee: { type: 'MemberExpression', computed: false, object: { type: 'Identifier', name: 'JSON', loc: { start: { line: 26, column: 32, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 26, column: 36, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, property: { type: 'Identifier', name: 'parse', loc: { start: { line: 26, column: 37, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 26, column: 42, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, loc: { start: { line: 26, column: 32, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 26, column: 42, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, arguments: [{ type: 'CallExpression', callee: { type: 'MemberExpression', computed: false, object: { type: 'NewExpression', callee: { type: 'Identifier', name: 'File', loc: { start: { line: 26, column: 47, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 26, column: 51, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, arguments: [{ type: 'Literal', value: 'package.json' }], loc: { start: { line: 26, column: 43, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 26, column: 67, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, property: { type: 'Identifier', name: 'read', loc: { start: { line: 26, column: 68, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 26, column: 72, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, loc: { start: { line: 26, column: 43, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 26, column: 72, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, arguments: [], loc: { start: { line: 26, column: 43, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 26, column: 74, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }], loc: { start: { line: 26, column: 32, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 26, column: 75, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, { type: 'ConditionalExpression', test: { type: 'BinaryExpression', operator: '!=', left: { type: 'Identifier', name: 'packagePatch', loc: { start: { line: 26, column: 77, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 26, column: 89, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, right: { type: 'Literal', value: null } }, consequent: { type: 'Identifier', name: 'packagePatch', loc: { start: { line: 26, column: 77, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 26, column: 89, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, alternate: { type: 'ObjectExpression', properties: [] } } ], loc: { start: { line: 26, column: 22, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 26, column: 95, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } } }], kind: 'let', order: '0' }, { type: 'VariableDeclaration', declarations: [{ type: 'VariableDeclarator', id: { type: 'Identifier', name: 'inputs', loc: { start: { line: 27, column: 8, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 27, column: 14, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, init: { type: 'CallExpression', callee: { type: 'Function', context: true, value: function (_context) { return function (packageJson) { var Directory = _context.get('Directory'); var names = packageJson.directories.src != null ? packageJson.directories.src : 'src'; if (!Array.isArray(names)) { names = [names]; } var _ref = []; for (var _i = 0; _i < names.length; _i++) { var name = names[_i]; _ref.push(new Directory(name)); } return _ref; }; } }, arguments: [{ type: 'Identifier', name: 'packageJson', loc: { start: { line: 27, column: 21, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 27, column: 32, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }], loc: { start: { line: 27, column: 17, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 32, column: 8, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } } }], kind: 'let', order: '1' }, { type: 'VariableDeclaration', declarations: [{ type: 'VariableDeclarator', id: { type: 'Identifier', name: 'input', loc: { start: { line: 32, column: 8, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 32, column: 13, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, init: { type: 'MemberExpression', computed: true, object: { type: 'Identifier', name: 'inputs', loc: { start: { line: 32, column: 16, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 32, column: 22, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, property: { type: 'Literal', value: 0 }, loc: { start: { line: 32, column: 16, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 32, column: 25, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } } }], kind: 'let', order: '2' }, { type: 'VariableDeclaration', declarations: [{ type: 'VariableDeclarator', id: { type: 'Identifier', name: 'output', loc: { start: { line: 33, column: 8, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 33, column: 14, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, init: { type: 'NewExpression', callee: { type: 'Identifier', name: 'Directory', loc: { start: { line: 33, column: 21, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 33, column: 30, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, arguments: [{ type: 'ConditionalExpression', test: { type: 'BinaryExpression', operator: '!=', left: { type: 'MemberExpression', computed: false, object: { type: 'MemberExpression', computed: false, object: { type: 'Identifier', name: 'packageJson', loc: { start: { line: 33, column: 31, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 33, column: 42, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, property: { type: 'Identifier', name: 'directories', loc: { start: { line: 33, column: 43, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 33, column: 54, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, loc: { start: { line: 33, column: 31, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 33, column: 54, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, property: { type: 'Identifier', name: 'lib', loc: { start: { line: 33, column: 55, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 33, column: 58, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, loc: { start: { line: 33, column: 31, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 33, column: 58, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, right: { type: 'Literal', value: null } }, consequent: { type: 'MemberExpression', computed: false, object: { type: 'MemberExpression', computed: false, object: { type: 'Identifier', name: 'packageJson', loc: { start: { line: 33, column: 31, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 33, column: 42, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, property: { type: 'Identifier', name: 'directories', loc: { start: { line: 33, column: 43, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 33, column: 54, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, loc: { start: { line: 33, column: 31, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 33, column: 54, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, property: { type: 'Identifier', name: 'lib', loc: { start: { line: 33, column: 55, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 33, column: 58, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, loc: { start: { line: 33, column: 31, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 33, column: 58, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, alternate: { type: 'Literal', value: 'lib' } }], loc: { start: { line: 33, column: 17, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 33, column: 67, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } } }], kind: 'let', order: '3' }, { type: 'VariableDeclaration', declarations: [{ type: 'VariableDeclarator', id: { type: 'Identifier', name: 'moduleName', loc: { start: { line: 34, column: 8, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 34, column: 18, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, init: { type: 'ConditionalExpression', test: { type: 'BinaryExpression', operator: '!=', left: { type: 'MemberExpression', computed: false, object: { type: 'Identifier', name: 'packageJson', loc: { start: { line: 34, column: 21, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 34, column: 32, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, property: { type: 'Identifier', name: 'name', loc: { start: { line: 34, column: 33, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 34, column: 37, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, loc: { start: { line: 34, column: 21, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 34, column: 37, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, right: { type: 'Literal', value: null } }, consequent: { type: 'MemberExpression', computed: false, object: { type: 'Identifier', name: 'packageJson', loc: { start: { line: 34, column: 21, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 34, column: 32, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, property: { type: 'Identifier', name: 'name', loc: { start: { line: 34, column: 33, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 34, column: 37, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, loc: { start: { line: 34, column: 21, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 34, column: 37, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, alternate: { type: 'Literal', value: '' } } }], kind: 'let', order: '4' }, { type: 'VariableDeclaration', declarations: [{ type: 'VariableDeclarator', id: { type: 'Identifier', name: 'extensions', loc: { start: { line: 37, column: 8, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 37, column: 18, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } }, init: { type: 'CallExpression', callee: { type: 'MemberExpression', computed: false, object: { type: 'Identifier', name: 'Object', loc: { start: { line: 37, column: 21, fixed: true, source: 'ion/builder/ModuleBuilder.ion' }, end: { line: 37, column: 27, fixed: true, source: 'ion/builder/ModuleBuilder.ion' } } },