supahgreg 46ebef7ebf Bump Dojo from 1.16.5 to 1.17.3.
This should help with some of the security findings.
2025-10-05 04:34:29 +00:00
..
2025-10-05 04:34:29 +00:00
2025-10-05 04:34:29 +00:00
2025-10-05 04:34:29 +00:00
2025-10-05 04:34:29 +00:00
2025-10-05 04:34:29 +00:00

These modules are adapted from the JSON5 project. JSON5 was adopted by the Dojo Toolkit for use by dojo/parser to facilitate parsing data attributes without using the unsafe JavaScript function eval(). As such only the parsing related modules from JSON5 are included.

Updates from the JSON5 project can be incorporated into the Dojo Toolkit with the following process:

  • Clone the JSON5 repository
  • Convert the relevant files to ES5 syntax with TypeScript's compiler:
tsc lib/parse.js lib/unicode.js lib/util.js --allowJs --module ES6 --outDir dojo --removeComments --target ES5
  • Visually compare the existing modules in dojo/json5 with the newly converted modules to see what changes will need to be made
  • Copy the files from the json5/dojo folder to the dojo/json5 folder
  • Manual updates:
    • IMPORTANT: wrap the lexStates object property default: in quotes => 'default':
    • convert indentation to tabs in each module
    • remove any trailing commas
    • convert each module to AMD syntax
  • Update json5/parse.js to use dojo/string methods for ES5 String methods:
    • require '../string' as dstring
    • replace calls to codePointAt with dstring.codePointAt(str, position)
    • replace calls to String.fromCodePoint with dstring.fromCodePoint
  • Run Dojo's JSON5 tests to ensure the updates were successful:
    • dojo/node_modules/intern-geezer/client.html?config=tests/dojo.intern&suites=tests/unit/json5
  • Update the line below recording the most recent update

Current as of 2020-06-12, commit 32bb2cd