@react-native-windows/codegen 0.73.0 → 0.74.0-preview.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,224 +1,224 @@
1
- "use strict";
2
- /**
3
- * Copyright (c) Microsoft Corporation.
4
- * Licensed under the MIT License.
5
- *
6
- * @format
7
- */
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.runCodeGen = exports.generate = exports.combineSchemas = exports.parseFile = void 0;
13
- const path_1 = __importDefault(require("path"));
14
- const fs_1 = __importDefault(require("@react-native-windows/fs"));
15
- const globby_1 = __importDefault(require("globby"));
16
- const GenerateNM2_1 = require("./generators/GenerateNM2");
17
- const GenerateTypeScript_1 = require("./generators/GenerateTypeScript");
18
- // Load @react-native/codegen from react-native
19
- const rnPath = path_1.default.dirname(require.resolve('react-native/package.json'));
20
- const rncodegenPath = path_1.default.dirname(require.resolve('@react-native/codegen/package.json', { paths: [rnPath] }));
21
- function getParser(isTypeScript) {
22
- if (isTypeScript) {
23
- const fp = require(path_1.default.resolve(rncodegenPath, 'lib/parsers/typescript/parser'));
24
- return new fp.TypeScriptParser();
25
- }
26
- else {
27
- const fp = require(path_1.default.resolve(rncodegenPath, 'lib/parsers/flow/parser'));
28
- return new fp.FlowParser();
29
- }
30
- }
31
- const schemaValidator = require(path_1.default.resolve(rncodegenPath, 'lib/SchemaValidator'));
32
- function normalizeFileMap(map, outputDir, outMap) {
33
- for (const [fileName, contents] of map) {
34
- const location = path_1.default.join(outputDir, fileName);
35
- outMap.set(path_1.default.normalize(location), contents);
36
- }
37
- }
38
- function checkFilesForChanges(map, outputDir) {
39
- let hasChanges = false;
40
- outputDir = path_1.default.resolve(outputDir);
41
- const globbyDir = outputDir.replace(/\\/g, '/');
42
- const allExistingFiles = globby_1.default
43
- .sync([`${globbyDir}/**`, `${globbyDir}/**/.*`], { absolute: true })
44
- .map(_ => path_1.default.normalize(_));
45
- const allGeneratedFiles = [...map.keys()].map(_ => path_1.default.normalize(_)).sort();
46
- if (allExistingFiles.length !== allGeneratedFiles.length ||
47
- !allGeneratedFiles.every(filepath => allExistingFiles.includes(path_1.default.normalize(path_1.default.resolve(process.cwd(), filepath)))))
48
- return true;
49
- for (const [fileName, contents] of map) {
50
- if (!fs_1.default.existsSync(fileName)) {
51
- hasChanges = true;
52
- continue;
53
- }
54
- const currentContents = fs_1.default.readFileSync(fileName, 'utf8');
55
- if (currentContents !== contents) {
56
- console.log(`- ${fileName} has changed`);
57
- hasChanges = true;
58
- continue;
59
- }
60
- }
61
- return hasChanges;
62
- }
63
- function writeMapToFiles(map, outputDir) {
64
- let success = true;
65
- outputDir = path_1.default.resolve(outputDir);
66
- const globbyDir = outputDir.replace(/\\/g, '/');
67
- // This ensures that we delete any generated files from modules that have been deleted
68
- const allExistingFiles = globby_1.default.sync([`${globbyDir}/**`, `${globbyDir}/**/.*`], { absolute: true });
69
- const allGeneratedFiles = [...map.keys()].map(_ => path_1.default.normalize(_)).sort();
70
- allExistingFiles.forEach(existingFile => {
71
- if (!allGeneratedFiles.includes(path_1.default.normalize(existingFile))) {
72
- console.log('Deleting ', existingFile);
73
- fs_1.default.unlinkSync(existingFile);
74
- }
75
- });
76
- for (const [fileName, contents] of map) {
77
- try {
78
- fs_1.default.mkdirSync(path_1.default.dirname(fileName), { recursive: true });
79
- if (fs_1.default.existsSync(fileName)) {
80
- const currentContents = fs_1.default.readFileSync(fileName, 'utf8');
81
- // Don't update the files if there are no changes as this breaks incremental builds
82
- if (currentContents === contents) {
83
- continue;
84
- }
85
- }
86
- console.log('Writing ', fileName);
87
- fs_1.default.writeFileSync(fileName, contents);
88
- }
89
- catch (error) {
90
- success = false;
91
- console.error(`Failed to write ${fileName} to ${fileName}`, error);
92
- }
93
- }
94
- return success;
95
- }
96
- function parseFile(filename) {
97
- try {
98
- const isTypeScript = path_1.default.extname(filename) === '.ts' || path_1.default.extname(filename) === '.tsx';
99
- const contents = fs_1.default.readFileSync(filename, 'utf8');
100
- const schema = getParser(isTypeScript).parseString(contents, filename);
101
- // there will be at most one turbo module per file
102
- const moduleName = Object.keys(schema.modules)[0];
103
- if (moduleName) {
104
- const spec = schema.modules[moduleName];
105
- if (spec.type === 'NativeModule') {
106
- if (contents) {
107
- // This is a temporary implementation until such information is added to the schema in facebook/react-native
108
- if (contents.includes('TurboModuleRegistry.get<')) {
109
- (0, GenerateTypeScript_1.setOptionalTurboModule)(spec, true);
110
- }
111
- else if (contents.includes('TurboModuleRegistry.getEnforcing<')) {
112
- (0, GenerateTypeScript_1.setOptionalTurboModule)(spec, false);
113
- }
114
- }
115
- }
116
- }
117
- return schema;
118
- }
119
- catch (e) {
120
- if (e instanceof Error) {
121
- e.message = `(${filename}): ${e.message}`;
122
- }
123
- throw e;
124
- }
125
- }
126
- exports.parseFile = parseFile;
127
- function combineSchemas(files) {
128
- return files.reduce((merged, filename) => {
129
- const contents = fs_1.default.readFileSync(filename, 'utf8');
130
- if (contents &&
131
- (/export\s+default\s+\(?codegenNativeComponent</.test(contents) ||
132
- contents.includes('extends TurboModule'))) {
133
- const schema = parseFile(filename);
134
- merged.modules = { ...merged.modules, ...schema.modules };
135
- }
136
- return merged;
137
- }, { modules: {} });
138
- }
139
- exports.combineSchemas = combineSchemas;
140
- function generate({ libraryName, methodOnly, modulesCxx, modulesTypeScriptTypes, modulesWindows, namespace, outputDirectory, cppStringType, separateDataTypes, moduleSpecName, schema, }, { /*generators,*/ test }) {
141
- schemaValidator.validate(schema);
142
- const componentOutputdir = path_1.default.join(outputDirectory, 'react/components', libraryName);
143
- const generatedFiles = new Map();
144
- generatedFiles.set(path_1.default.join(outputDirectory, '.clang-format'), 'DisableFormat: true\nSortIncludes: false');
145
- const generateNM2 = (0, GenerateNM2_1.createNM2Generator)({
146
- methodOnly,
147
- namespace,
148
- cppStringType,
149
- separateDataTypes,
150
- });
151
- const generateJsiModuleH = require(path_1.default.resolve(rncodegenPath, 'lib/generators/modules/GenerateModuleH')).generate;
152
- const generateJsiModuleCpp = require(path_1.default.resolve(rncodegenPath, 'lib/generators/modules/GenerateModuleCpp')).generate;
153
- const generatorPropsH = require(path_1.default.resolve(rncodegenPath, 'lib/generators/components/GeneratePropsH')).generate;
154
- const generatorPropsCPP = require(path_1.default.resolve(rncodegenPath, 'lib/generators/components/GeneratePropsCpp')).generate;
155
- const generatorShadowNodeH = require(path_1.default.resolve(rncodegenPath, 'lib/generators/components/GenerateShadowNodeH')).generate;
156
- const generatorShadowNodeCPP = require(path_1.default.resolve(rncodegenPath, 'lib/generators/components/GenerateShadowNodeCpp')).generate;
157
- const generatorComponentDescriptorH = require(path_1.default.resolve(rncodegenPath, 'lib/generators/components/GenerateComponentDescriptorH')).generate;
158
- const generatorEventEmitterH = require(path_1.default.resolve(rncodegenPath, 'lib/generators/components/GenerateEventEmitterH')).generate;
159
- const generatorEventEmitterCPP = require(path_1.default.resolve(rncodegenPath, 'lib/generators/components/GenerateEventEmitterCpp')).generate;
160
- const generatorStateCPP = require(path_1.default.resolve(rncodegenPath, 'lib/generators/components/GenerateStateCpp')).generate;
161
- const generatorStateH = require(path_1.default.resolve(rncodegenPath, 'lib/generators/components/GenerateStateH')).generate;
162
- const moduleGenerators = [];
163
- if (modulesWindows) {
164
- moduleGenerators.push(generateNM2);
165
- }
166
- if (modulesCxx) {
167
- moduleGenerators.push(generateJsiModuleH);
168
- moduleGenerators.push(generateJsiModuleCpp);
169
- }
170
- if (modulesTypeScriptTypes) {
171
- moduleGenerators.push(GenerateTypeScript_1.generateTypeScript);
172
- }
173
- moduleGenerators.forEach(generator => {
174
- const generated = generator(libraryName, schema, moduleSpecName);
175
- normalizeFileMap(generated, outputDirectory, generatedFiles);
176
- });
177
- if (Object.keys(schema.modules).some(moduleName => schema.modules[moduleName].type === 'Component')) {
178
- const componentGenerators = [
179
- generatorComponentDescriptorH,
180
- generatorEventEmitterCPP,
181
- generatorEventEmitterH,
182
- generatorPropsCPP,
183
- generatorPropsH,
184
- generatorShadowNodeCPP,
185
- generatorShadowNodeH,
186
- generatorStateCPP,
187
- generatorStateH,
188
- ];
189
- componentGenerators.forEach(generator => {
190
- const generated = generator(libraryName, schema, moduleSpecName);
191
- normalizeFileMap(generated, componentOutputdir, generatedFiles);
192
- });
193
- }
194
- if (test === true) {
195
- return checkFilesForChanges(generatedFiles, outputDirectory);
196
- }
197
- return writeMapToFiles(generatedFiles, outputDirectory);
198
- }
199
- exports.generate = generate;
200
- function runCodeGen(options) {
201
- if (!options.file && !options.files)
202
- throw new Error('Must specify file or files option');
203
- const schema = options.file
204
- ? parseFile(options.file)
205
- : combineSchemas(globby_1.default.sync(options.files));
206
- const libraryName = options.libraryName;
207
- const moduleSpecName = 'moduleSpecName';
208
- const { methodOnly, modulesCxx, modulesTypeScriptTypes, modulesWindows, namespace, outputDirectory, cppStringType, separateDataTypes, } = options;
209
- return generate({
210
- libraryName,
211
- methodOnly,
212
- modulesCxx,
213
- modulesTypeScriptTypes,
214
- modulesWindows,
215
- namespace,
216
- outputDirectory,
217
- cppStringType,
218
- separateDataTypes,
219
- moduleSpecName,
220
- schema,
221
- }, { generators: [], test: options.test });
222
- }
223
- exports.runCodeGen = runCodeGen;
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) Microsoft Corporation.
4
+ * Licensed under the MIT License.
5
+ *
6
+ * @format
7
+ */
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.runCodeGen = exports.generate = exports.combineSchemas = exports.parseFile = void 0;
13
+ const path_1 = __importDefault(require("path"));
14
+ const fs_1 = __importDefault(require("@react-native-windows/fs"));
15
+ const globby_1 = __importDefault(require("globby"));
16
+ const GenerateNM2_1 = require("./generators/GenerateNM2");
17
+ const GenerateTypeScript_1 = require("./generators/GenerateTypeScript");
18
+ // Load @react-native/codegen from react-native
19
+ const rnPath = path_1.default.dirname(require.resolve('react-native/package.json'));
20
+ const rncodegenPath = path_1.default.dirname(require.resolve('@react-native/codegen/package.json', { paths: [rnPath] }));
21
+ function getParser(isTypeScript) {
22
+ if (isTypeScript) {
23
+ const fp = require(path_1.default.resolve(rncodegenPath, 'lib/parsers/typescript/parser'));
24
+ return new fp.TypeScriptParser();
25
+ }
26
+ else {
27
+ const fp = require(path_1.default.resolve(rncodegenPath, 'lib/parsers/flow/parser'));
28
+ return new fp.FlowParser();
29
+ }
30
+ }
31
+ const schemaValidator = require(path_1.default.resolve(rncodegenPath, 'lib/SchemaValidator'));
32
+ function normalizeFileMap(map, outputDir, outMap) {
33
+ for (const [fileName, contents] of map) {
34
+ const location = path_1.default.join(outputDir, fileName);
35
+ outMap.set(path_1.default.normalize(location), contents);
36
+ }
37
+ }
38
+ function checkFilesForChanges(map, outputDir) {
39
+ let hasChanges = false;
40
+ outputDir = path_1.default.resolve(outputDir);
41
+ const globbyDir = outputDir.replace(/\\/g, '/');
42
+ const allExistingFiles = globby_1.default
43
+ .sync([`${globbyDir}/**`, `${globbyDir}/**/.*`], { absolute: true })
44
+ .map(_ => path_1.default.normalize(_));
45
+ const allGeneratedFiles = [...map.keys()].map(_ => path_1.default.normalize(_)).sort();
46
+ if (allExistingFiles.length !== allGeneratedFiles.length ||
47
+ !allGeneratedFiles.every(filepath => allExistingFiles.includes(path_1.default.normalize(path_1.default.resolve(process.cwd(), filepath)))))
48
+ return true;
49
+ for (const [fileName, contents] of map) {
50
+ if (!fs_1.default.existsSync(fileName)) {
51
+ hasChanges = true;
52
+ continue;
53
+ }
54
+ const currentContents = fs_1.default.readFileSync(fileName, 'utf8');
55
+ if (currentContents !== contents) {
56
+ console.log(`- ${fileName} has changed`);
57
+ hasChanges = true;
58
+ continue;
59
+ }
60
+ }
61
+ return hasChanges;
62
+ }
63
+ function writeMapToFiles(map, outputDir) {
64
+ let success = true;
65
+ outputDir = path_1.default.resolve(outputDir);
66
+ const globbyDir = outputDir.replace(/\\/g, '/');
67
+ // This ensures that we delete any generated files from modules that have been deleted
68
+ const allExistingFiles = globby_1.default.sync([`${globbyDir}/**`, `${globbyDir}/**/.*`], { absolute: true });
69
+ const allGeneratedFiles = [...map.keys()].map(_ => path_1.default.normalize(_)).sort();
70
+ allExistingFiles.forEach(existingFile => {
71
+ if (!allGeneratedFiles.includes(path_1.default.normalize(existingFile))) {
72
+ console.log('Deleting ', existingFile);
73
+ fs_1.default.unlinkSync(existingFile);
74
+ }
75
+ });
76
+ for (const [fileName, contents] of map) {
77
+ try {
78
+ fs_1.default.mkdirSync(path_1.default.dirname(fileName), { recursive: true });
79
+ if (fs_1.default.existsSync(fileName)) {
80
+ const currentContents = fs_1.default.readFileSync(fileName, 'utf8');
81
+ // Don't update the files if there are no changes as this breaks incremental builds
82
+ if (currentContents === contents) {
83
+ continue;
84
+ }
85
+ }
86
+ console.log('Writing ', fileName);
87
+ fs_1.default.writeFileSync(fileName, contents);
88
+ }
89
+ catch (error) {
90
+ success = false;
91
+ console.error(`Failed to write ${fileName} to ${fileName}`, error);
92
+ }
93
+ }
94
+ return success;
95
+ }
96
+ function parseFile(filename) {
97
+ try {
98
+ const isTypeScript = path_1.default.extname(filename) === '.ts' || path_1.default.extname(filename) === '.tsx';
99
+ const contents = fs_1.default.readFileSync(filename, 'utf8');
100
+ const schema = getParser(isTypeScript).parseString(contents, filename);
101
+ // there will be at most one turbo module per file
102
+ const moduleName = Object.keys(schema.modules)[0];
103
+ if (moduleName) {
104
+ const spec = schema.modules[moduleName];
105
+ if (spec.type === 'NativeModule') {
106
+ if (contents) {
107
+ // This is a temporary implementation until such information is added to the schema in facebook/react-native
108
+ if (contents.includes('TurboModuleRegistry.get<')) {
109
+ (0, GenerateTypeScript_1.setOptionalTurboModule)(spec, true);
110
+ }
111
+ else if (contents.includes('TurboModuleRegistry.getEnforcing<')) {
112
+ (0, GenerateTypeScript_1.setOptionalTurboModule)(spec, false);
113
+ }
114
+ }
115
+ }
116
+ }
117
+ return schema;
118
+ }
119
+ catch (e) {
120
+ if (e instanceof Error) {
121
+ e.message = `(${filename}): ${e.message}`;
122
+ }
123
+ throw e;
124
+ }
125
+ }
126
+ exports.parseFile = parseFile;
127
+ function combineSchemas(files) {
128
+ return files.reduce((merged, filename) => {
129
+ const contents = fs_1.default.readFileSync(filename, 'utf8');
130
+ if (contents &&
131
+ (/export\s+default\s+\(?codegenNativeComponent</.test(contents) ||
132
+ contents.includes('extends TurboModule'))) {
133
+ const schema = parseFile(filename);
134
+ merged.modules = { ...merged.modules, ...schema.modules };
135
+ }
136
+ return merged;
137
+ }, { modules: {} });
138
+ }
139
+ exports.combineSchemas = combineSchemas;
140
+ function generate({ libraryName, methodOnly, modulesCxx, modulesTypeScriptTypes, modulesWindows, namespace, outputDirectory, cppStringType, separateDataTypes, moduleSpecName, schema, }, { /*generators,*/ test }) {
141
+ schemaValidator.validate(schema);
142
+ const componentOutputdir = path_1.default.join(outputDirectory, 'react/components', libraryName);
143
+ const generatedFiles = new Map();
144
+ generatedFiles.set(path_1.default.join(outputDirectory, '.clang-format'), 'DisableFormat: true\nSortIncludes: false');
145
+ const generateNM2 = (0, GenerateNM2_1.createNM2Generator)({
146
+ methodOnly,
147
+ namespace,
148
+ cppStringType,
149
+ separateDataTypes,
150
+ });
151
+ const generateJsiModuleH = require(path_1.default.resolve(rncodegenPath, 'lib/generators/modules/GenerateModuleH')).generate;
152
+ const generateJsiModuleCpp = require(path_1.default.resolve(rncodegenPath, 'lib/generators/modules/GenerateModuleCpp')).generate;
153
+ const generatorPropsH = require(path_1.default.resolve(rncodegenPath, 'lib/generators/components/GeneratePropsH')).generate;
154
+ const generatorPropsCPP = require(path_1.default.resolve(rncodegenPath, 'lib/generators/components/GeneratePropsCpp')).generate;
155
+ const generatorShadowNodeH = require(path_1.default.resolve(rncodegenPath, 'lib/generators/components/GenerateShadowNodeH')).generate;
156
+ const generatorShadowNodeCPP = require(path_1.default.resolve(rncodegenPath, 'lib/generators/components/GenerateShadowNodeCpp')).generate;
157
+ const generatorComponentDescriptorH = require(path_1.default.resolve(rncodegenPath, 'lib/generators/components/GenerateComponentDescriptorH')).generate;
158
+ const generatorEventEmitterH = require(path_1.default.resolve(rncodegenPath, 'lib/generators/components/GenerateEventEmitterH')).generate;
159
+ const generatorEventEmitterCPP = require(path_1.default.resolve(rncodegenPath, 'lib/generators/components/GenerateEventEmitterCpp')).generate;
160
+ const generatorStateCPP = require(path_1.default.resolve(rncodegenPath, 'lib/generators/components/GenerateStateCpp')).generate;
161
+ const generatorStateH = require(path_1.default.resolve(rncodegenPath, 'lib/generators/components/GenerateStateH')).generate;
162
+ const moduleGenerators = [];
163
+ if (modulesWindows) {
164
+ moduleGenerators.push(generateNM2);
165
+ }
166
+ if (modulesCxx) {
167
+ moduleGenerators.push(generateJsiModuleH);
168
+ moduleGenerators.push(generateJsiModuleCpp);
169
+ }
170
+ if (modulesTypeScriptTypes) {
171
+ moduleGenerators.push(GenerateTypeScript_1.generateTypeScript);
172
+ }
173
+ moduleGenerators.forEach(generator => {
174
+ const generated = generator(libraryName, schema, moduleSpecName);
175
+ normalizeFileMap(generated, outputDirectory, generatedFiles);
176
+ });
177
+ if (Object.keys(schema.modules).some(moduleName => schema.modules[moduleName].type === 'Component')) {
178
+ const componentGenerators = [
179
+ generatorComponentDescriptorH,
180
+ generatorEventEmitterCPP,
181
+ generatorEventEmitterH,
182
+ generatorPropsCPP,
183
+ generatorPropsH,
184
+ generatorShadowNodeCPP,
185
+ generatorShadowNodeH,
186
+ generatorStateCPP,
187
+ generatorStateH,
188
+ ];
189
+ componentGenerators.forEach(generator => {
190
+ const generated = generator(libraryName, schema, moduleSpecName);
191
+ normalizeFileMap(generated, componentOutputdir, generatedFiles);
192
+ });
193
+ }
194
+ if (test === true) {
195
+ return checkFilesForChanges(generatedFiles, outputDirectory);
196
+ }
197
+ return writeMapToFiles(generatedFiles, outputDirectory);
198
+ }
199
+ exports.generate = generate;
200
+ function runCodeGen(options) {
201
+ if (!options.file && !options.files)
202
+ throw new Error('Must specify file or files option');
203
+ const schema = options.file
204
+ ? parseFile(options.file)
205
+ : combineSchemas(globby_1.default.sync(options.files));
206
+ const libraryName = options.libraryName;
207
+ const moduleSpecName = 'moduleSpecName';
208
+ const { methodOnly, modulesCxx, modulesTypeScriptTypes, modulesWindows, namespace, outputDirectory, cppStringType, separateDataTypes, } = options;
209
+ return generate({
210
+ libraryName,
211
+ methodOnly,
212
+ modulesCxx,
213
+ modulesTypeScriptTypes,
214
+ modulesWindows,
215
+ namespace,
216
+ outputDirectory,
217
+ cppStringType,
218
+ separateDataTypes,
219
+ moduleSpecName,
220
+ schema,
221
+ }, { generators: [], test: options.test });
222
+ }
223
+ exports.runCodeGen = runCodeGen;
224
224
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-native-windows/codegen",
3
- "version": "0.73.0",
3
+ "version": "0.74.0-preview.1",
4
4
  "description": "Generators for react-native-codegen targeting react-native-windows",
5
5
  "main": "lib-commonjs/index.js",
6
6
  "repository": {
@@ -22,7 +22,7 @@
22
22
  "react-native-windows-codegen": "./bin.js"
23
23
  },
24
24
  "dependencies": {
25
- "@react-native-windows/fs": "0.73.0",
25
+ "@react-native-windows/fs": "0.74.0-preview.1",
26
26
  "chalk": "^4.1.0",
27
27
  "globby": "^11.0.4",
28
28
  "mustache": "^4.0.1",
@@ -30,9 +30,9 @@
30
30
  "yargs": "^16.2.0"
31
31
  },
32
32
  "devDependencies": {
33
- "@rnw-scripts/eslint-config": "1.2.3",
34
- "@rnw-scripts/jest-unittest-config": "1.5.6",
35
- "@rnw-scripts/just-task": "2.3.17",
33
+ "@rnw-scripts/eslint-config": "1.2.9",
34
+ "@rnw-scripts/jest-unittest-config": "1.5.8",
35
+ "@rnw-scripts/just-task": "2.3.25",
36
36
  "@rnw-scripts/ts-config": "2.0.5",
37
37
  "@types/chalk": "^2.2.0",
38
38
  "@types/jest": "^29.2.2",
@@ -40,11 +40,11 @@
40
40
  "@types/yargs": "16.0.0",
41
41
  "@typescript-eslint/eslint-plugin": "^5.30.5",
42
42
  "@typescript-eslint/parser": "^5.57.1",
43
- "babel-jest": "^29.3.0",
43
+ "babel-jest": "^29.6.3",
44
44
  "eslint": "^8.19.0",
45
- "jest": "^29.2.1",
46
- "prettier": "^2.4.1",
47
- "typescript": "^4.9.5"
45
+ "jest": "^29.6.3",
46
+ "prettier": "2.8.8",
47
+ "typescript": "5.0.4"
48
48
  },
49
49
  "peerDependencies": {
50
50
  "react-native": "*"
@@ -57,11 +57,11 @@
57
57
  "src"
58
58
  ],
59
59
  "beachball": {
60
- "defaultNpmTag": "latest",
60
+ "defaultNpmTag": "preview",
61
61
  "disallowedChangeTypes": [
62
62
  "major",
63
63
  "minor",
64
- "prerelease"
64
+ "patch"
65
65
  ]
66
66
  },
67
67
  "promoteRelease": true,