![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/dev/tests/js/jasmine/spec_runner/tasks/ |
/** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ 'use strict'; var tasks = {}, _ = require('underscore'); function init(config) { var grunt = require('grunt'), expand = grunt.file.expand.bind(grunt.file), staticMode = 'quick', themes, root, staticDir, baseUrl, mapFile, host, port, files, requireJs; root = config.root; staticDir = config.static; port = config.port; files = config.files; themes = config.themes; _.each(themes, function (themeData, themeName) { var specs, configs, render; _.extend(themeData, { root: root, static: staticDir }); host = _.template(config.host)({ port: port++ }); render = renderTemplate.bind(null, themeData); mapFile = renderTemplate(themeData, files.compactMap); baseUrl = renderTemplate(themeData, files.requireBaseUrl); if (grunt.file.exists(mapFile)) { staticMode = 'compact'; } if (config.singleTest) { files.specs = [config.singleTest]; } specs = files.specs.map(render); specs = expand(specs).map(cutJsExtension); configs = files.requirejsConfigs[staticMode].map(render); requireJs = renderTemplate(themeData, files.requireJs[staticMode]); tasks[themeName] = { src: configs, options: { host: host, template: render(files.template), templateOptions: { baseUrl: baseUrl }, vendor: requireJs, junit: { path: "var/log/js-unit/", consolidate: true }, /** * @todo rename "helpers" to "specs" (implies overriding grunt-contrib-jasmine code) */ helpers: specs, sandboxArgs: { args: ['--no-sandbox', '--disable-setuid-sandbox'], defaultViewport: {width: 400, height: 400, hasTouch: true} } } }; }); } function renderTemplate(data, template) { return _.template(template)(data); } function cutJsExtension(path) { return path.replace(/\.js$/, ''); } function getTasks() { return tasks; } module.exports = { init: init, getTasks: getTasks };