@wavemaker/rn-codegen 12.0.0-next.45002 → 12.0.0-next.45006
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.
- rn-codegen/command.js +19 -8
- rn-codegen/command.js.map +1 -1
- rn-codegen/index.js +26 -0
- rn-codegen/index.js.map +1 -1
- rn-codegen/package.json +42 -42
- rn-codegen/src/app.generator.js +4 -2
- rn-codegen/src/app.generator.js.map +1 -1
- rn-codegen/src/templates/app.template +42 -30
- rn-codegen/src/templates/babel.config.js.template +7 -1
- rn-codegen/src/templates/component/component.template +2 -3
- rn-codegen/src/templates/package.web.json +52 -53
- rn-codegen/src/templates/project/app.json +11 -1
- rn-codegen/src/templates/project/esbuild/@react-navigation/drawer/6.6.3/lib/module/views/modern/Drawer.js +303 -0
- rn-codegen/src/templates/project/esbuild/@react-navigation/drawer/6.6.3/lib/module/views/modern/Overlay.js +60 -0
- rn-codegen/src/templates/project/esbuild/esbuild.script.js +113 -2
- rn-codegen/src/templates/project/metro.config.js +2 -0
- rn-codegen/src/templates/project/package-lock.json +5671 -6017
- rn-codegen/src/templates/project/package.json +52 -54
- rn-codegen/src/templates/project/revert-to-1.0.styles.js +31 -6
- rn-codegen/src/templates/project/scripts/post-build.js +13 -0
- rn-codegen/src/templates/variables.template +10 -0
- rn-codegen/src/theme/components/basic/lottie.styledef.js +6 -0
- rn-codegen/src/theme/components/basic/lottie.styledef.js.map +1 -1
- rn-codegen/src/theme/components/chart/area-chart.styledef.js +7 -1
- rn-codegen/src/theme/components/chart/area-chart.styledef.js.map +1 -1
- rn-codegen/src/theme/components/chart/bar-chart.styledef.js +7 -1
- rn-codegen/src/theme/components/chart/bar-chart.styledef.js.map +1 -1
- rn-codegen/src/theme/components/chart/bubble-chart.styledef.js +7 -1
- rn-codegen/src/theme/components/chart/bubble-chart.styledef.js.map +1 -1
- rn-codegen/src/theme/components/chart/column-chart.styledef.js +7 -1
- rn-codegen/src/theme/components/chart/column-chart.styledef.js.map +1 -1
- rn-codegen/src/theme/components/chart/donut-chart.styledef.js +30 -1
- rn-codegen/src/theme/components/chart/donut-chart.styledef.js.map +1 -1
- rn-codegen/src/theme/components/chart/line-chart.styledef.js +7 -0
- rn-codegen/src/theme/components/chart/line-chart.styledef.js.map +1 -1
- rn-codegen/src/theme/components/chart/pie-chart.styledef.js +27 -0
- rn-codegen/src/theme/components/chart/pie-chart.styledef.js.map +1 -1
- rn-codegen/src/theme/components/container/wizard.styledef.js +4 -0
- rn-codegen/src/theme/components/container/wizard.styledef.js.map +1 -1
- rn-codegen/src/theme/components/data/list/list-action-template.styledef.js +18 -0
- rn-codegen/src/theme/components/data/list/list-action-template.styledef.js.map +1 -0
- rn-codegen/src/theme/components/input/epoch/datetime.styledef.js +9 -1
- rn-codegen/src/theme/components/input/epoch/datetime.styledef.js.map +1 -1
- rn-codegen/src/theme/components/input/slider.styledef.js +40 -0
- rn-codegen/src/theme/components/input/slider.styledef.js.map +1 -1
- rn-codegen/src/theme/components/input/switch.styledef.js +10 -0
- rn-codegen/src/theme/components/input/switch.styledef.js.map +1 -1
- rn-codegen/src/theme/components/style-definition.provider.js +2 -0
- rn-codegen/src/theme/components/style-definition.provider.js.map +1 -1
- rn-codegen/src/theme/variables.js +6 -0
- rn-codegen/src/theme/variables.js.map +1 -1
- rn-codegen/src/transpile/components/advanced/carousel/carousel-template.transformer.js +2 -2
- rn-codegen/src/transpile/components/advanced/carousel/carousel-template.transformer.js.map +1 -1
- rn-codegen/src/transpile/components/basic/search.transformer.js +2 -1
- rn-codegen/src/transpile/components/basic/search.transformer.js.map +1 -1
- rn-codegen/src/transpile/components/chart/area-chart.transformer.js +4 -1
- rn-codegen/src/transpile/components/chart/area-chart.transformer.js.map +1 -1
- rn-codegen/src/transpile/components/chart/bar-chart.transformer.js +4 -2
- rn-codegen/src/transpile/components/chart/bar-chart.transformer.js.map +1 -1
- rn-codegen/src/transpile/components/chart/bubble-chart.transformer.js +4 -2
- rn-codegen/src/transpile/components/chart/bubble-chart.transformer.js.map +1 -1
- rn-codegen/src/transpile/components/chart/column-chart.transformer.js +4 -2
- rn-codegen/src/transpile/components/chart/column-chart.transformer.js.map +1 -1
- rn-codegen/src/transpile/components/chart/donut-chart.transformer.js +4 -2
- rn-codegen/src/transpile/components/chart/donut-chart.transformer.js.map +1 -1
- rn-codegen/src/transpile/components/chart/line-chart.transformer.js +4 -2
- rn-codegen/src/transpile/components/chart/line-chart.transformer.js.map +1 -1
- rn-codegen/src/transpile/components/chart/pie-chart.transformer.js +4 -2
- rn-codegen/src/transpile/components/chart/pie-chart.transformer.js.map +1 -1
- rn-codegen/src/transpile/components/chart/stack-chart.transformer.js +4 -2
- rn-codegen/src/transpile/components/chart/stack-chart.transformer.js.map +1 -1
- rn-codegen/src/transpile/components/data/list/list-action-template.transformer.js +15 -0
- rn-codegen/src/transpile/components/data/list/list-action-template.transformer.js.map +1 -0
- rn-codegen/src/transpile/components/data/list/list-content.transformer.js +35 -0
- rn-codegen/src/transpile/components/data/list/list-content.transformer.js.map +1 -0
- rn-codegen/src/transpile/components/data/list/list-template.transformer.js +0 -25
- rn-codegen/src/transpile/components/data/list/list-template.transformer.js.map +1 -1
- rn-codegen/src/transpile/components/data/list.transformer.js +29 -3
- rn-codegen/src/transpile/components/data/list.transformer.js.map +1 -1
- rn-codegen/src/transpile/components/input/checkboxset.transformer.js +3 -1
- rn-codegen/src/transpile/components/input/checkboxset.transformer.js.map +1 -1
- rn-codegen/src/transpile/components/input/radioset.transformer.js +2 -1
- rn-codegen/src/transpile/components/input/radioset.transformer.js.map +1 -1
- rn-codegen/src/transpile/components/input/slider.transformer.js +15 -1
- rn-codegen/src/transpile/components/input/slider.transformer.js.map +1 -1
- rn-codegen/src/transpile/components/page/partial-container.transformer.js +1 -1
- rn-codegen/src/transpile/components/page/partial-container.transformer.js.map +1 -1
- rn-codegen/src/transpile/components/prefab/prefab.transformer.js +1 -1
- rn-codegen/src/transpile/components/prefab/prefab.transformer.js.map +1 -1
- rn-codegen/src/transpile/components/transform-register.js +4 -0
- rn-codegen/src/transpile/components/transform-register.js.map +1 -1
- rn-codegen/src/transpile/components/utils.js +20 -1
- rn-codegen/src/transpile/components/utils.js.map +1 -1
- rn-codegen/src/transpile/property/property-parser.js +21 -8
- rn-codegen/src/transpile/property/property-parser.js.map +1 -1
- rn-codegen/src/transpile/style/background-image.parser.js +1 -1
- rn-codegen/src/transpile/style/background-image.parser.js.map +1 -1
- rn-codegen/src/transpile/style/dimension-style.parser.js +5 -0
- rn-codegen/src/transpile/style/dimension-style.parser.js.map +1 -1
- rn-codegen/src/transpile/transpile.js +11 -4
- rn-codegen/src/transpile/transpile.js.map +1 -1
- rn-codegen/src/utils.js +1 -20
- rn-codegen/src/utils.js.map +1 -1
- rn-codegen/src/variables/variable.transformer.js +8 -1
- rn-codegen/src/variables/variable.transformer.js.map +1 -1
@@ -0,0 +1,60 @@
|
|
1
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
2
|
+
import * as React from 'react';
|
3
|
+
import { Platform, Pressable, StyleSheet } from 'react-native';
|
4
|
+
import Animated, { useAnimatedProps, useAnimatedStyle } from 'react-native-reanimated';
|
5
|
+
const PROGRESS_EPSILON = 0.05;
|
6
|
+
const Overlay = /*#__PURE__*/React.forwardRef(function Overlay(_ref, ref) {
|
7
|
+
let {
|
8
|
+
progress,
|
9
|
+
onPress,
|
10
|
+
style,
|
11
|
+
accessibilityLabel = 'Close drawer',
|
12
|
+
...props
|
13
|
+
} = _ref;
|
14
|
+
const animatedStyle = useAnimatedStyle(() => {
|
15
|
+
return {
|
16
|
+
opacity: progress.value,
|
17
|
+
// We don't want the user to be able to press through the overlay when drawer is open
|
18
|
+
// We can send the overlay behind the screen to avoid it
|
19
|
+
zIndex: progress.value > PROGRESS_EPSILON ? 0 : -1
|
20
|
+
};
|
21
|
+
}, [progress, PROGRESS_EPSILON]);
|
22
|
+
const animatedProps = useAnimatedProps(() => {
|
23
|
+
const active = progress.value > PROGRESS_EPSILON;
|
24
|
+
return {
|
25
|
+
pointerEvents: active ? 'auto' : 'none',
|
26
|
+
accessibilityElementsHidden: !active,
|
27
|
+
importantForAccessibility: active ? 'auto' : 'no-hide-descendants'
|
28
|
+
};
|
29
|
+
}, [progress, PROGRESS_EPSILON]);
|
30
|
+
return /*#__PURE__*/React.createElement(Animated.View, _extends({}, props, {
|
31
|
+
ref: ref,
|
32
|
+
style: [styles.overlay, overlayStyle, animatedStyle, style],
|
33
|
+
animatedProps: animatedProps
|
34
|
+
}), /*#__PURE__*/React.createElement(Pressable, {
|
35
|
+
onPress: onPress,
|
36
|
+
style: styles.pressable,
|
37
|
+
accessibilityRole: "button",
|
38
|
+
accessibilityLabel: accessibilityLabel
|
39
|
+
}));
|
40
|
+
});
|
41
|
+
const overlayStyle = Platform.select({
|
42
|
+
web: {
|
43
|
+
// Disable touch highlight on mobile Safari.
|
44
|
+
// WebkitTapHighlightColor must be used outside of StyleSheet.create because react-native-web will omit the property.
|
45
|
+
WebkitTapHighlightColor: 'transparent'
|
46
|
+
},
|
47
|
+
default: {}
|
48
|
+
});
|
49
|
+
const styles = StyleSheet.create({
|
50
|
+
overlay: {
|
51
|
+
...StyleSheet.absoluteFillObject,
|
52
|
+
backgroundColor: 'rgba(0, 0, 0, 0.5)'
|
53
|
+
},
|
54
|
+
pressable: {
|
55
|
+
flex: 1,
|
56
|
+
pointerEvents: 'auto'
|
57
|
+
}
|
58
|
+
});
|
59
|
+
export default Overlay;
|
60
|
+
//# sourceMappingURL=Overlay.js.map
|
@@ -136,6 +136,10 @@ class EsBuilder {
|
|
136
136
|
);
|
137
137
|
}`;
|
138
138
|
});
|
139
|
+
const target = `${__dirname}/../node_modules/react-native-web/dist/cjs/exports/BackHandler/index.js`;
|
140
|
+
await readAndReplaceFileContent(target, content => {
|
141
|
+
return content.replace('console.error', '// console.error');
|
142
|
+
});
|
139
143
|
console.log('Patched react-native-web');
|
140
144
|
}
|
141
145
|
|
@@ -147,6 +151,101 @@ class EsBuilder {
|
|
147
151
|
}
|
148
152
|
}
|
149
153
|
|
154
|
+
async patchReactNativeAssetRegistry() {
|
155
|
+
const content = `
|
156
|
+
/**
|
157
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
158
|
+
*
|
159
|
+
* This source code is licensed under the MIT license found in the
|
160
|
+
* LICENSE file in the root directory of this source tree.
|
161
|
+
*
|
162
|
+
* @flow strict
|
163
|
+
* @format
|
164
|
+
*/
|
165
|
+
|
166
|
+
'use strict';
|
167
|
+
|
168
|
+
const assets = [];
|
169
|
+
|
170
|
+
function registerAsset(asset) {
|
171
|
+
// push returns new array length, so the first asset will
|
172
|
+
// get id 1 (not 0) to make the value truthy
|
173
|
+
return assets.push(asset);
|
174
|
+
}
|
175
|
+
|
176
|
+
function getAssetByID(assetId) {
|
177
|
+
return assets[assetId - 1];
|
178
|
+
}
|
179
|
+
|
180
|
+
module.exports = {registerAsset, getAssetByID};
|
181
|
+
|
182
|
+
`;
|
183
|
+
fs.writeFileSync(`${__dirname}/../node_modules/@react-native/assets-registry/registry.js`, content);
|
184
|
+
const expoAssetRegistry = `${__dirname}/../node_modules/expo-asset/node_modules/@react-native/assets-registry/registry.js`;
|
185
|
+
readAndReplaceFileContent(expoAssetRegistry, () => content);
|
186
|
+
console.log('Patched @react-native/assets-registry');
|
187
|
+
}
|
188
|
+
|
189
|
+
async patchBabelExpoPreset() {
|
190
|
+
const target = `${__dirname}/../node_modules/babel-preset-expo/build/index.js`;
|
191
|
+
await readAndReplaceFileContent(target, content => {
|
192
|
+
return content.replace(
|
193
|
+
`(0, common_1.hasModule)('react-native-reanimated') &&`,
|
194
|
+
`//(0, common_1.hasModule)('react-native-reanimated') &&`)
|
195
|
+
.replace(
|
196
|
+
`platformOptions.reanimated !== false && [require.resolve('react-native-reanimated/plugin')],`,
|
197
|
+
`//platformOptions.reanimated !== false && [require.resolve('react-native-reanimated/plugin')],`
|
198
|
+
)
|
199
|
+
});
|
200
|
+
console.log('Patched babel-expo-preset');
|
201
|
+
}
|
202
|
+
|
203
|
+
async patchUUID() {
|
204
|
+
const target = `${__dirname}/../node_modules/expo-modules-core/build/uuid/uuid.web.js`;
|
205
|
+
await readAndReplaceFileContent(target, content => {
|
206
|
+
return content.replace(`require('crypto')`, 'crypto');
|
207
|
+
});
|
208
|
+
console.log('Patched UUID.');
|
209
|
+
}
|
210
|
+
|
211
|
+
async patchExpoRootComponent() {
|
212
|
+
const target = `${__dirname}/../node_modules/expo/build/launch/registerRootComponent.js`;
|
213
|
+
await readAndReplaceFileContent(target, content => {
|
214
|
+
return content.replace(`export default`,
|
215
|
+
`
|
216
|
+
const process = {env: {
|
217
|
+
NODE_ENV: 'development',
|
218
|
+
EXPO_PUBLIC_USE_STATIC: '0'
|
219
|
+
}};
|
220
|
+
export default `);
|
221
|
+
});
|
222
|
+
console.log('Patched Expo Root Component.');
|
223
|
+
}
|
224
|
+
|
225
|
+
async patchReactNavigation() {
|
226
|
+
// https://github.com/react-navigation/react-navigation/pull/11496/files
|
227
|
+
fs.copyFileSync(
|
228
|
+
`${__dirname}/@react-navigation/drawer/6.6.3/lib/module/views/modern/Drawer.js`,
|
229
|
+
`${__dirname}/../node_modules/@react-navigation/drawer/lib/module/views/modern/Drawer.js`
|
230
|
+
);
|
231
|
+
fs.copyFileSync(
|
232
|
+
`${__dirname}/@react-navigation/drawer/6.6.3/lib/module/views/modern/Overlay.js`,
|
233
|
+
`${__dirname}/../node_modules/@react-navigation/drawer/lib/module/views/modern/Overlay.js`
|
234
|
+
);
|
235
|
+
console.log('Patched React Navigation.');
|
236
|
+
}
|
237
|
+
|
238
|
+
async patchReactNativeReanimated() {
|
239
|
+
await readAndReplaceFileContent(`${__dirname}/../node_modules/react-native-reanimated/lib/module/reanimated2/PlatformChecker.js`, (c) => {
|
240
|
+
return c.replace(
|
241
|
+
'!!process.env.JEST_WORKER_ID',
|
242
|
+
'false; // !!process.env.JEST_WORKER_ID'
|
243
|
+
)
|
244
|
+
});
|
245
|
+
console.log('Patched React Native Reanimated.');
|
246
|
+
}
|
247
|
+
|
248
|
+
|
150
249
|
buildLibraries() {
|
151
250
|
const promises = [{
|
152
251
|
name: 'expo-web-browser',
|
@@ -182,6 +281,12 @@ class EsBuilder {
|
|
182
281
|
.then(() => this.patchReactNativeWeb())
|
183
282
|
.then(() => this.patchReactNativeAssets())
|
184
283
|
.then(() => this.patchCamera())
|
284
|
+
.then(() => this.patchReactNativeAssetRegistry())
|
285
|
+
.then(() => this.patchBabelExpoPreset())
|
286
|
+
.then(() => this.patchUUID())
|
287
|
+
.then(() => this.patchExpoRootComponent())
|
288
|
+
.then(() => this.patchReactNavigation())
|
289
|
+
.then(() => this.patchReactNativeReanimated())
|
185
290
|
.then(() => {
|
186
291
|
console.log('*********** LIBRARIES ARE BUILT FOR ESBUILD **************');
|
187
292
|
}, (e) => {
|
@@ -212,7 +317,11 @@ class EsBuilder {
|
|
212
317
|
esmodules: true
|
213
318
|
},
|
214
319
|
sourceMaps: 'inline',
|
215
|
-
plugins: [
|
320
|
+
plugins: [
|
321
|
+
__dirname + '/../scripts/wm-babel.transform.plugin.js',
|
322
|
+
'@babel/plugin-proposal-export-namespace-from',
|
323
|
+
'react-native-reanimated/plugin',
|
324
|
+
]
|
216
325
|
}
|
217
326
|
}), resolve({
|
218
327
|
'victory-native': 'victory'
|
@@ -229,7 +338,9 @@ class EsBuilder {
|
|
229
338
|
.then(() => {
|
230
339
|
console.timeEnd('react native with esbuild');
|
231
340
|
console.log('*********** REACT NATIVE ESBUILD SUCCESSFUL **************');
|
232
|
-
}).catch(() => {
|
341
|
+
}).catch((error) => {
|
342
|
+
console.log('*********** REACT PROJECT ESBUILD ERROR **************');
|
343
|
+
console.error(error);
|
233
344
|
console.timeEnd('react native with esbuild');
|
234
345
|
console.log('*********** REACT PROJECT ESBUILD FAILED **************');
|
235
346
|
});
|
@@ -11,6 +11,7 @@ module.exports = (async () => {
|
|
11
11
|
];
|
12
12
|
config.resolver.disableHierarchicalLookup = true;
|
13
13
|
config.transformer = {
|
14
|
+
...config.transformer,
|
14
15
|
babelTransformerPath: require.resolve('react-native-svg-transformer'),
|
15
16
|
getTransformOptions: async () => ({
|
16
17
|
transform: {
|
@@ -20,6 +21,7 @@ module.exports = (async () => {
|
|
20
21
|
})
|
21
22
|
}
|
22
23
|
config.resolver = {
|
24
|
+
...config.resolver,
|
23
25
|
assetExts: config.resolver.assetExts.filter(ext => ext !== 'svg'),
|
24
26
|
sourceExts: [...config.resolver.sourceExts, 'svg']
|
25
27
|
}
|