New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@krautzource/sre-to-tree

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@krautzource/sre-to-tree - npm Package Compare versions

Comparing version 3.0.0 to 3.0.1

test/complex.js

8

CHANGELOG.md

@@ -5,2 +5,10 @@ # Changelog

### [3.0.1](https://github.com/krautzource/sre-to-tree/compare/v3.0.0...v3.0.1) (2023-11-09)
### Bug Fixes
* selection of "semantic root" ([25bf789](https://github.com/krautzource/sre-to-tree/commit/25bf789e6e483d5f48a8c8117b69b509e405cb04)), closes [Speech-Rule-Engine/speech-rule-engine#729](https://github.com/Speech-Rule-Engine/speech-rule-engine/issues/729) [#37](https://github.com/krautzource/sre-to-tree/issues/37)
* upgrade mahtjax, sre ([0eee365](https://github.com/krautzource/sre-to-tree/commit/0eee365e7cb01d9b23c819b55875ce5255dd7620))
## [3.0.0](https://github.com/krautzource/sre-to-tree/compare/v2.0.2...v3.0.0) (2022-09-22)

@@ -7,0 +15,0 @@

2

lib.js

@@ -125,3 +125,3 @@ /**

const rewrite = (node) => {
const skeletonNode = node.querySelector('[data-semantic-speech]');
const skeletonNode = node.querySelector('[data-semantic-id]:not([data-semantic-parent])');
if (!skeletonNode) {

@@ -128,0 +128,0 @@ console.warn('sre-to-tree: no SRE markup found', node);

{
"name": "@krautzource/sre-to-tree",
"version": "3.0.0",
"version": "3.0.1",
"description": "Rewritig speech-rule-engine enriched DOM nodes to a labeled WAI ARIA tree",

@@ -28,5 +28,5 @@ "main": "lib.js",

"devDependencies": {
"jsdom": "^18.0.1",
"mathjax-full": "github:amermathsoc/MathJax-src#991fda683aedc6bd81247f2681392f93ef9cb640",
"speech-rule-engine": "4.0.6",
"linkedom": "0.16.1",
"mathjax-full": "v4.0.0-beta.4",
"speech-rule-engine": "4.1.0-beta.7",
"standard-version": "^9.3.2",

@@ -33,0 +33,0 @@ "tape": "^5.3.1"

@@ -11,3 +11,2 @@ const test = require('tape');

const theLink = svg.querySelector('a[href]');
console.log(svg.outerHTML);
t.equal(theLink.getAttribute('role'), 'treeitem' , 'Anchor gets role from "real" SRE node');

@@ -17,3 +16,3 @@ t.equal(theLink.getAttribute('data-owns-id'), '9', 'Anchor gets data-owns-id from "real" SRE node');

t.equal(theLink.getAttribute('data-owns'), '2 6 3 7 4 8 5', 'Anchor gets data-owns from "real" SRE node');
t.equal(theLink.getAttribute('aria-label'), 'l i n k link', 'Anchor gets aria-label from "real" SRE node');
t.equal(theLink.getAttribute('aria-label'), 'link link', 'Anchor gets aria-label from "real" SRE node');
});
const test = require('tape');
const sre2tree = require('../lib');
const jsdom = require('jsdom');
const { JSDOM } = jsdom;
const { parseHTML } = require('linkedom');
test('failure tests', async (t) => {
t.plan(3);
const dom = new JSDOM(
`<!DOCTYPE html><p>Hello world</p><div> <span data-semantic-speech="bla" data-semantic-owns="2"></span</div>`
const { document } = parseHTML(
`<!DOCTYPE html><p>Hello world</p><div> <span data-semantic-id data-semantic-speech="bla" data-semantic-owns="2"></span</div>`
);
const p = dom.window.document.querySelector('p');
const p = document.querySelector('p');
const result = sre2tree(p);
t.equal(result, p, 'Noop when no SRE markup');
const div = dom.window.document.querySelector('div');
const div = document.querySelector('div');
const processedDiv = await sre2tree(div)

@@ -16,0 +15,0 @@ t.equal(processedDiv.getAttribute('data-owns'), '', 'Graceful failure with unexpected markup: cut off tree');

const sre = require('speech-rule-engine');
const { parseHTML } = require('linkedom');

@@ -30,9 +31,4 @@ // TeX to MathML

const SVG = require('mathjax-full/js/output/svg.js').SVG;
const jsdom = require('jsdom');
const { JSDOM } = jsdom;
const jsdomadaptor = require('mathjax-full/js/adaptors/jsdomAdaptor.js')
.jsdomAdaptor;
const RegisterHTMLHandler = require('mathjax-full/js/handlers/html.js')
.RegisterHTMLHandler;
const adaptor = jsdomadaptor(JSDOM);
const RegisterHTMLHandler = require('mathjax-full/js/handlers/html.js').RegisterHTMLHandler;
const adaptor = liteAdaptor();
RegisterHTMLHandler(adaptor);

@@ -79,10 +75,11 @@ const mml = new MathML();

const enrichedMmlBraille = await sre.toEnriched(mml).toString();
const dom = new JSDOM(`<!DOCTYPE html>${enrichedMmlBraille}`);
const brailleDoc = dom.window.document;
const { document } = parseHTML(`<!DOCTYPE html><div>${adaptor.outerHTML(mjx)}</div><div>${enrichedMmlBraille}</div>`);
const mjxWrapper = document.firstElementChild;
const brailleWrapper = document.lastElementChild;
// crossing the streams... cf. zorkow/speech-rule-engine#438
mjx.querySelectorAll('[data-semantic-speech]').forEach((node) => {
mjxWrapper.querySelectorAll('[data-semantic-speech]').forEach((node) => {
node.setAttribute(
'data-semantic-braille',
brailleDoc
brailleWrapper
.querySelector(

@@ -95,5 +92,5 @@ '[data-semantic-id="' + node.getAttribute('data-semantic-id') + '"]'

return mjx;
return mjxWrapper;
};
module.exports = mjenrich;
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc