@teardown/cli 2.0.61 → 2.0.63
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.
- package/package.json +2 -2
- package/templates/.watchmanconfig +1 -0
- package/templates/Gemfile +14 -1
- package/templates/index.ts +11 -0
- package/templates/metro.config.js +30 -2
- package/templates/package.json +9 -8
- package/templates/src/index.tsx +1 -7
- package/templates/index.js +0 -7
- package/templates/react-native.config.js +0 -8
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teardown/cli",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.63",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./src/index.ts",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
},
|
|
72
72
|
"devDependencies": {
|
|
73
73
|
"@biomejs/biome": "2.3.11",
|
|
74
|
-
"@teardown/tsconfig": "2.0.
|
|
74
|
+
"@teardown/tsconfig": "2.0.63",
|
|
75
75
|
"@types/bun": "1.3.5",
|
|
76
76
|
"@types/ejs": "^3.1.5",
|
|
77
77
|
"typescript": "5.9.3"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
package/templates/Gemfile
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
1
|
source 'https://rubygems.org'
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
|
|
4
|
+
ruby ">= 2.6.10"
|
|
5
|
+
|
|
6
|
+
# Exclude problematic versions of cocoapods and activesupport that causes build failures.
|
|
7
|
+
gem 'cocoapods', '>= 1.13', '!= 1.15.0', '!= 1.15.1'
|
|
8
|
+
gem 'activesupport', '>= 6.1.7.5', '!= 7.1.0'
|
|
9
|
+
gem 'xcodeproj', '< 1.26.0'
|
|
10
|
+
gem 'concurrent-ruby', '< 1.3.4'
|
|
11
|
+
|
|
12
|
+
# Ruby 3.4.0 has removed some libraries from the standard library.
|
|
13
|
+
gem 'bigdecimal'
|
|
14
|
+
gem 'logger'
|
|
15
|
+
gem 'benchmark'
|
|
16
|
+
gem 'mutex_m'
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* App Entry Point
|
|
3
|
+
*
|
|
4
|
+
* This file registers the root component with React Native's AppRegistry.
|
|
5
|
+
* The app is wrapped with DevClientProvider for development tools.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { AppRegistry } from "react-native";
|
|
9
|
+
import { Root } from "./src";
|
|
10
|
+
|
|
11
|
+
AppRegistry.registerComponent("<%= appName %>", () => Root);
|
|
@@ -25,7 +25,7 @@ const { getDefaultConfig, mergeConfig } = require("@react-native/metro-config");
|
|
|
25
25
|
*/
|
|
26
26
|
const config = {};
|
|
27
27
|
|
|
28
|
-
// First apply Teardown config, then Navigation
|
|
28
|
+
// First apply Teardown config, then Navigation
|
|
29
29
|
const teardownConfig = withTeardown(mergeConfig(getDefaultConfig(__dirname), config));
|
|
30
30
|
|
|
31
31
|
const navigationConfig = withTeardownNavigation(teardownConfig, {
|
|
@@ -35,7 +35,35 @@ const navigationConfig = withTeardownNavigation(teardownConfig, {
|
|
|
35
35
|
verbose: false,
|
|
36
36
|
});
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
/**
|
|
39
|
+
* Wrap resolvers with null-handling before Uniwind.
|
|
40
|
+
* Uniwind doesn't handle null returns from resolvers, so we ensure
|
|
41
|
+
* any null returns are converted to Metro's default resolution.
|
|
42
|
+
*/
|
|
43
|
+
const withNullSafeResolver = (inputConfig) => {
|
|
44
|
+
const existingResolver = inputConfig.resolver?.resolveRequest;
|
|
45
|
+
if (!existingResolver) return inputConfig;
|
|
46
|
+
|
|
47
|
+
return {
|
|
48
|
+
...inputConfig,
|
|
49
|
+
resolver: {
|
|
50
|
+
...inputConfig.resolver,
|
|
51
|
+
resolveRequest: (context, moduleName, platform) => {
|
|
52
|
+
const result = existingResolver(context, moduleName, platform);
|
|
53
|
+
// If resolver returns null, use Metro's internal resolver
|
|
54
|
+
if (result === null) {
|
|
55
|
+
return context.resolveRequest(context, moduleName, platform);
|
|
56
|
+
}
|
|
57
|
+
return result;
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
// Apply null-safe wrapper before Uniwind (which expects non-null results)
|
|
64
|
+
const safeConfig = withNullSafeResolver(navigationConfig);
|
|
65
|
+
|
|
66
|
+
module.exports = withUniwindConfig(safeConfig, {
|
|
39
67
|
cssEntryFile: "./src/global.css",
|
|
40
68
|
dtsFile: "./src/uniwind-types.d.ts",
|
|
41
69
|
});
|
package/templates/package.json
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
"name": "<%= slug %>",
|
|
3
3
|
"version": "<%= version %>",
|
|
4
4
|
"private": true,
|
|
5
|
+
"main": "./src/index.tsx",
|
|
5
6
|
"scripts": {
|
|
6
7
|
"dev": "teardown dev",
|
|
7
8
|
"ios": "teardown run ios",
|
|
@@ -18,8 +19,8 @@
|
|
|
18
19
|
"@teardown/dev-client": "<%= cliVersion %>",
|
|
19
20
|
"@teardown/navigation": "<%= cliVersion %>",
|
|
20
21
|
"heroui-native": "^1.0.0-beta.12",
|
|
21
|
-
"react": "
|
|
22
|
-
"react-native": "0.
|
|
22
|
+
"react": "19.2.0",
|
|
23
|
+
"react-native": "0.83.1",
|
|
23
24
|
"react-native-gesture-handler": "^2.28.0",
|
|
24
25
|
"react-native-mmkv": "^3.2.0",
|
|
25
26
|
"react-native-reanimated": "~4.1.1",
|
|
@@ -37,9 +38,9 @@
|
|
|
37
38
|
"@babel/preset-env": "^7.26.0",
|
|
38
39
|
"@babel/runtime": "^7.26.0",
|
|
39
40
|
"@ecrindigital/facetpack": "^0.2.0",
|
|
40
|
-
"@react-native-community/cli": "
|
|
41
|
-
"@react-native-community/cli-platform-android": "
|
|
42
|
-
"@react-native-community/cli-platform-ios": "
|
|
41
|
+
"@react-native-community/cli": "20.0.0",
|
|
42
|
+
"@react-native-community/cli-platform-android": "20.0.0",
|
|
43
|
+
"@react-native-community/cli-platform-ios": "20.0.0",
|
|
43
44
|
"@react-native/babel-preset": "0.78.2",
|
|
44
45
|
"@react-native/eslint-config": "0.78.2",
|
|
45
46
|
"@react-native/metro-config": "0.78.2",
|
|
@@ -47,14 +48,14 @@
|
|
|
47
48
|
"@teardown/cli": "<%= cliVersion %>",
|
|
48
49
|
"@teardown/metro-config": "<%= cliVersion %>",
|
|
49
50
|
"@teardown/navigation-metro": "<%= cliVersion %>",
|
|
50
|
-
"@types/react": "^
|
|
51
|
-
"@types/react-test-renderer": "^
|
|
51
|
+
"@types/react": "^19.2.0",
|
|
52
|
+
"@types/react-test-renderer": "^19.1.0",
|
|
52
53
|
"babel-plugin-module-resolver": "^5.0.2",
|
|
53
54
|
"eslint": "^8.57.0",
|
|
54
55
|
"jest": "^29.7.0",
|
|
55
56
|
"prettier": "3.4.2",
|
|
56
57
|
"react-test-renderer": "18.3.1",
|
|
57
|
-
"typescript": "
|
|
58
|
+
"typescript": "^5.8.3"
|
|
58
59
|
},
|
|
59
60
|
"engines": {
|
|
60
61
|
"node": ">=18"
|
package/templates/src/index.tsx
CHANGED
|
@@ -13,16 +13,10 @@ import { App } from "./app";
|
|
|
13
13
|
/**
|
|
14
14
|
* Root component with development client wrapper
|
|
15
15
|
*/
|
|
16
|
-
function Root() {
|
|
16
|
+
export function Root() {
|
|
17
17
|
return (
|
|
18
18
|
<DevClientProvider config={devClientConfig}>
|
|
19
19
|
<App />
|
|
20
20
|
</DevClientProvider>
|
|
21
21
|
);
|
|
22
22
|
}
|
|
23
|
-
|
|
24
|
-
AppRegistry.registerComponent("<%= appName %>", () => Root);
|
|
25
|
-
|
|
26
|
-
// Export core modules for external use
|
|
27
|
-
export * from "./core";
|
|
28
|
-
export * from "./types";
|
package/templates/index.js
DELETED