@cucumber/html-formatter
Advanced tools
| declare module '*.scss' |
+1
-1
| { | ||
| "require": ["ts-node/register", "source-map-support/register"], | ||
| "node-option": ["loader=ts-node/esm", "require=source-map-support/register"], | ||
| "spec": "src/**/*.spec.ts", | ||
@@ -4,0 +4,0 @@ "extension": ["ts", "tsx"], |
@@ -26,2 +26,1 @@ import { Transform, type TransformCallback } from 'node:stream'; | ||
| } | ||
| //# sourceMappingURL=CucumberHtmlStream.d.ts.map |
@@ -1,11 +0,12 @@ | ||
| "use strict"; | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.CucumberHtmlStream = void 0; | ||
| const node_fs_1 = __importDefault(require("node:fs")); | ||
| const node_path_1 = __importDefault(require("node:path")); | ||
| const node_stream_1 = require("node:stream"); | ||
| class CucumberHtmlStream extends node_stream_1.Transform { | ||
| import fs from 'node:fs'; | ||
| import path from 'node:path'; | ||
| import { Transform } from 'node:stream'; | ||
| export class CucumberHtmlStream extends Transform { | ||
| cssPath; | ||
| jsPath; | ||
| iconPath; | ||
| template = null; | ||
| preMessageWritten = false; | ||
| postMessageWritten = false; | ||
| firstMessageWritten = false; | ||
| /** | ||
@@ -16,3 +17,3 @@ * @param cssPath | ||
| */ | ||
| constructor(cssPath = node_path_1.default.join(__dirname, '..', 'main.css'), jsPath = node_path_1.default.join(__dirname, '..', 'main.js'), iconPath = node_path_1.default.join(__dirname, 'icon.url')) { | ||
| constructor(cssPath = path.join(import.meta.dirname, '..', 'main.css'), jsPath = path.join(import.meta.dirname, '..', 'main.js'), iconPath = path.join(import.meta.dirname, 'icon.url')) { | ||
| super({ objectMode: true }); | ||
@@ -22,6 +23,2 @@ this.cssPath = cssPath; | ||
| this.iconPath = iconPath; | ||
| this.template = null; | ||
| this.preMessageWritten = false; | ||
| this.postMessageWritten = false; | ||
| this.firstMessageWritten = false; | ||
| } | ||
@@ -51,23 +48,30 @@ _transform(envelope, _encoding, callback) { | ||
| this.writeTemplateBetween(null, '{{title}}', (err) => { | ||
| if (err) | ||
| if (err) { | ||
| return callback(err); | ||
| } | ||
| this.push('Cucumber'); | ||
| this.writeTemplateBetween('{{title}}', '{{icon}}', (err) => { | ||
| if (err) | ||
| if (err) { | ||
| return callback(err); | ||
| } | ||
| this.writeFile(this.iconPath, (err) => { | ||
| if (err) | ||
| if (err) { | ||
| return callback(err); | ||
| } | ||
| this.writeTemplateBetween('{{icon}}', '{{css}}', (err) => { | ||
| if (err) | ||
| if (err) { | ||
| return callback(err); | ||
| } | ||
| this.writeFile(this.cssPath, (err) => { | ||
| if (err) | ||
| if (err) { | ||
| return callback(err); | ||
| } | ||
| this.writeTemplateBetween('{{css}}', '{{custom_css}}', (err) => { | ||
| if (err) | ||
| if (err) { | ||
| return callback(err); | ||
| } | ||
| this.writeTemplateBetween('{{custom_css}}', '{{messages}}', (err) => { | ||
| if (err) | ||
| if (err) { | ||
| return callback(err); | ||
| } | ||
| callback(); | ||
@@ -84,13 +88,17 @@ }); | ||
| this.writePreMessageUnlessAlreadyWritten((err) => { | ||
| if (err) | ||
| if (err) { | ||
| return callback(err); | ||
| } | ||
| this.writeTemplateBetween('{{messages}}', '{{script}}', (err) => { | ||
| if (err) | ||
| if (err) { | ||
| return callback(err); | ||
| } | ||
| this.writeFile(this.jsPath, (err) => { | ||
| if (err) | ||
| if (err) { | ||
| return callback(err); | ||
| } | ||
| this.writeTemplateBetween('{{script}}', '{{custom_script}}', (err) => { | ||
| if (err) | ||
| if (err) { | ||
| return callback(err); | ||
| } | ||
| this.writeTemplateBetween('{{custom_script}}', null, callback); | ||
@@ -103,3 +111,3 @@ }); | ||
| writeFile(path, callback) { | ||
| const cssStream = node_fs_1.default.createReadStream(path, { encoding: 'utf-8' }); | ||
| const cssStream = fs.createReadStream(path, { encoding: 'utf-8' }); | ||
| cssStream.on('data', (chunk) => this.push(chunk)); | ||
@@ -111,6 +119,8 @@ cssStream.on('error', (err) => callback(err)); | ||
| this.readTemplate((err, template) => { | ||
| if (err) | ||
| if (err) { | ||
| return callback(err); | ||
| if (!template) | ||
| } | ||
| if (!template) { | ||
| return callback(new Error('template is required if error is missing')); | ||
| } | ||
| const beginIndex = begin == null ? 0 : template.indexOf(begin) + begin.length; | ||
@@ -126,5 +136,6 @@ const endIndex = end == null ? template.length : template.indexOf(end); | ||
| } | ||
| node_fs_1.default.readFile(`${__dirname}/index.mustache`, { encoding: 'utf-8' }, (err, template) => { | ||
| if (err) | ||
| fs.readFile(`${import.meta.dirname}/index.mustache`, { encoding: 'utf-8' }, (err, template) => { | ||
| if (err) { | ||
| return callback(err); | ||
| } | ||
| this.template = template; | ||
@@ -146,3 +157,2 @@ return callback(null, template); | ||
| } | ||
| exports.CucumberHtmlStream = CucumberHtmlStream; | ||
| //# sourceMappingURL=CucumberHtmlStream.js.map | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VjdW1iZXJIdG1sU3RyZWFtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0N1Y3VtYmVySHRtbFN0cmVhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDeEIsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFBO0FBQzVCLE9BQU8sRUFBaUIsU0FBUyxFQUEwQixNQUFNLGFBQWEsQ0FBQTtBQUc5RSxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsU0FBUztJQVk1QjtJQUNBO0lBQ0E7SUFiWCxRQUFRLEdBQWtCLElBQUksQ0FBQTtJQUM5QixpQkFBaUIsR0FBRyxLQUFLLENBQUE7SUFDekIsa0JBQWtCLEdBQUcsS0FBSyxDQUFBO0lBQzFCLG1CQUFtQixHQUFHLEtBQUssQ0FBQTtJQUVuQzs7OztPQUlHO0lBQ0gsWUFDbUIsVUFBa0IsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLEVBQ2xFLFNBQWlCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxFQUNoRSxXQUFtQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQztRQUU5RSxLQUFLLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUpWLFlBQU8sR0FBUCxPQUFPLENBQTJEO1FBQ2xFLFdBQU0sR0FBTixNQUFNLENBQTBEO1FBQ2hFLGFBQVEsR0FBUixRQUFRLENBQXFEO0lBR2hGLENBQUM7SUFFTSxVQUFVLENBQUMsUUFBa0IsRUFBRSxTQUFpQixFQUFFLFFBQTJCO1FBQ2xGLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDNUIsUUFBUSxDQUFDLElBQUksS0FBSyxDQUFD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QUFDLElBQUksQ0FBQyxPQUFPLGlCQUFpQixFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQzVGLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ1IsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDdEIsQ0FBQztZQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO1lBQ3hCLE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQTtRQUNqQyxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFTyxZQUFZLENBQUMsUUFBa0I7UUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUE7UUFDakMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ2hCLENBQUM7UUFDRCxzQkFBc0I7UUFDdEIscUdBQXFHO1FBQ3JHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFDNUQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZzIGZyb20gJ25vZGU6ZnMnXG5pbXBvcnQgcGF0aCBmcm9tICdub2RlOnBhdGgnXG5pbXBvcnQgeyB0eXBlIFJlYWRhYmxlLCBUcmFuc2Zvcm0sIHR5cGUgVHJhbnNmb3JtQ2FsbGJhY2sgfSBmcm9tICdub2RlOnN0cmVhbSdcbmltcG9ydCB0eXBlIHsgRW52ZWxvcGUgfSBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5cbmV4cG9ydCBjbGFzcyBDdWN1bWJlckh0bWxTdHJlYW0gZXh0ZW5kcyBUcmFuc2Zvcm0ge1xuICBwcml2YXRlIHRlbXBsYXRlOiBzdHJpbmcgfCBudWxsID0gbnVsbFxuICBwcml2YXRlIHByZU1lc3NhZ2VXcml0dGVuID0gZmFsc2VcbiAgcHJpdmF0ZSBwb3N0TWVzc2FnZVdyaXR0ZW4gPSBmYWxzZVxuICBwcml2YXRlIGZpcnN0TWVzc2FnZVdyaXR0ZW4gPSBmYWxzZVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gY3NzUGF0aFxuICAgKiBAcGFyYW0ganNQYXRoXG4gICAqIEBwYXJhbSBpY29uUGF0aFxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjc3NQYXRoOiBzdHJpbmcgPSBwYXRoLmpvaW4oaW1wb3J0Lm1ldGEuZGlybmFtZSwgJy4uJywgJ21haW4uY3NzJyksXG4gICAgcHJpdmF0ZSByZWFkb25seSBqc1BhdGg6IHN0cmluZyA9IHBhdGguam9pbihpbXBvcnQubWV0YS5kaXJuYW1lLCAnLi4nLCAnbWFpbi5qcycpLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaWNvblBhdGg6IHN0cmluZyA9IHBhdGguam9pbihpbXBvcnQubWV0YS5kaXJuYW1lLCAnaWNvbi51cmwnKVxuICApIHtcbiAgICBzdXBlcih7IG9iamVjdE1vZGU6IHRydWUgfSlcbiAgfVxuXG4gIHB1YmxpYyBfdHJhbnNmb3JtKGVudmVsb3BlOiBFbnZlbG9wZSwgX2VuY29kaW5nOiBzdHJpbmcsIGNhbGxiYWNrOiBUcmFuc2Zvcm1DYWxsYmFjayk6IHZvaWQge1xuICAgIGlmICh0aGlzLnBvc3RNZXNzYWdlV3JpdHRlbikge1xuICAgICAgY2FsbGJhY2sobmV3IEVycm9yKCdTdHJlYW0gY2xvc2VkJykpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLndyaXRlUHJlTWVzc2FnZVVubGVzc0FscmVhZHlXcml0dGVuKChlcnIpID0+IHtcbiAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgY2FsbGJhY2soZXJyKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIHRoaXMud3JpdGVNZXNzYWdlKGVudmVsb3BlKVxuICAgICAgY2FsbGJhY2soKVxuICAgIH0pXG4gIH1cblxuICBwdWJsaWMgX2ZsdXNoKGNhbGxiYWNrOiBUcmFuc2Zvcm1DYWxsYmFjayk6IHZvaWQge1xuICAgIHRoaXMud3JpdGVQb3N0TWVzc2FnZShjYWxsYmFjaylcbiAgfVxuXG4gIHByaXZhdGUgd3JpdGVQcmVNZXNzYWdlVW5sZXNzQWxyZWFkeVdyaXR0ZW4oY2FsbGJhY2s6IFRyYW5zZm9ybUNhbGxiYWNrKSB7XG4gICAgaWYgKHRoaXMucHJlTWVzc2FnZVdyaXR0ZW4pIHtcbiAgICAgIHJldHVybiBjYWxsYmFjaygpXG4gICAgfVxuICAgIHRoaXMucHJlTWVzc2FnZVdyaXR0ZW4gPSB0cnVlXG4gICAgdGhpcy53cml0ZVRlbXBsYXRlQmV0d2VlbihudWxsLCAne3t0aXRsZX19JywgKGVycikgPT4ge1xuICAgICAgaWYgKGVycikge1xuICAgICAgICByZXR1cm4gY2FsbGJhY2soZXJyKVxuICAgICAgfVxuICAgICAgdGhpcy5wdXNoKCdDdWN1bWJlcicpXG4gICAgICB0aGlzLndyaXRlVGVtcGxhdGVCZXR3ZWVuKCd7e3RpdGxlfX0nLCAne3tpY29ufX0nLCAoZXJyKSA9PiB7XG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICByZXR1cm4gY2FsbGJhY2soZXJyKVxuICAgICAgICB9XG4gICAgICAgIHRoaXMud3JpdGVGaWxlKHRoaXMuaWNvblBhdGgsIChlcnIpID0+IHtcbiAgICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soZXJyKVxuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLndyaXRlVGVtcGxhdGVCZXR3ZWVuKCd7e2ljb259fScsICd7e2Nzc319JywgKGVycikgPT4ge1xuICAgICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soZXJyKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy53cml0ZUZpbGUodGhpcy5jc3NQYXRoLCAoZXJyKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soZXJyKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRoaXMud3JpdGVUZW1wbGF0ZUJldHdlZW4oJ3t7Y3NzfX0nLCAne3tjdXN0b21fY3NzfX0nLCAoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKGVycilcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy53cml0ZVRlbXBsYXRlQmV0d2Vlbigne3tjdXN0b21fY3NzfX0nLCAne3ttZXNzYWdlc319JywgKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soZXJyKVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgY2FsbGJhY2soKVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0pXG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIHdyaXRlUG9zdE1lc3NhZ2UoY2FsbGJhY2s6IFRyYW5zZm9ybUNhbGxiYWNrKSB7XG4gICAgdGhpcy53cml0ZVByZU1lc3NhZ2VVbmxlc3NBbHJlYWR5V3JpdHRlbigoZXJyKSA9PiB7XG4gICAgICBpZiAoZXJyKSB7XG4gICAgICAgIHJldHVybiBjYWxsYmFjayhlcnIpXG4gICAgICB9XG4gICAgICB0aGlzLndyaXRlVGVtcGxhdGVCZXR3ZWVuKCd7e21lc3NhZ2VzfX0nLCAne3tzY3JpcHR9fScsIChlcnIpID0+IHtcbiAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgIHJldHVybiBjYWxsYmFjayhlcnIpXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy53cml0ZUZpbGUodGhpcy5qc1BhdGgsIChlcnIpID0+IHtcbiAgICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soZXJyKVxuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLndyaXRlVGVtcGxhdGVCZXR3ZWVuKCd7e3NjcmlwdH19JywgJ3t7Y3VzdG9tX3NjcmlwdH19JywgKGVycikgPT4ge1xuICAgICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soZXJyKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy53cml0ZVRlbXBsYXRlQmV0d2Vlbigne3tjdXN0b21fc2NyaXB0fX0nLCBudWxsLCBjYWxsYmFjaylcbiAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSB3cml0ZUZpbGUocGF0aDogc3RyaW5nLCBjYWxsYmFjazogKGVycm9yPzogRXJyb3IgfCBudWxsKSA9PiB2b2lkKSB7XG4gICAgY29uc3QgY3NzU3RyZWFtOiBSZWFkYWJsZSA9IGZzLmNyZWF0ZVJlYWRTdHJlYW0ocGF0aCwgeyBlbmNvZGluZzogJ3V0Zi04JyB9KVxuICAgIGNzc1N0cmVhbS5vbignZGF0YScsIChjaHVuaykgPT4gdGhpcy5wdXNoKGNodW5rKSlcbiAgICBjc3NTdHJlYW0ub24oJ2Vycm9yJywgKGVycikgPT4gY2FsbGJhY2soZXJyKSlcbiAgICBjc3NTdHJlYW0ub24oJ2VuZCcsIGNhbGxiYWNrKVxuICB9XG5cbiAgcHJpdmF0ZSB3cml0ZVRlbXBsYXRlQmV0d2VlbihcbiAgICBiZWdpbjogc3RyaW5nIHwgbnVsbCxcbiAgICBlbmQ6IHN0cmluZyB8IG51bGwsXG4gICAgY2FsbGJhY2s6IChlcnI/OiBFcnJvciB8IG51bGwpID0+IHZvaWRcbiAgKSB7XG4gICAgdGhpcy5yZWFkVGVtcGxhdGUoKGVyciwgdGVtcGxhdGUpID0+IHtcbiAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgcmV0dXJuIGNhbGxiYWNrKGVycilcbiAgICAgIH1cbiAgICAgIGlmICghdGVtcGxhdGUpIHtcbiAgICAgICAgcmV0dXJuIGNhbGxiYWNrKG5ldyBFcnJvcigndGVtcGxhdGUgaXMgcmVxdWlyZWQgaWYgZXJyb3IgaXMgbWlzc2luZycpKVxuICAgICAgfVxuICAgICAgY29uc3QgYmVnaW5JbmRleCA9IGJlZ2luID09IG51bGwgPyAwIDogdGVtcGxhdGUuaW5kZXhPZihiZWdpbikgKyBiZWdpbi5sZW5ndGhcbiAgICAgIGNvbnN0IGVuZEluZGV4ID0gZW5kID09IG51bGwgPyB0ZW1wbGF0ZS5sZW5ndGggOiB0ZW1wbGF0ZS5pbmRleE9mKGVuZClcbiAgICAgIHRoaXMucHVzaCh0ZW1wbGF0ZS5zdWJzdHJpbmcoYmVnaW5JbmRleCwgZW5kSW5kZXgpKVxuICAgICAgY2FsbGJhY2soKVxuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIHJlYWRUZW1wbGF0ZShjYWxsYmFjazogKGVycm9yPzogRXJyb3IgfCBudWxsLCBkYXRhPzogc3RyaW5nKSA9PiB2b2lkKSB7XG4gICAgaWYgKHRoaXMudGVtcGxhdGUgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiBjYWxsYmFjayhudWxsLCB0aGlzLnRlbXBsYXRlKVxuICAgIH1cbiAgICBmcy5yZWFkRmlsZShgJHtpbXBvcnQubWV0YS5kaXJuYW1lfS9pbmRleC5tdXN0YWNoZWAsIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSwgKGVyciwgdGVtcGxhdGUpID0+IHtcbiAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgcmV0dXJuIGNhbGxiYWNrKGVycilcbiAgICAgIH1cbiAgICAgIHRoaXMudGVtcGxhdGUgPSB0ZW1wbGF0ZVxuICAgICAgcmV0dXJuIGNhbGxiYWNrKG51bGwsIHRlbXBsYXRlKVxuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIHdyaXRlTWVzc2FnZShlbnZlbG9wZTogRW52ZWxvcGUpIHtcbiAgICBpZiAoIXRoaXMuZmlyc3RNZXNzYWdlV3JpdHRlbikge1xuICAgICAgdGhpcy5maXJzdE1lc3NhZ2VXcml0dGVuID0gdHJ1ZVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnB1c2goJywnKVxuICAgIH1cbiAgICAvLyBSZXBsYWNlIDwgd2l0aCBcXHgzQ1xuICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3NjcmlwdGluZy5odG1sI3Jlc3RyaWN0aW9ucy1mb3ItY29udGVudHMtb2Ytc2NyaXB0LWVsZW1lbnRzXG4gICAgdGhpcy5wdXNoKEpTT04uc3RyaW5naWZ5KGVudmVsb3BlKS5yZXBsYWNlKC88L2csICdcXFxceDNDJykpXG4gIH1cbn1cbiJdfQ== |
@@ -1,3 +0,3 @@ | ||
| import { CucumberHtmlStream } from './CucumberHtmlStream'; | ||
| export * from './CucumberHtmlStream'; | ||
| import { CucumberHtmlStream } from './CucumberHtmlStream.js'; | ||
| export * from './CucumberHtmlStream.js'; | ||
| /** | ||
@@ -7,2 +7,1 @@ * @deprecated use the named export `CucumberHtmlStream` instead | ||
| export default CucumberHtmlStream; | ||
| //# sourceMappingURL=index.d.ts.map |
+4
-20
@@ -1,23 +0,7 @@ | ||
| "use strict"; | ||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| var desc = Object.getOwnPropertyDescriptor(m, k); | ||
| if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
| desc = { enumerable: true, get: function() { return m[k]; } }; | ||
| } | ||
| Object.defineProperty(o, k2, desc); | ||
| }) : (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| o[k2] = m[k]; | ||
| })); | ||
| var __exportStar = (this && this.__exportStar) || function(m, exports) { | ||
| for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const CucumberHtmlStream_1 = require("./CucumberHtmlStream"); | ||
| __exportStar(require("./CucumberHtmlStream"), exports); | ||
| import { CucumberHtmlStream } from './CucumberHtmlStream.js'; | ||
| export * from './CucumberHtmlStream.js'; | ||
| /** | ||
| * @deprecated use the named export `CucumberHtmlStream` instead | ||
| */ | ||
| exports.default = CucumberHtmlStream_1.CucumberHtmlStream; | ||
| //# sourceMappingURL=index.js.map | ||
| export default CucumberHtmlStream; | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFFNUQsY0FBYyx5QkFBeUIsQ0FBQTtBQUV2Qzs7R0FFRztBQUNILGVBQWUsa0JBQWtCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdWN1bWJlckh0bWxTdHJlYW0gfSBmcm9tICcuL0N1Y3VtYmVySHRtbFN0cmVhbS5qcydcblxuZXhwb3J0ICogZnJvbSAnLi9DdWN1bWJlckh0bWxTdHJlYW0uanMnXG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIHRoZSBuYW1lZCBleHBvcnQgYEN1Y3VtYmVySHRtbFN0cmVhbWAgaW5zdGVhZFxuICovXG5leHBvcnQgZGVmYXVsdCBDdWN1bWJlckh0bWxTdHJlYW1cbiJdfQ== |
@@ -8,2 +8,1 @@ import './styles.scss'; | ||
| } | ||
| //# sourceMappingURL=main.d.ts.map |
+7
-9
@@ -1,9 +0,7 @@ | ||
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const jsx_runtime_1 = require("react/jsx-runtime"); | ||
| require("./styles.scss"); | ||
| const react_components_1 = require("@cucumber/react-components"); | ||
| const client_1 = require("react-dom/client"); | ||
| const root = (0, client_1.createRoot)(document.getElementById('content')); | ||
| root.render((0, jsx_runtime_1.jsx)(react_components_1.EnvelopesProvider, { envelopes: window.CUCUMBER_MESSAGES, children: (0, jsx_runtime_1.jsx)(react_components_1.UrlSearchProvider, { children: (0, jsx_runtime_1.jsx)("div", { id: "report", className: "html-formatter", children: (0, jsx_runtime_1.jsx)(react_components_1.Report, {}) }) }) })); | ||
| //# sourceMappingURL=main.js.map | ||
| import { jsx as _jsx } from "react/jsx-runtime"; | ||
| import './styles.scss'; | ||
| import { EnvelopesProvider, Report, UrlSearchProvider } from '@cucumber/react-components'; | ||
| import { createRoot } from 'react-dom/client'; | ||
| const root = createRoot(document.getElementById('content')); | ||
| root.render(_jsx(EnvelopesProvider, { envelopes: window.CUCUMBER_MESSAGES, children: _jsx(UrlSearchProvider, { children: _jsx("div", { id: "report", className: "html-formatter", children: _jsx(Report, {}) }) }) })); | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYWluLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxlQUFlLENBQUE7QUFHdEIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ3pGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQVE3QyxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQWdCLENBQUMsQ0FBQTtBQUUxRSxJQUFJLENBQUMsTUFBTSxDQUNULEtBQUMsaUJBQWlCLElBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxpQkFBaUIsWUFDcEQsS0FBQyxpQkFBaUIsY0FDaEIsY0FBSyxFQUFFLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxnQkFBZ0IsWUFDekMsS0FBQyxNQUFNLEtBQUcsR0FDTixHQUNZLEdBQ0YsQ0FDckIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnLi9zdHlsZXMuc2NzcydcblxuaW1wb3J0IHR5cGUgeyBFbnZlbG9wZSB9IGZyb20gJ0BjdWN1bWJlci9tZXNzYWdlcydcbmltcG9ydCB7IEVudmVsb3Blc1Byb3ZpZGVyLCBSZXBvcnQsIFVybFNlYXJjaFByb3ZpZGVyIH0gZnJvbSAnQGN1Y3VtYmVyL3JlYWN0LWNvbXBvbmVudHMnXG5pbXBvcnQgeyBjcmVhdGVSb290IH0gZnJvbSAncmVhY3QtZG9tL2NsaWVudCdcblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgV2luZG93IHtcbiAgICBDVUNVTUJFUl9NRVNTQUdFUzogRW52ZWxvcGVbXVxuICB9XG59XG5cbmNvbnN0IHJvb3QgPSBjcmVhdGVSb290KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250ZW50JykgYXMgSFRNTEVsZW1lbnQpXG5cbnJvb3QucmVuZGVyKFxuICA8RW52ZWxvcGVzUHJvdmlkZXIgZW52ZWxvcGVzPXt3aW5kb3cuQ1VDVU1CRVJfTUVTU0FHRVN9PlxuICAgIDxVcmxTZWFyY2hQcm92aWRlcj5cbiAgICAgIDxkaXYgaWQ9XCJyZXBvcnRcIiBjbGFzc05hbWU9XCJodG1sLWZvcm1hdHRlclwiPlxuICAgICAgICA8UmVwb3J0IC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L1VybFNlYXJjaFByb3ZpZGVyPlxuICA8L0VudmVsb3Blc1Byb3ZpZGVyPlxuKVxuIl19 |
| services: | ||
| playwright: | ||
| image: mcr.microsoft.com/playwright:v1.59.1-jammy | ||
| image: mcr.microsoft.com/playwright:v1.60.0-jammy | ||
| working_dir: /work | ||
@@ -5,0 +5,0 @@ volumes: |
+24
-21
| { | ||
| "name": "@cucumber/html-formatter", | ||
| "version": "23.1.0", | ||
| "version": "24.0.0", | ||
| "description": "HTML formatter for Cucumber", | ||
| "type": "module", | ||
| "main": "dist/src/index.js", | ||
@@ -18,2 +19,3 @@ "types": "dist/src/index.d.ts", | ||
| "build": "npm run clean && npm run build:tsc && npm run prepare && npm run build:webpack", | ||
| "postbuild": "node -e \"require('.')\"", | ||
| "prepare": "shx mkdir -p dist/src && shx cp src/*.scss dist/src && shx cp src/index.mustache dist/src && shx cp src/icon.url dist/src", | ||
@@ -31,18 +33,19 @@ "test": "mocha", | ||
| "devDependencies": { | ||
| "@babel/core": "7.29.0", | ||
| "@babel/core": "7.29.7", | ||
| "@biomejs/biome": "^2.4.11", | ||
| "@cucumber/biome-config": "github:cucumber/biome-config#v0.1.0", | ||
| "@cucumber/biome-config": "github:cucumber/biome-config#v0.2.1", | ||
| "@cucumber/compatibility-kit": "^29.1.4", | ||
| "@cucumber/gherkin": "39.0.0", | ||
| "@cucumber/gherkin-streams": "^6.0.0", | ||
| "@cucumber/gherkin-utils": "^11.0.0", | ||
| "@cucumber/message-streams": "4.1.1", | ||
| "@cucumber/messages": "32.3.0", | ||
| "@cucumber/query": "15.0.1", | ||
| "@cucumber/gherkin": "40.0.0", | ||
| "@cucumber/gherkin-streams": "^7.0.0", | ||
| "@cucumber/gherkin-utils": "^12.0.0", | ||
| "@cucumber/message-streams": "5.0.0", | ||
| "@cucumber/messages": "33.0.2", | ||
| "@cucumber/query": "16.0.0", | ||
| "@cucumber/react-components": "24.3.0", | ||
| "@playwright/test": "1.59.1", | ||
| "@playwright/test": "1.60.0", | ||
| "@tsconfig/recommended": "^1.0.13", | ||
| "@types/glob": "^9.0.0", | ||
| "@types/mocha": "10.0.10", | ||
| "@types/node": "22.19.17", | ||
| "@types/react": "19.2.14", | ||
| "@types/node": "22.19.21", | ||
| "@types/react": "19.2.17", | ||
| "@types/react-dom": "19.2.3", | ||
@@ -53,15 +56,15 @@ "babel-loader": "10.1.1", | ||
| "mini-css-extract-plugin": "2.10.2", | ||
| "mocha": "11.7.5", | ||
| "react": "19.2.5", | ||
| "react-dom": "19.2.5", | ||
| "sass": "1.99.0", | ||
| "sass-loader": "16.0.7", | ||
| "mocha": "11.7.6", | ||
| "react": "19.2.7", | ||
| "react-dom": "19.2.7", | ||
| "sass": "1.100.0", | ||
| "sass-loader": "17.0.0", | ||
| "serve": "^14.2.4", | ||
| "shx": "^0.4.0", | ||
| "source-map-support": "0.5.21", | ||
| "ts-loader": "9.5.7", | ||
| "ts-loader": "9.6.0", | ||
| "ts-node": "10.9.2", | ||
| "typescript": "5.9.3", | ||
| "webpack": "5.106.1", | ||
| "webpack-cli": "7.0.2" | ||
| "typescript": "6.0.3", | ||
| "webpack": "5.107.2", | ||
| "webpack-cli": "7.0.3" | ||
| }, | ||
@@ -68,0 +71,0 @@ "bugs": { |
@@ -5,3 +5,3 @@ import assert from 'node:assert' | ||
| import { CucumberHtmlStream } from './CucumberHtmlStream' | ||
| import { CucumberHtmlStream } from './CucumberHtmlStream.js' | ||
@@ -19,4 +19,4 @@ async function renderAsHtml(...envelopes: Envelope[]): Promise<string> { | ||
| const cucumberHtmlStream = new CucumberHtmlStream( | ||
| `${__dirname}/dummy.css`, | ||
| `${__dirname}/dummy.js` | ||
| `${import.meta.dirname}/dummy.css`, | ||
| `${import.meta.dirname}/dummy.js` | ||
| ) | ||
@@ -23,0 +23,0 @@ cucumberHtmlStream.on('error', reject) |
@@ -18,5 +18,5 @@ import fs from 'node:fs' | ||
| constructor( | ||
| private readonly cssPath: string = path.join(__dirname, '..', 'main.css'), | ||
| private readonly jsPath: string = path.join(__dirname, '..', 'main.js'), | ||
| private readonly iconPath: string = path.join(__dirname, 'icon.url') | ||
| private readonly cssPath: string = path.join(import.meta.dirname, '..', 'main.css'), | ||
| private readonly jsPath: string = path.join(import.meta.dirname, '..', 'main.js'), | ||
| private readonly iconPath: string = path.join(import.meta.dirname, 'icon.url') | ||
| ) { | ||
@@ -52,16 +52,30 @@ super({ objectMode: true }) | ||
| this.writeTemplateBetween(null, '{{title}}', (err) => { | ||
| if (err) return callback(err) | ||
| if (err) { | ||
| return callback(err) | ||
| } | ||
| this.push('Cucumber') | ||
| this.writeTemplateBetween('{{title}}', '{{icon}}', (err) => { | ||
| if (err) return callback(err) | ||
| if (err) { | ||
| return callback(err) | ||
| } | ||
| this.writeFile(this.iconPath, (err) => { | ||
| if (err) return callback(err) | ||
| if (err) { | ||
| return callback(err) | ||
| } | ||
| this.writeTemplateBetween('{{icon}}', '{{css}}', (err) => { | ||
| if (err) return callback(err) | ||
| if (err) { | ||
| return callback(err) | ||
| } | ||
| this.writeFile(this.cssPath, (err) => { | ||
| if (err) return callback(err) | ||
| if (err) { | ||
| return callback(err) | ||
| } | ||
| this.writeTemplateBetween('{{css}}', '{{custom_css}}', (err) => { | ||
| if (err) return callback(err) | ||
| if (err) { | ||
| return callback(err) | ||
| } | ||
| this.writeTemplateBetween('{{custom_css}}', '{{messages}}', (err) => { | ||
| if (err) return callback(err) | ||
| if (err) { | ||
| return callback(err) | ||
| } | ||
| callback() | ||
@@ -79,9 +93,17 @@ }) | ||
| this.writePreMessageUnlessAlreadyWritten((err) => { | ||
| if (err) return callback(err) | ||
| if (err) { | ||
| return callback(err) | ||
| } | ||
| this.writeTemplateBetween('{{messages}}', '{{script}}', (err) => { | ||
| if (err) return callback(err) | ||
| if (err) { | ||
| return callback(err) | ||
| } | ||
| this.writeFile(this.jsPath, (err) => { | ||
| if (err) return callback(err) | ||
| if (err) { | ||
| return callback(err) | ||
| } | ||
| this.writeTemplateBetween('{{script}}', '{{custom_script}}', (err) => { | ||
| if (err) return callback(err) | ||
| if (err) { | ||
| return callback(err) | ||
| } | ||
| this.writeTemplateBetween('{{custom_script}}', null, callback) | ||
@@ -107,4 +129,8 @@ }) | ||
| this.readTemplate((err, template) => { | ||
| if (err) return callback(err) | ||
| if (!template) return callback(new Error('template is required if error is missing')) | ||
| if (err) { | ||
| return callback(err) | ||
| } | ||
| if (!template) { | ||
| return callback(new Error('template is required if error is missing')) | ||
| } | ||
| const beginIndex = begin == null ? 0 : template.indexOf(begin) + begin.length | ||
@@ -121,4 +147,6 @@ const endIndex = end == null ? template.length : template.indexOf(end) | ||
| } | ||
| fs.readFile(`${__dirname}/index.mustache`, { encoding: 'utf-8' }, (err, template) => { | ||
| if (err) return callback(err) | ||
| fs.readFile(`${import.meta.dirname}/index.mustache`, { encoding: 'utf-8' }, (err, template) => { | ||
| if (err) { | ||
| return callback(err) | ||
| } | ||
| this.template = template | ||
@@ -125,0 +153,0 @@ return callback(null, template) |
+2
-2
@@ -1,4 +0,4 @@ | ||
| import { CucumberHtmlStream } from './CucumberHtmlStream' | ||
| import { CucumberHtmlStream } from './CucumberHtmlStream.js' | ||
| export * from './CucumberHtmlStream' | ||
| export * from './CucumberHtmlStream.js' | ||
@@ -5,0 +5,0 @@ /** |
@@ -9,3 +9,3 @@ import fs from 'node:fs' | ||
| import { CucumberHtmlStream } from '../src' | ||
| import { CucumberHtmlStream } from '../src/index.js' | ||
@@ -15,3 +15,3 @@ const fixtures = sync(`./node_modules/@cucumber/compatibility-kit/features/**/*.ndjson`) | ||
| test.beforeAll(async () => { | ||
| const outputDir = path.join(__dirname, './__output__') | ||
| const outputDir = path.join(import.meta.dirname, './__output__') | ||
@@ -26,5 +26,5 @@ for (const fixture of fixtures) { | ||
| new CucumberHtmlStream( | ||
| path.join(__dirname, '../dist/main.css'), | ||
| path.join(__dirname, '../dist/main.js'), | ||
| path.join(__dirname, '../dist/src/icon.url') | ||
| path.join(import.meta.dirname, '../dist/main.css'), | ||
| path.join(import.meta.dirname, '../dist/main.js'), | ||
| path.join(import.meta.dirname, '../dist/src/icon.url') | ||
| ), | ||
@@ -31,0 +31,0 @@ fs.createWriteStream(outputFile) |
| { | ||
| "extends": "./tsconfig.json", | ||
| "include": ["src"], | ||
| "exclude": ["src/**/*.spec.*"], | ||
| "compilerOptions": { | ||
| "rootDir": ".", | ||
| "outDir": "dist", | ||
| "composite": true, | ||
| "declarationMap": true, | ||
| "noEmit": false | ||
| }, | ||
| "include": ["src", "test", "package.json"] | ||
| "outDir": "dist" | ||
| } | ||
| } |
+10
-17
| { | ||
| "extends": "@tsconfig/recommended/tsconfig.json", | ||
| "include": ["src", "test"], | ||
| "compilerOptions": { | ||
| "baseUrl": ".", | ||
| "lib": ["es2024", "dom"], | ||
| "target": "es2024", | ||
| "module": "nodenext", | ||
| "moduleResolution": "nodenext", | ||
| "jsx": "react-jsx", | ||
| "types": ["node", "mocha"], | ||
| "declaration": true, | ||
| "sourceMap": true, | ||
| "allowJs": false, | ||
| "resolveJsonModule": true, | ||
| "esModuleInterop": true, | ||
| "noImplicitAny": true, | ||
| "downlevelIteration": true, | ||
| "skipLibCheck": true, | ||
| "strictNullChecks": true, | ||
| "experimentalDecorators": true, | ||
| "module": "CommonJS", | ||
| "lib": ["ES6", "dom"], | ||
| "target": "ES6", | ||
| "moduleResolution": "node", | ||
| "allowSyntheticDefaultImports": true, | ||
| "noEmit": true, | ||
| "jsx": "react-jsx" | ||
| "inlineSourceMap": true, | ||
| "inlineSources": true | ||
| } | ||
| } |
@@ -1,4 +0,4 @@ | ||
| const MiniCssExtractPlugin = require('mini-css-extract-plugin') | ||
| import MiniCssExtractPlugin from 'mini-css-extract-plugin' | ||
| module.exports = { | ||
| export default { | ||
| entry: './dist/src/main.js', | ||
@@ -5,0 +5,0 @@ module: { |
| { | ||
| "name": "@cucumber/html-formatter", | ||
| "version": "23.1.0", | ||
| "description": "HTML formatter for Cucumber", | ||
| "main": "dist/src/index.js", | ||
| "types": "dist/src/index.d.ts", | ||
| "repository": { | ||
| "type": "git", | ||
| "url": "git+https://github.com/cucumber/html-formatter.git" | ||
| }, | ||
| "author": "Aslak Hellesøy", | ||
| "license": "MIT", | ||
| "scripts": { | ||
| "clean": "shx rm -rf dist", | ||
| "build:tsc": "tsc --build tsconfig.build.json", | ||
| "build:webpack": "webpack", | ||
| "build": "npm run clean && npm run build:tsc && npm run prepare && npm run build:webpack", | ||
| "prepare": "shx mkdir -p dist/src && shx cp src/*.scss dist/src && shx cp src/index.mustache dist/src && shx cp src/icon.url dist/src", | ||
| "test": "mocha", | ||
| "prepublishOnly": "npm run build", | ||
| "fix": "biome check --fix --error-on-warnings", | ||
| "lint": "biome check --error-on-warnings", | ||
| "acceptance:local": "docker compose run --rm playwright", | ||
| "acceptance:update": "docker compose run --rm playwright npx playwright test --update-snapshots" | ||
| }, | ||
| "peerDependencies": { | ||
| "@cucumber/messages": ">=18" | ||
| }, | ||
| "devDependencies": { | ||
| "@babel/core": "7.29.0", | ||
| "@biomejs/biome": "^2.4.11", | ||
| "@cucumber/biome-config": "github:cucumber/biome-config#v0.1.0", | ||
| "@cucumber/compatibility-kit": "^29.1.4", | ||
| "@cucumber/gherkin": "39.0.0", | ||
| "@cucumber/gherkin-streams": "^6.0.0", | ||
| "@cucumber/gherkin-utils": "^11.0.0", | ||
| "@cucumber/message-streams": "4.1.1", | ||
| "@cucumber/messages": "32.3.0", | ||
| "@cucumber/query": "15.0.1", | ||
| "@cucumber/react-components": "24.3.0", | ||
| "@playwright/test": "1.59.1", | ||
| "@types/glob": "^9.0.0", | ||
| "@types/mocha": "10.0.10", | ||
| "@types/node": "22.19.17", | ||
| "@types/react": "19.2.14", | ||
| "@types/react-dom": "19.2.3", | ||
| "babel-loader": "10.1.1", | ||
| "css-loader": "7.1.4", | ||
| "glob": "^13.0.0", | ||
| "mini-css-extract-plugin": "2.10.2", | ||
| "mocha": "11.7.5", | ||
| "react": "19.2.5", | ||
| "react-dom": "19.2.5", | ||
| "sass": "1.99.0", | ||
| "sass-loader": "16.0.7", | ||
| "serve": "^14.2.4", | ||
| "shx": "^0.4.0", | ||
| "source-map-support": "0.5.21", | ||
| "ts-loader": "9.5.7", | ||
| "ts-node": "10.9.2", | ||
| "typescript": "5.9.3", | ||
| "webpack": "5.106.1", | ||
| "webpack-cli": "7.0.2" | ||
| }, | ||
| "bugs": { | ||
| "url": "https://github.com/cucumber/html-formatter/issues" | ||
| }, | ||
| "homepage": "https://github.com/cucumber/html-formatter#readme", | ||
| "directories": { | ||
| "test": "test" | ||
| }, | ||
| "keywords": [] | ||
| } |
| {"version":3,"file":"CucumberHtmlStream.d.ts","sourceRoot":"","sources":["../../src/CucumberHtmlStream.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,SAAS,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAElD,qBAAa,kBAAmB,SAAQ,SAAS;IAY7C,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAb3B,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,iBAAiB,CAAQ;IACjC,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,mBAAmB,CAAQ;IAEnC;;;;OAIG;gBAEgB,OAAO,GAAE,MAA+C,EACxD,MAAM,GAAE,MAA8C,EACtD,QAAQ,GAAE,MAAyC;IAK/D,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAgBpF,MAAM,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAIhD,OAAO,CAAC,mCAAmC;IA8B3C,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,YAAY;CAUrB"} |
| {"version":3,"file":"CucumberHtmlStream.js","sourceRoot":"","sources":["../../src/CucumberHtmlStream.ts"],"names":[],"mappings":"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"} |
| export {}; | ||
| //# sourceMappingURL=CucumberHtmlStream.spec.d.ts.map |
| {"version":3,"file":"CucumberHtmlStream.spec.d.ts","sourceRoot":"","sources":["../../src/CucumberHtmlStream.spec.ts"],"names":[],"mappings":""} |
| "use strict"; | ||
| var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
| function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||
| return new (P || (P = Promise))(function (resolve, reject) { | ||
| function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||
| function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||
| function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||
| step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||
| }); | ||
| }; | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const node_assert_1 = __importDefault(require("node:assert")); | ||
| const node_stream_1 = require("node:stream"); | ||
| const CucumberHtmlStream_1 = require("./CucumberHtmlStream"); | ||
| function renderAsHtml(...envelopes) { | ||
| return __awaiter(this, void 0, void 0, function* () { | ||
| return new Promise((resolve, reject) => { | ||
| let html = ''; | ||
| const sink = new node_stream_1.Writable({ | ||
| write(chunk, _, callback) { | ||
| html += chunk; | ||
| callback(); | ||
| }, | ||
| }); | ||
| sink.on('finish', () => resolve(html)); | ||
| const cucumberHtmlStream = new CucumberHtmlStream_1.CucumberHtmlStream(`${__dirname}/dummy.css`, `${__dirname}/dummy.js`); | ||
| cucumberHtmlStream.on('error', reject); | ||
| cucumberHtmlStream.pipe(sink); | ||
| for (const envelope of envelopes) { | ||
| cucumberHtmlStream.write(envelope); | ||
| } | ||
| cucumberHtmlStream.end(); | ||
| }); | ||
| }); | ||
| } | ||
| describe('CucumberHtmlStream', () => { | ||
| it('writes zero messages to html', () => __awaiter(void 0, void 0, void 0, function* () { | ||
| const html = yield renderAsHtml(); | ||
| (0, node_assert_1.default)(html.indexOf('window.CUCUMBER_MESSAGES = []') >= 0); | ||
| })); | ||
| it('writes one message to html', () => __awaiter(void 0, void 0, void 0, function* () { | ||
| const e1 = { | ||
| testRunStarted: { | ||
| timestamp: { seconds: 0, nanos: 0 }, | ||
| }, | ||
| }; | ||
| const html = yield renderAsHtml(e1); | ||
| (0, node_assert_1.default)(html.indexOf(`window.CUCUMBER_MESSAGES = [${JSON.stringify(e1)}]`) >= 0); | ||
| })); | ||
| it('writes two messages to html', () => __awaiter(void 0, void 0, void 0, function* () { | ||
| const e1 = { | ||
| testRunStarted: { | ||
| timestamp: { seconds: 0, nanos: 0 }, | ||
| }, | ||
| }; | ||
| const e2 = { | ||
| testRunFinished: { | ||
| timestamp: { seconds: 0, nanos: 0 }, | ||
| success: true, | ||
| }, | ||
| }; | ||
| const html = yield renderAsHtml(e1, e2); | ||
| (0, node_assert_1.default)(html.indexOf(`window.CUCUMBER_MESSAGES = [${JSON.stringify(e1)},${JSON.stringify(e2)}]`) >= 0); | ||
| })); | ||
| it('escapes forward slashes', () => __awaiter(void 0, void 0, void 0, function* () { | ||
| const e1 = { | ||
| gherkinDocument: { | ||
| comments: [ | ||
| { | ||
| location: { | ||
| line: 0, | ||
| column: 0, | ||
| }, | ||
| text: `</script><script>alert('Hello')</script>`, | ||
| }, | ||
| ], | ||
| }, | ||
| }; | ||
| const html = yield renderAsHtml(e1); | ||
| (0, node_assert_1.default)(html.indexOf(`window.CUCUMBER_MESSAGES = [{"gherkinDocument":{"comments":[{"location":{"line":0,"column":0},"text":"\\x3C/script>\\x3Cscript>alert('Hello')\\x3C/script>"}]}}];`) >= 0); | ||
| })); | ||
| }); | ||
| //# sourceMappingURL=CucumberHtmlStream.spec.js.map |
| {"version":3,"file":"CucumberHtmlStream.spec.js","sourceRoot":"","sources":["../../src/CucumberHtmlStream.spec.ts"],"names":[],"mappings":"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"} |
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEzD,cAAc,sBAAsB,CAAA;AAEpC;;GAEG;AACH,eAAe,kBAAkB,CAAA"} |
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAAyD;AAEzD,uDAAoC;AAEpC;;GAEG;AACH,kBAAe,uCAAkB,CAAA"} |
| {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.tsx"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAA;AAEtB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAIlD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,iBAAiB,EAAE,QAAQ,EAAE,CAAA;KAC9B;CACF"} |
| {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.tsx"],"names":[],"mappings":";;;AAAA,yBAAsB;AAGtB,iEAAyF;AACzF,6CAA6C;AAQ7C,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAgB,CAAC,CAAA;AAE1E,IAAI,CAAC,MAAM,CACT,uBAAC,oCAAiB,IAAC,SAAS,EAAE,MAAM,CAAC,iBAAiB,YACpD,uBAAC,oCAAiB,cAChB,gCAAK,EAAE,EAAC,QAAQ,EAAC,SAAS,EAAC,gBAAgB,YACzC,uBAAC,yBAAM,KAAG,GACN,GACY,GACF,CACrB,CAAA"} |
| export {}; | ||
| //# sourceMappingURL=acceptance.spec.d.ts.map |
| {"version":3,"file":"acceptance.spec.d.ts","sourceRoot":"","sources":["../../test/acceptance.spec.ts"],"names":[],"mappings":""} |
| "use strict"; | ||
| var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
| function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||
| return new (P || (P = Promise))(function (resolve, reject) { | ||
| function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||
| function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||
| function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||
| step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||
| }); | ||
| }; | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const node_fs_1 = __importDefault(require("node:fs")); | ||
| const node_path_1 = __importDefault(require("node:path")); | ||
| const promises_1 = require("node:stream/promises"); | ||
| const message_streams_1 = require("@cucumber/message-streams"); | ||
| const test_1 = require("@playwright/test"); | ||
| const glob_1 = require("glob"); | ||
| const src_1 = require("../src"); | ||
| const fixtures = (0, glob_1.sync)(`./node_modules/@cucumber/compatibility-kit/features/**/*.ndjson`); | ||
| test_1.test.beforeAll(() => __awaiter(void 0, void 0, void 0, function* () { | ||
| const outputDir = node_path_1.default.join(__dirname, './__output__'); | ||
| for (const fixture of fixtures) { | ||
| const name = node_path_1.default.basename(fixture, '.ndjson'); | ||
| const outputFile = node_path_1.default.join(outputDir, `${name}.html`); | ||
| yield (0, promises_1.pipeline)(node_fs_1.default.createReadStream(fixture, { encoding: 'utf-8' }), new message_streams_1.NdjsonToMessageStream(), new src_1.CucumberHtmlStream(node_path_1.default.join(__dirname, '../dist/main.css'), node_path_1.default.join(__dirname, '../dist/main.js'), node_path_1.default.join(__dirname, '../dist/src/icon.url')), node_fs_1.default.createWriteStream(outputFile)); | ||
| } | ||
| })); | ||
| for (const fixture of fixtures) { | ||
| const name = node_path_1.default.basename(fixture, '.ndjson'); | ||
| (0, test_1.test)(`can render ${name}`, (_a) => __awaiter(void 0, [_a], void 0, function* ({ page }) { | ||
| yield page.goto(`/${name}.html`); | ||
| yield page.waitForSelector('#report', { timeout: 3000 }); | ||
| yield (0, test_1.expect)(page).toHaveScreenshot(`${name}.png`, { fullPage: true }); | ||
| })); | ||
| } | ||
| //# sourceMappingURL=acceptance.spec.js.map |
| {"version":3,"file":"acceptance.spec.js","sourceRoot":"","sources":["../../test/acceptance.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAAwB;AACxB,0DAA4B;AAC5B,mDAA+C;AAE/C,+DAAiE;AACjE,2CAA+C;AAC/C,+BAA2B;AAE3B,gCAA2C;AAE3C,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,iEAAiE,CAAC,CAAA;AAExF,WAAI,CAAC,SAAS,CAAC,GAAS,EAAE;IACxB,MAAM,SAAS,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;IAEtD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,mBAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QAC9C,MAAM,UAAU,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,OAAO,CAAC,CAAA;QAEvD,MAAM,IAAA,mBAAQ,EACZ,iBAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EACnD,IAAI,uCAAqB,EAAE,EAC3B,IAAI,wBAAkB,CACpB,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,EACxC,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EACvC,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAC7C,EACD,iBAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,CACjC,CAAA;IACH,CAAC;AACH,CAAC,CAAA,CAAC,CAAA;AAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,mBAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IAE9C,IAAA,WAAI,EAAC,cAAc,IAAI,EAAE,EAAE,KAAiB,EAAE,4CAAZ,EAAE,IAAI,EAAE;QACxC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,CAAA;QAChC,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QACxD,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,GAAG,IAAI,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACxE,CAAC,CAAA,CAAC,CAAA;AACJ,CAAC"} |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
17
-5.56%Yes
NaN4510024
-1.26%35
2.94%80
-14.89%659
-14.86%1
Infinity%