@react-native/codegen
Advanced tools
Comparing version 0.74.0-nightly-20231218-27f38f6f0 to 0.74.0-nightly-20231220-dae4a11e9
@@ -14,12 +14,63 @@ /** | ||
function _toArray(arr) { | ||
return ( | ||
_arrayWithHoles(arr) || | ||
_iterableToArray(arr) || | ||
_unsupportedIterableToArray(arr) || | ||
_nonIterableRest() | ||
); | ||
} | ||
function _nonIterableRest() { | ||
throw new TypeError( | ||
'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.', | ||
); | ||
} | ||
function _unsupportedIterableToArray(o, minLen) { | ||
if (!o) return; | ||
if (typeof o === 'string') return _arrayLikeToArray(o, minLen); | ||
var n = Object.prototype.toString.call(o).slice(8, -1); | ||
if (n === 'Object' && o.constructor) n = o.constructor.name; | ||
if (n === 'Map' || n === 'Set') return Array.from(o); | ||
if (n === 'Arguments' || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) | ||
return _arrayLikeToArray(o, minLen); | ||
} | ||
function _arrayLikeToArray(arr, len) { | ||
if (len == null || len > arr.length) len = arr.length; | ||
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; | ||
return arr2; | ||
} | ||
function _iterableToArray(iter) { | ||
if ( | ||
(typeof Symbol !== 'undefined' && iter[Symbol.iterator] != null) || | ||
iter['@@iterator'] != null | ||
) | ||
return Array.from(iter); | ||
} | ||
function _arrayWithHoles(arr) { | ||
if (Array.isArray(arr)) return arr; | ||
} | ||
const _require = require('./combine-js-to-schema'), | ||
combineSchemasInFileListAndWriteToFile = | ||
_require.combineSchemasInFileListAndWriteToFile; | ||
const _require2 = require('./combine-utils'), | ||
parseArgs = _require2.parseArgs; | ||
const parsedArgs = parseArgs(process.argv); | ||
const platform = parsedArgs.platform, | ||
outfile = parsedArgs.outfile, | ||
fileList = parsedArgs.fileList, | ||
exclude = parsedArgs.exclude; | ||
combineSchemasInFileListAndWriteToFile(fileList, platform, outfile, exclude); | ||
const yargs = require('yargs'); | ||
const argv = yargs | ||
.option('p', { | ||
alias: 'platform', | ||
}) | ||
.option('e', { | ||
alias: 'exclude', | ||
}) | ||
.parseSync(); | ||
const _argv$_ = _toArray(argv._), | ||
outfile = _argv$_[0], | ||
fileList = _argv$_.slice(1); | ||
const platform = argv.platform; | ||
const exclude = argv.exclude; | ||
const excludeRegExp = | ||
exclude != null && exclude !== '' ? new RegExp(exclude) : null; | ||
combineSchemasInFileListAndWriteToFile( | ||
fileList, | ||
platform != null ? platform.toLowerCase() : platform, | ||
outfile, | ||
excludeRegExp, | ||
); |
@@ -15,23 +15,22 @@ /** | ||
const fs = require('fs'); | ||
const util = require('util'); | ||
const _util$parseArgs = util.parseArgs({ | ||
options: { | ||
platform: { | ||
type: 'string', | ||
}, | ||
output: { | ||
type: 'string', | ||
}, | ||
['schema-query']: { | ||
type: 'string', | ||
}, | ||
}, | ||
}), | ||
args = _util$parseArgs.values; | ||
if (!['iOS', 'android'].includes(args.platform)) { | ||
throw new Error(`Invalid platform ${args.platform}`); | ||
const yargs = require('yargs'); | ||
const argv = yargs | ||
.option('p', { | ||
alias: 'platform', | ||
type: 'string', | ||
demandOption: true, | ||
}) | ||
.option('o', { | ||
alias: 'output', | ||
}) | ||
.option('s', { | ||
alias: 'schema-query', | ||
}) | ||
.parseSync(); | ||
const platform = argv.platform.toLowerCase(); | ||
const output = argv.output; | ||
const schemaQuery = argv.s; | ||
if (!['ios', 'android'].includes(platform)) { | ||
throw new Error(`Invalid platform ${platform}`); | ||
} | ||
const platform = args.platform; | ||
const output = args.output; | ||
const schemaQuery = args['schema-query']; | ||
if (!schemaQuery.startsWith('@')) { | ||
@@ -38,0 +37,0 @@ throw new Error( |
@@ -14,70 +14,3 @@ /** | ||
function _toArray(arr) { | ||
return ( | ||
_arrayWithHoles(arr) || | ||
_iterableToArray(arr) || | ||
_unsupportedIterableToArray(arr) || | ||
_nonIterableRest() | ||
); | ||
} | ||
function _nonIterableRest() { | ||
throw new TypeError( | ||
'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.', | ||
); | ||
} | ||
function _unsupportedIterableToArray(o, minLen) { | ||
if (!o) return; | ||
if (typeof o === 'string') return _arrayLikeToArray(o, minLen); | ||
var n = Object.prototype.toString.call(o).slice(8, -1); | ||
if (n === 'Object' && o.constructor) n = o.constructor.name; | ||
if (n === 'Map' || n === 'Set') return Array.from(o); | ||
if (n === 'Arguments' || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) | ||
return _arrayLikeToArray(o, minLen); | ||
} | ||
function _arrayLikeToArray(arr, len) { | ||
if (len == null || len > arr.length) len = arr.length; | ||
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; | ||
return arr2; | ||
} | ||
function _iterableToArray(iter) { | ||
if ( | ||
(typeof Symbol !== 'undefined' && iter[Symbol.iterator] != null) || | ||
iter['@@iterator'] != null | ||
) | ||
return Array.from(iter); | ||
} | ||
function _arrayWithHoles(arr) { | ||
if (Array.isArray(arr)) return arr; | ||
} | ||
const path = require('path'); | ||
const util = require('util'); | ||
function parseArgs(args) { | ||
const parsedArgs = util.parseArgs({ | ||
args: args.slice(2), | ||
options: { | ||
platform: { | ||
short: 'p', | ||
type: 'string', | ||
}, | ||
exclude: { | ||
short: 'e', | ||
type: 'string', | ||
}, | ||
}, | ||
allowPositionals: true, | ||
}); | ||
const _parsedArgs$values = parsedArgs.values, | ||
platform = _parsedArgs$values.platform, | ||
exclude = _parsedArgs$values.exclude, | ||
files = parsedArgs.positionals; | ||
const _files = _toArray(files), | ||
outfile = _files[0], | ||
fileList = _files.slice(1); | ||
return { | ||
platform: platform !== null && platform !== void 0 ? platform : null, | ||
outfile, | ||
fileList, | ||
exclude: exclude != null && exclude !== '' ? new RegExp(exclude) : null, | ||
}; | ||
} | ||
@@ -123,4 +56,3 @@ /** | ||
module.exports = { | ||
parseArgs, | ||
filterJSFile, | ||
}; |
@@ -15,3 +15,3 @@ /** | ||
const FileTemplate = ({componentDescriptors, libraryName}) => ` | ||
const FileTemplate = ({componentDescriptors, headerPrefix}) => ` | ||
/** | ||
@@ -28,3 +28,3 @@ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). | ||
#include <react/renderer/components/${libraryName}/ShadowNodes.h> | ||
#include <${headerPrefix}ShadowNodes.h> | ||
#include <react/renderer/core/ConcreteComponentDescriptor.h> | ||
@@ -43,3 +43,9 @@ | ||
module.exports = { | ||
generate(libraryName, schema, packageName, assumeNonnull = false) { | ||
generate( | ||
libraryName, | ||
schema, | ||
packageName, | ||
assumeNonnull = false, | ||
headerPrefix, | ||
) { | ||
const fileName = 'ComponentDescriptors.h'; | ||
@@ -72,3 +78,4 @@ const componentDescriptors = Object.keys(schema.modules) | ||
componentDescriptors, | ||
libraryName, | ||
headerPrefix: | ||
headerPrefix !== null && headerPrefix !== void 0 ? headerPrefix : '', | ||
}); | ||
@@ -75,0 +82,0 @@ return new Map([[fileName, replacedTemplate]]); |
@@ -297,3 +297,9 @@ /** | ||
module.exports = { | ||
generate(libraryName, schema, packageName, assumeNonnull = false) { | ||
generate( | ||
libraryName, | ||
schema, | ||
packageName, | ||
assumeNonnull = false, | ||
headerPrefix, | ||
) { | ||
const fileName = 'RCTComponentViewHelpers.h'; | ||
@@ -300,0 +306,0 @@ const componentContent = Object.keys(schema.modules) |
@@ -20,3 +20,3 @@ /** | ||
const FileTemplate = ({events, libraryName, extraIncludes}) => ` | ||
const FileTemplate = ({events, extraIncludes, headerPrefix}) => ` | ||
/** | ||
@@ -31,3 +31,3 @@ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). | ||
#include <react/renderer/components/${libraryName}/EventEmitters.h> | ||
#include <${headerPrefix}EventEmitters.h> | ||
${[...extraIncludes].join('\n')} | ||
@@ -356,3 +356,9 @@ | ||
module.exports = { | ||
generate(libraryName, schema, packageName, assumeNonnull = false) { | ||
generate( | ||
libraryName, | ||
schema, | ||
packageName, | ||
assumeNonnull = false, | ||
headerPrefix, | ||
) { | ||
const moduleComponents = Object.keys(schema.modules) | ||
@@ -384,5 +390,6 @@ .map(moduleName => { | ||
const replacedTemplate = FileTemplate({ | ||
libraryName, | ||
events: componentEmitters, | ||
extraIncludes, | ||
headerPrefix: | ||
headerPrefix !== null && headerPrefix !== void 0 ? headerPrefix : '', | ||
}); | ||
@@ -389,0 +396,0 @@ return new Map([[fileName, replacedTemplate]]); |
@@ -230,3 +230,9 @@ /** | ||
module.exports = { | ||
generate(libraryName, schema, packageName, assumeNonnull = false) { | ||
generate( | ||
libraryName, | ||
schema, | ||
packageName, | ||
assumeNonnull = false, | ||
headerPrefix, | ||
) { | ||
const moduleComponents = Object.keys(schema.modules) | ||
@@ -233,0 +239,0 @@ .map(moduleName => { |
@@ -19,3 +19,3 @@ /** | ||
const FileTemplate = ({libraryName, imports, componentClasses}) => ` | ||
const FileTemplate = ({imports, componentClasses, headerPrefix}) => ` | ||
/** | ||
@@ -30,3 +30,3 @@ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). | ||
#include <react/renderer/components/${libraryName}/Props.h> | ||
#include <${headerPrefix}Props.h> | ||
${imports} | ||
@@ -82,3 +82,9 @@ | ||
module.exports = { | ||
generate(libraryName, schema, packageName, assumeNonnull = false) { | ||
generate( | ||
libraryName, | ||
schema, | ||
packageName, | ||
assumeNonnull = false, | ||
headerPrefix, | ||
) { | ||
const fileName = 'Props.cpp'; | ||
@@ -122,4 +128,5 @@ const allImports = new Set([ | ||
componentClasses: componentProps, | ||
libraryName, | ||
imports: Array.from(allImports).sort().join('\n').trim(), | ||
headerPrefix: | ||
headerPrefix !== null && headerPrefix !== void 0 ? headerPrefix : '', | ||
}); | ||
@@ -126,0 +133,0 @@ return new Map([[fileName, replacedTemplate]]); |
@@ -553,3 +553,9 @@ /** | ||
module.exports = { | ||
generate(libraryName, schema, packageName, assumeNonnull = false) { | ||
generate( | ||
libraryName, | ||
schema, | ||
packageName, | ||
assumeNonnull = false, | ||
headerPrefix, | ||
) { | ||
const fileName = 'Props.h'; | ||
@@ -556,0 +562,0 @@ const allImports = new Set(); |
@@ -246,3 +246,9 @@ /** | ||
module.exports = { | ||
generate(libraryName, schema, packageName, assumeNonnull = false) { | ||
generate( | ||
libraryName, | ||
schema, | ||
packageName, | ||
assumeNonnull = false, | ||
headerPrefix, | ||
) { | ||
// TODO: This doesn't support custom package name yet. | ||
@@ -249,0 +255,0 @@ const normalizedPackageName = 'com.facebook.react.viewmanagers'; |
@@ -196,3 +196,9 @@ /** | ||
module.exports = { | ||
generate(libraryName, schema, packageName, assumeNonnull = false) { | ||
generate( | ||
libraryName, | ||
schema, | ||
packageName, | ||
assumeNonnull = false, | ||
headerPrefix, | ||
) { | ||
// TODO: This doesn't support custom package name yet. | ||
@@ -199,0 +205,0 @@ const normalizedPackageName = 'com.facebook.react.viewmanagers'; |
@@ -15,3 +15,3 @@ /** | ||
const FileTemplate = ({libraryName, componentNames}) => ` | ||
const FileTemplate = ({componentNames, headerPrefix}) => ` | ||
/** | ||
@@ -26,3 +26,3 @@ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). | ||
#include <react/renderer/components/${libraryName}/ShadowNodes.h> | ||
#include <${headerPrefix}ShadowNodes.h> | ||
@@ -40,3 +40,9 @@ namespace facebook::react { | ||
module.exports = { | ||
generate(libraryName, schema, packageName, assumeNonnull = false) { | ||
generate( | ||
libraryName, | ||
schema, | ||
packageName, | ||
assumeNonnull = false, | ||
headerPrefix, | ||
) { | ||
const fileName = 'ShadowNodes.cpp'; | ||
@@ -70,3 +76,4 @@ const componentNames = Object.keys(schema.modules) | ||
componentNames, | ||
libraryName, | ||
headerPrefix: | ||
headerPrefix !== null && headerPrefix !== void 0 ? headerPrefix : '', | ||
}); | ||
@@ -73,0 +80,0 @@ return new Map([[fileName, replacedTemplate]]); |
@@ -15,3 +15,3 @@ /** | ||
const FileTemplate = ({imports, libraryName, componentClasses}) => ` | ||
const FileTemplate = ({componentClasses, headerPrefix}) => ` | ||
/** | ||
@@ -28,4 +28,5 @@ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). | ||
${imports}#include <react/renderer/components/${libraryName}/Props.h> | ||
#include <react/renderer/components/${libraryName}/States.h> | ||
#include <${headerPrefix}EventEmitters.h> | ||
#include <${headerPrefix}Props.h> | ||
#include <${headerPrefix}States.h> | ||
#include <react/renderer/components/view/ConcreteViewShadowNode.h> | ||
@@ -53,3 +54,9 @@ #include <jsi/jsi.h> | ||
module.exports = { | ||
generate(libraryName, schema, packageName, assumeNonnull = false) { | ||
generate( | ||
libraryName, | ||
schema, | ||
packageName, | ||
assumeNonnull = false, | ||
headerPrefix, | ||
) { | ||
const fileName = 'ShadowNodes.h'; | ||
@@ -84,7 +91,6 @@ const moduleResults = Object.keys(schema.modules) | ||
.join('\n\n'); | ||
const eventEmitterImport = `#include <react/renderer/components/${libraryName}/EventEmitters.h>\n`; | ||
const replacedTemplate = FileTemplate({ | ||
componentClasses: moduleResults, | ||
libraryName, | ||
imports: eventEmitterImport, | ||
headerPrefix: | ||
headerPrefix !== null && headerPrefix !== void 0 ? headerPrefix : '', | ||
}); | ||
@@ -91,0 +97,0 @@ return new Map([[fileName, replacedTemplate]]); |
@@ -15,3 +15,3 @@ /** | ||
const FileTemplate = ({libraryName, stateClasses}) => ` | ||
const FileTemplate = ({stateClasses, headerPrefix}) => ` | ||
/** | ||
@@ -25,3 +25,3 @@ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). | ||
*/ | ||
#include <react/renderer/components/${libraryName}/States.h> | ||
#include <${headerPrefix}States.h> | ||
@@ -36,3 +36,9 @@ namespace facebook::react { | ||
module.exports = { | ||
generate(libraryName, schema, packageName, assumeNonnull = false) { | ||
generate( | ||
libraryName, | ||
schema, | ||
packageName, | ||
assumeNonnull = false, | ||
headerPrefix, | ||
) { | ||
const fileName = 'States.cpp'; | ||
@@ -66,4 +72,5 @@ const stateClasses = Object.keys(schema.modules) | ||
const replacedTemplate = FileTemplate({ | ||
libraryName, | ||
stateClasses, | ||
headerPrefix: | ||
headerPrefix !== null && headerPrefix !== void 0 ? headerPrefix : '', | ||
}); | ||
@@ -70,0 +77,0 @@ return new Map([[fileName, replacedTemplate]]); |
@@ -57,3 +57,9 @@ /** | ||
module.exports = { | ||
generate(libraryName, schema, packageName, assumeNonnull = false) { | ||
generate( | ||
libraryName, | ||
schema, | ||
packageName, | ||
assumeNonnull = false, | ||
headerPrefix, | ||
) { | ||
const fileName = 'States.h'; | ||
@@ -60,0 +66,0 @@ const stateClasses = Object.keys(schema.modules) |
@@ -128,3 +128,9 @@ /** | ||
module.exports = { | ||
generate(libraryName, schema, packageName, assumeNonnull = false) { | ||
generate( | ||
libraryName, | ||
schema, | ||
packageName, | ||
assumeNonnull = false, | ||
headerPrefix, | ||
) { | ||
const fileName = 'Tests.cpp'; | ||
@@ -131,0 +137,0 @@ const allImports = new Set([ |
@@ -258,3 +258,9 @@ /** | ||
module.exports = { | ||
generate(libraryName, schema, packageName, assumeNonnull = false) { | ||
generate( | ||
libraryName, | ||
schema, | ||
packageName, | ||
assumeNonnull = false, | ||
headerPrefix, | ||
) { | ||
const nativeModules = getModules(schema); | ||
@@ -261,0 +267,0 @@ const modules = Object.keys(nativeModules) |
@@ -605,3 +605,9 @@ /** | ||
module.exports = { | ||
generate(libraryName, schema, packageName, assumeNonnull = false) { | ||
generate( | ||
libraryName, | ||
schema, | ||
packageName, | ||
assumeNonnull = false, | ||
headerPrefix, | ||
) { | ||
const nativeModules = getModules(schema); | ||
@@ -608,0 +614,0 @@ const modules = Object.keys(nativeModules).flatMap(hasteModuleName => { |
@@ -471,3 +471,9 @@ /** | ||
module.exports = { | ||
generate(libraryName, schema, packageName, assumeNonnull = false) { | ||
generate( | ||
libraryName, | ||
schema, | ||
packageName, | ||
assumeNonnull = false, | ||
headerPrefix, | ||
) { | ||
const files = new Map(); | ||
@@ -474,0 +480,0 @@ const nativeModules = getModules(schema); |
@@ -416,3 +416,9 @@ /** | ||
module.exports = { | ||
generate(libraryName, schema, packageName, assumeNonnull = false) { | ||
generate( | ||
libraryName, | ||
schema, | ||
packageName, | ||
assumeNonnull = false, | ||
headerPrefix, | ||
) { | ||
const nativeModules = getModules(schema); | ||
@@ -419,0 +425,0 @@ const modules = Object.keys(nativeModules) |
@@ -104,3 +104,9 @@ /** | ||
module.exports = { | ||
generate(libraryName, schema, packageName, assumeNonnull = false) { | ||
generate( | ||
libraryName, | ||
schema, | ||
packageName, | ||
assumeNonnull = false, | ||
headerPrefix, | ||
) { | ||
const nativeModules = getModules(schema); | ||
@@ -107,0 +113,0 @@ const modules = Object.keys(nativeModules) |
@@ -99,3 +99,3 @@ /** | ||
module.exports = { | ||
generate(libraryName, schema, packageName, assumeNonnull) { | ||
generate(libraryName, schema, packageName, assumeNonnull, headerPrefix) { | ||
const nativeModules = getModules(schema); | ||
@@ -102,0 +102,0 @@ const moduleDeclarations = []; |
@@ -169,10 +169,24 @@ /** | ||
generate( | ||
{libraryName, schema, outputDirectory, packageName, assumeNonnull}, | ||
{ | ||
libraryName, | ||
schema, | ||
outputDirectory, | ||
packageName, | ||
assumeNonnull, | ||
useLocalIncludePaths, | ||
}, | ||
{generators, test}, | ||
) { | ||
schemaValidator.validate(schema); | ||
const defaultHeaderPrefix = 'react/renderer/components'; | ||
const headerPrefix = | ||
useLocalIncludePaths === true | ||
? '' | ||
: `${defaultHeaderPrefix}/${libraryName}/`; | ||
function composePath(intermediate) { | ||
return path.join(outputDirectory, intermediate, libraryName); | ||
} | ||
const componentIOSOutput = composePath('react/renderer/components/'); | ||
const componentIOSOutput = composePath( | ||
useLocalIncludePaths === true ? '' : defaultHeaderPrefix, | ||
); | ||
const modulesIOSOutput = composePath('./'); | ||
@@ -195,11 +209,15 @@ const outputFoldersForGenerators = { | ||
for (const generator of LIBRARY_GENERATORS[name]) { | ||
generator(libraryName, schema, packageName, assumeNonnull).forEach( | ||
(contents, fileName) => { | ||
generatedFiles.push({ | ||
name: fileName, | ||
content: contents, | ||
outputDir: outputFoldersForGenerators[name], | ||
}); | ||
}, | ||
); | ||
generator( | ||
libraryName, | ||
schema, | ||
packageName, | ||
assumeNonnull, | ||
headerPrefix, | ||
).forEach((contents, fileName) => { | ||
generatedFiles.push({ | ||
name: fileName, | ||
content: contents, | ||
outputDir: outputFoldersForGenerators[name], | ||
}); | ||
}); | ||
} | ||
@@ -206,0 +224,0 @@ } |
{ | ||
"name": "@react-native/codegen", | ||
"version": "0.74.0-nightly-20231218-27f38f6f0", | ||
"version": "0.74.0-nightly-20231220-dae4a11e9", | ||
"description": "Code generation tools for React Native", | ||
@@ -34,3 +34,3 @@ "license": "MIT", | ||
"glob": "^7.1.1", | ||
"hermes-parser": "0.18.0", | ||
"hermes-parser": "0.18.2", | ||
"invariant": "^2.2.4", | ||
@@ -53,6 +53,7 @@ "jscodeshift": "^0.14.0", | ||
"chalk": "^4.0.0", | ||
"hermes-estree": "0.18.0", | ||
"hermes-estree": "0.18.2", | ||
"micromatch": "^4.0.4", | ||
"prettier": "2.8.8", | ||
"rimraf": "^3.0.2" | ||
"rimraf": "^3.0.2", | ||
"yargs": "^17.6.2" | ||
}, | ||
@@ -59,0 +60,0 @@ "peerDependencies": { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1588481
25731
16
+ Addedhermes-estree@0.18.2(transitive)
+ Addedhermes-parser@0.18.2(transitive)
- Removedhermes-estree@0.18.0(transitive)
- Removedhermes-parser@0.18.0(transitive)
Updatedhermes-parser@0.18.2