From bd76e2b5fb96b061b346a2b9ed27ed029ab1af05 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 12:23:35 +0000 Subject: [PATCH 1/2] fix: use own-property checks and correct test fixture in `_tools/semantic-document/to-ipynb` Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_017wWD78vQdpXmymVqF9SDgE --- .../to-ipynb/lib/lower_jupyterlite_javascript.js | 5 +++-- .../_tools/semantic-document/to-ipynb/lib/validate.js | 3 ++- .../@stdlib/_tools/semantic-document/to-ipynb/test/test.js | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/node_modules/@stdlib/_tools/semantic-document/to-ipynb/lib/lower_jupyterlite_javascript.js b/lib/node_modules/@stdlib/_tools/semantic-document/to-ipynb/lib/lower_jupyterlite_javascript.js index bae11354cf23..eb458d4ead60 100644 --- a/lib/node_modules/@stdlib/_tools/semantic-document/to-ipynb/lib/lower_jupyterlite_javascript.js +++ b/lib/node_modules/@stdlib/_tools/semantic-document/to-ipynb/lib/lower_jupyterlite_javascript.js @@ -25,6 +25,7 @@ var acornParse = require( 'acorn' ).parse; var walkSimple = require( 'acorn-walk' ).simple; var analyzeScope = require( 'eslint-scope' ).analyze; +var hasOwnProp = require( '@stdlib/assert/has-own-property' ); var isNodeBuiltinSpecifier = require( '@stdlib/assert/is-node-builtin' ); var isString = require( '@stdlib/assert/is-string' ).isPrimitive; var format = require( '@stdlib/string/format' ); @@ -366,10 +367,10 @@ function checkGlobals( refs, runtime, selectedRequire ) { if ( name === 'require' && !selectedRequire[ ref.identifier.start ] ) { return failure( 'residual-require', 'Code contains a CommonJS require reference which cannot be lowered safely.' ); } - if ( FORBIDDEN_GLOBALS[ name ] ) { + if ( hasOwnProp( FORBIDDEN_GLOBALS, name ) ) { return failure( FORBIDDEN_GLOBALS[ name ], format( 'Code references the unsupported free global `%s`.', name ) ); } - if ( runtime === 'worker' && WORKER_FORBIDDEN_GLOBALS[ name ] ) { + if ( runtime === 'worker' && hasOwnProp( WORKER_FORBIDDEN_GLOBALS, name ) ) { return failure( 'unsupported-worker-global', format( 'Web Worker code references the main-thread global `%s`.', name ) ); } } diff --git a/lib/node_modules/@stdlib/_tools/semantic-document/to-ipynb/lib/validate.js b/lib/node_modules/@stdlib/_tools/semantic-document/to-ipynb/lib/validate.js index 6b54c4ca720f..991918c8243c 100644 --- a/lib/node_modules/@stdlib/_tools/semantic-document/to-ipynb/lib/validate.js +++ b/lib/node_modules/@stdlib/_tools/semantic-document/to-ipynb/lib/validate.js @@ -21,6 +21,7 @@ // MODULES // var parseURL = require( 'url' ).parse; +var hasOwnProp = require( '@stdlib/assert/has-own-property' ); var objectKeys = require( '@stdlib/utils/keys' ); var format = require( '@stdlib/string/format' ); var defaults = require( './defaults.json' ); @@ -292,7 +293,7 @@ function validate( options ) { if ( out.mode !== 'strict' && out.mode !== 'permissive' ) { throw new TypeError( 'invalid option. `mode` must be either `strict` or `permissive`.' ); } - if ( !targets[ out.target ] ) { + if ( !hasOwnProp( targets, out.target ) ) { throw new TypeError( 'invalid option. Unsupported JupyterLite `target`.' ); } if ( out.unsupportedCode === void 0 ) { diff --git a/lib/node_modules/@stdlib/_tools/semantic-document/to-ipynb/test/test.js b/lib/node_modules/@stdlib/_tools/semantic-document/to-ipynb/test/test.js index ef5b3b85b73b..ffdb5a76220b 100644 --- a/lib/node_modules/@stdlib/_tools/semantic-document/to-ipynb/test/test.js +++ b/lib/node_modules/@stdlib/_tools/semantic-document/to-ipynb/test/test.js @@ -33,7 +33,7 @@ var toIPYNB = require( './../lib' ); // FIXTURES // var FIXTURES = resolve( __dirname, '..', '..', 'from-markdown', 'test', 'fixtures' ); -var EXAMPLE = resolve( __dirname, '..', 'examples', 'fixtures', 'example.md.txt' ); +var EXAMPLE = resolve( __dirname, '..', 'examples', 'fixtures', 'abs.md.txt' ); var READ_OPTIONS = { 'encoding': 'utf8' }; From 25bf71aab5a19ea6e63e42ed51c7e5ddbe8c1d34 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 12:27:00 +0000 Subject: [PATCH 2/2] chore: remove nonexistent `docs` directory from `_tools/semantic-document/to-ipynb` package.json Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_017wWD78vQdpXmymVqF9SDgE --- .../@stdlib/_tools/semantic-document/to-ipynb/package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/node_modules/@stdlib/_tools/semantic-document/to-ipynb/package.json b/lib/node_modules/@stdlib/_tools/semantic-document/to-ipynb/package.json index b93eb51aed6b..bb68a9afa1d6 100644 --- a/lib/node_modules/@stdlib/_tools/semantic-document/to-ipynb/package.json +++ b/lib/node_modules/@stdlib/_tools/semantic-document/to-ipynb/package.json @@ -15,7 +15,6 @@ ], "main": "./lib", "directories": { - "doc": "./docs", "example": "./examples", "lib": "./lib", "test": "./test"