create-sitecore-jss 22.9.0 → 22.9.1-canary.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.
- package/LICENSE.MD +202 -202
- package/README.md +10 -10
- package/dist/templates/angular/src/assets/images/sc_logo.svg +52 -52
- package/dist/templates/angular-sxp/data/component-content/Styleguide/ContentReuse/LoremIpsumContentBlock/en.yml +9 -9
- package/dist/templates/angular-sxp/data/content/Styleguide/ContentListField/Item1/en.yml +6 -6
- package/dist/templates/angular-sxp/data/content/Styleguide/ContentListField/Item2/en.yml +6 -6
- package/dist/templates/angular-sxp/data/content/Styleguide/EditFrameDemo/Item1/en.yml +6 -6
- package/dist/templates/angular-sxp/data/content/Styleguide/EditFrameDemo/Item2/en.yml +6 -6
- package/dist/templates/angular-sxp/data/content/Styleguide/ItemLinkField/Item1/en.yml +6 -6
- package/dist/templates/angular-sxp/data/content/Styleguide/ItemLinkField/Item2/en.yml +6 -6
- package/dist/templates/angular-sxp/data/dictionary/en.yml +4 -4
- package/dist/templates/angular-sxp/data/dictionary/{{language}}.yml +4 -4
- package/dist/templates/angular-sxp/data/routes/en.yml +61 -61
- package/dist/templates/angular-sxp/data/routes/graphql/en.yml +27 -27
- package/dist/templates/angular-sxp/data/routes/graphql/sample-1/en.yml +9 -9
- package/dist/templates/angular-sxp/data/routes/graphql/sample-2/en.yml +9 -9
- package/dist/templates/angular-sxp/data/routes/styleguide/custom-route-type/en.yml +12 -12
- package/dist/templates/angular-sxp/data/routes/styleguide/en.yml +271 -271
- package/dist/templates/angular-sxp/data/routes/styleguide/{{language}}.yml +25 -25
- package/dist/templates/angular-sxp/data/routes/{{language}}.yml +4 -4
- package/dist/templates/angular-sxp/sitecore/config/{{appName}}.config +90 -90
- package/dist/templates/angular-sxp/sitecore/definitions/components/graph-ql-integrated-demo.sitecore.graphql +71 -71
- package/dist/templates/angular-sxp/sitecore/gitignore +2 -2
- package/dist/templates/nextjs/public/sc_logo.svg +52 -52
- package/dist/templates/nextjs-styleguide/data/component-content/Styleguide/ContentReuse/LoremIpsumContentBlock/en.yml +9 -9
- package/dist/templates/nextjs-styleguide/data/content/Styleguide/ContentListField/Item1/en.yml +6 -6
- package/dist/templates/nextjs-styleguide/data/content/Styleguide/ContentListField/Item2/en.yml +6 -6
- package/dist/templates/nextjs-styleguide/data/content/Styleguide/EditFrameDemo/Item1/en.yml +6 -6
- package/dist/templates/nextjs-styleguide/data/content/Styleguide/EditFrameDemo/Item2/en.yml +6 -6
- package/dist/templates/nextjs-styleguide/data/content/Styleguide/ItemLinkField/Item1/en.yml +6 -6
- package/dist/templates/nextjs-styleguide/data/content/Styleguide/ItemLinkField/Item2/en.yml +6 -6
- package/dist/templates/nextjs-styleguide/data/dictionary/en.yml +4 -4
- package/dist/templates/nextjs-styleguide/data/dictionary/{{language}}.yml +4 -4
- package/dist/templates/nextjs-styleguide/data/routes/en.yml +63 -63
- package/dist/templates/nextjs-styleguide/data/routes/graphql/en.yml +27 -27
- package/dist/templates/nextjs-styleguide/data/routes/graphql/sample-1/en.yml +9 -9
- package/dist/templates/nextjs-styleguide/data/routes/graphql/sample-2/en.yml +9 -9
- package/dist/templates/nextjs-styleguide/data/routes/styleguide/custom-route-type/en.yml +12 -12
- package/dist/templates/nextjs-styleguide/data/routes/styleguide/en.yml +259 -259
- package/dist/templates/nextjs-styleguide/data/routes/styleguide/{{language}}.yml +25 -25
- package/dist/templates/nextjs-styleguide/data/routes/{{language}}.yml +4 -4
- package/dist/templates/nextjs-styleguide-tracking/data/dictionary/en.yml +5 -5
- package/dist/templates/nextjs-styleguide-tracking/data/routes/tracking/en.yml +8 -8
- package/dist/templates/nextjs-sxa/src/assets/sass/components/_component-column-splitter.scss +14 -14
- package/dist/templates/nextjs-sxa/src/assets/sass/components/promo/_promo-shadow.scss +42 -42
- package/dist/templates/react/data/component-content/Styleguide/ContentReuse/LoremIpsumContentBlock/en.yml +9 -9
- package/dist/templates/react/data/content/Styleguide/ContentListField/Item1/en.yml +6 -6
- package/dist/templates/react/data/content/Styleguide/ContentListField/Item2/en.yml +6 -6
- package/dist/templates/react/data/content/Styleguide/EditFrameDemo/Item1/en.yml +6 -6
- package/dist/templates/react/data/content/Styleguide/EditFrameDemo/Item2/en.yml +6 -6
- package/dist/templates/react/data/content/Styleguide/ItemLinkField/Item1/en.yml +6 -6
- package/dist/templates/react/data/content/Styleguide/ItemLinkField/Item2/en.yml +6 -6
- package/dist/templates/react/data/dictionary/en.yml +4 -4
- package/dist/templates/react/data/dictionary/{{language}}.yml +4 -4
- package/dist/templates/react/data/routes/en.yml +61 -61
- package/dist/templates/react/data/routes/graphql/en.yml +27 -27
- package/dist/templates/react/data/routes/graphql/sample-1/en.yml +9 -9
- package/dist/templates/react/data/routes/graphql/sample-2/en.yml +9 -9
- package/dist/templates/react/data/routes/styleguide/custom-route-type/en.yml +12 -12
- package/dist/templates/react/data/routes/styleguide/en.yml +263 -263
- package/dist/templates/react/data/routes/styleguide/{{language}}.yml +26 -26
- package/dist/templates/react/data/routes/{{language}}.yml +4 -4
- package/dist/templates/react-native/.buckconfig +6 -6
- package/dist/templates/react-native/.eslintrc +74 -74
- package/dist/templates/react-native/.gitattributes +1 -1
- package/dist/templates/react-native/.prettierrc +9 -9
- package/dist/templates/react-native/.vscode/launch.json +42 -42
- package/dist/templates/react-native/.vscode/settings.json +1 -1
- package/dist/templates/react-native/LICENSE.txt +202 -202
- package/dist/templates/react-native/README.MD +115 -115
- package/dist/templates/react-native/android/app/BUCK +55 -55
- package/dist/templates/react-native/android/app/build.gradle +201 -201
- package/dist/templates/react-native/android/app/build_defs.bzl +19 -19
- package/dist/templates/react-native/android/app/proguard-rules.pro +10 -10
- package/dist/templates/react-native/android/app/src/debug/AndroidManifest.xml +8 -8
- package/dist/templates/react-native/android/app/src/main/AndroidManifest.xml +26 -26
- package/dist/templates/react-native/android/app/src/main/java/com/{{appName}}/MainActivity.java +15 -15
- package/dist/templates/react-native/android/app/src/main/java/com/{{appName}}/MainApplication.java +74 -74
- package/dist/templates/react-native/android/app/src/main/res/values/strings.xml +3 -3
- package/dist/templates/react-native/android/app/src/main/res/values/styles.xml +9 -9
- package/dist/templates/react-native/android/build.gradle +38 -38
- package/dist/templates/react-native/android/gradle/wrapper/gradle-wrapper.properties +5 -5
- package/dist/templates/react-native/android/gradle.properties +21 -21
- package/dist/templates/react-native/android/gradlew +188 -188
- package/dist/templates/react-native/android/gradlew.bat +100 -100
- package/dist/templates/react-native/android/settings.gradle +3 -3
- package/dist/templates/react-native/app.json +3 -3
- package/dist/templates/react-native/assets/img/sc_logo.svg +52 -52
- package/dist/templates/react-native/data/content/Styleguide/ItemLinkField/Item1/en.json +10 -10
- package/dist/templates/react-native/data/routes/en.json +22 -22
- package/dist/templates/react-native/data/routes/styleguide/en.json +227 -227
- package/dist/templates/react-native/data/routes/styleguide/{{language}}.json +31 -31
- package/dist/templates/react-native/data/routes/{{language}}.json +7 -7
- package/dist/templates/react-native/gitignore +60 -60
- package/dist/templates/react-native/ios/Podfile +53 -53
- package/dist/templates/react-native/ios/{{appName}}/AppDelegate.h +15 -15
- package/dist/templates/react-native/ios/{{appName}}/AppDelegate.m +42 -42
- package/dist/templates/react-native/ios/{{appName}}/Base.lproj/LaunchScreen.xib +42 -42
- package/dist/templates/react-native/ios/{{appName}}/Images.xcassets/AppIcon.appiconset/Contents.json +38 -38
- package/dist/templates/react-native/ios/{{appName}}/Images.xcassets/Contents.json +6 -6
- package/dist/templates/react-native/ios/{{appName}}/Info.plist +57 -57
- package/dist/templates/react-native/ios/{{appName}}/main.m +16 -16
- package/dist/templates/react-native/ios/{{appName}}-tvOS/Info.plist +53 -53
- package/dist/templates/react-native/ios/{{appName}}-tvOSTests/Info.plist +24 -24
- package/dist/templates/react-native/ios/{{appName}}.xcodeproj/xcshareddata/xcschemes/BasicSampleReactNative-tvOS.xcscheme +129 -129
- package/dist/templates/react-native/ios/{{appName}}.xcodeproj/xcshareddata/xcschemes/BasicSampleReactNative.xcscheme +129 -129
- package/dist/templates/react-native/ios/{{appName}}Tests/BasicSampleReactNativeTests.m +72 -72
- package/dist/templates/react-native/ios/{{appName}}Tests/Info.plist +24 -24
- package/dist/templates/react-native/package.json +78 -78
- package/dist/templates/react-native/sitecore/config/{{appName}}.config +47 -47
- package/dist/templates/react-native/sitecore/gitignore +2 -2
- package/dist/templates/vue/data/component-content/Styleguide/ContentReuse/LoremIpsumContentBlock/en.yml +9 -9
- package/dist/templates/vue/data/content/Styleguide/ContentListField/Item1/en.yml +6 -6
- package/dist/templates/vue/data/content/Styleguide/ContentListField/Item2/en.yml +6 -6
- package/dist/templates/vue/data/content/Styleguide/EditFrameDemo/Item1/en.yml +6 -6
- package/dist/templates/vue/data/content/Styleguide/EditFrameDemo/Item2/en.yml +6 -6
- package/dist/templates/vue/data/content/Styleguide/ItemLinkField/Item1/en.yml +6 -6
- package/dist/templates/vue/data/content/Styleguide/ItemLinkField/Item2/en.yml +6 -6
- package/dist/templates/vue/data/dictionary/en.yml +7 -7
- package/dist/templates/vue/data/dictionary/{{language}}.yml +7 -7
- package/dist/templates/vue/data/routes/en.yml +63 -63
- package/dist/templates/vue/data/routes/graphql/en.yml +34 -34
- package/dist/templates/vue/data/routes/graphql/sample-1/en.yml +9 -9
- package/dist/templates/vue/data/routes/graphql/sample-2/en.yml +9 -9
- package/dist/templates/vue/data/routes/styleguide/custom-route-type/en.yml +12 -12
- package/dist/templates/vue/data/routes/styleguide/en.yml +264 -264
- package/dist/templates/vue/data/routes/styleguide/{{language}}.yml +26 -26
- package/dist/templates/vue/data/routes/{{language}}.yml +4 -4
- package/dist/templates/vue/public/img/icons/safari-pinned-tab.svg +75 -75
- package/dist/templates/vue/src/assets/sc_logo.svg +52 -52
- package/package.json +2 -2
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "styleguide",
|
|
3
|
-
"displayName": "Styleguide",
|
|
4
|
-
"placeholders": {
|
|
5
|
-
"jss-main": [
|
|
6
|
-
{
|
|
7
|
-
"componentName": "Styleguide-FieldUsage-Text",
|
|
8
|
-
"fields": {
|
|
9
|
-
"heading": {
|
|
10
|
-
"value": "[<%- language %>] Single-Line Text"
|
|
11
|
-
},
|
|
12
|
-
"sample": {
|
|
13
|
-
"value": "[<%- language %>] This is a sample text field."
|
|
14
|
-
},
|
|
15
|
-
"sample2": {
|
|
16
|
-
"value": "[<%- language %>] This is another sample text field using rendering options. Cannot edit because editable=false."
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
"componentName": "Styleguide-Multilingual",
|
|
22
|
-
"fields": {
|
|
23
|
-
"heading": {
|
|
24
|
-
"value": "Sample translation for <%- language %>"
|
|
25
|
-
},
|
|
26
|
-
"sample": "This text can be translated in <%- language %>.yml"
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
]
|
|
30
|
-
}
|
|
31
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "styleguide",
|
|
3
|
+
"displayName": "Styleguide",
|
|
4
|
+
"placeholders": {
|
|
5
|
+
"jss-main": [
|
|
6
|
+
{
|
|
7
|
+
"componentName": "Styleguide-FieldUsage-Text",
|
|
8
|
+
"fields": {
|
|
9
|
+
"heading": {
|
|
10
|
+
"value": "[<%- language %>] Single-Line Text"
|
|
11
|
+
},
|
|
12
|
+
"sample": {
|
|
13
|
+
"value": "[<%- language %>] This is a sample text field."
|
|
14
|
+
},
|
|
15
|
+
"sample2": {
|
|
16
|
+
"value": "[<%- language %>] This is another sample text field using rendering options. Cannot edit because editable=false."
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"componentName": "Styleguide-Multilingual",
|
|
22
|
+
"fields": {
|
|
23
|
+
"heading": {
|
|
24
|
+
"value": "Sample translation for <%- language %>"
|
|
25
|
+
},
|
|
26
|
+
"sample": "This text can be translated in <%- language %>.yml"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "home",
|
|
3
|
-
"displayName": "Home",
|
|
4
|
-
"placeholders": {
|
|
5
|
-
"jss-main": []
|
|
6
|
-
}
|
|
7
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "home",
|
|
3
|
+
"displayName": "Home",
|
|
4
|
+
"placeholders": {
|
|
5
|
+
"jss-main": []
|
|
6
|
+
}
|
|
7
|
+
}
|
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
# OSX
|
|
2
|
-
#
|
|
3
|
-
.DS_Store
|
|
4
|
-
|
|
5
|
-
# Xcode
|
|
6
|
-
#
|
|
7
|
-
ios/**/build/
|
|
8
|
-
*.pbxuser
|
|
9
|
-
!default.pbxuser
|
|
10
|
-
*.mode1v3
|
|
11
|
-
!default.mode1v3
|
|
12
|
-
*.mode2v3
|
|
13
|
-
!default.mode2v3
|
|
14
|
-
*.perspectivev3
|
|
15
|
-
!default.perspectivev3
|
|
16
|
-
xcuserdata
|
|
17
|
-
*.xccheckout
|
|
18
|
-
*.moved-aside
|
|
19
|
-
DerivedData
|
|
20
|
-
*.hmap
|
|
21
|
-
*.ipa
|
|
22
|
-
*.xcuserstate
|
|
23
|
-
project.xcworkspace
|
|
24
|
-
|
|
25
|
-
# Android/IntelliJ
|
|
26
|
-
#
|
|
27
|
-
android/**/build/
|
|
28
|
-
.idea
|
|
29
|
-
.gradle
|
|
30
|
-
local.properties
|
|
31
|
-
*.iml
|
|
32
|
-
|
|
33
|
-
# node.js
|
|
34
|
-
#
|
|
35
|
-
node_modules/
|
|
36
|
-
*.log
|
|
37
|
-
|
|
38
|
-
# BUCK
|
|
39
|
-
buck-out/
|
|
40
|
-
\.buckd/
|
|
41
|
-
*.keystore
|
|
42
|
-
!debug.keystore
|
|
43
|
-
|
|
44
|
-
# fastlane
|
|
45
|
-
#
|
|
46
|
-
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
|
|
47
|
-
# screenshots whenever they are needed.
|
|
48
|
-
# For more information about the recommended setup visit:
|
|
49
|
-
# https://docs.fastlane.tools/best-practices/source-control/
|
|
50
|
-
|
|
51
|
-
*/fastlane/report.xml
|
|
52
|
-
*/fastlane/Preview.html
|
|
53
|
-
*/fastlane/screenshots
|
|
54
|
-
|
|
55
|
-
# CocoaPods
|
|
56
|
-
/ios/Pods/
|
|
57
|
-
|
|
58
|
-
# sitecore
|
|
59
|
-
|
|
60
|
-
*.deploysecret.config
|
|
1
|
+
# OSX
|
|
2
|
+
#
|
|
3
|
+
.DS_Store
|
|
4
|
+
|
|
5
|
+
# Xcode
|
|
6
|
+
#
|
|
7
|
+
ios/**/build/
|
|
8
|
+
*.pbxuser
|
|
9
|
+
!default.pbxuser
|
|
10
|
+
*.mode1v3
|
|
11
|
+
!default.mode1v3
|
|
12
|
+
*.mode2v3
|
|
13
|
+
!default.mode2v3
|
|
14
|
+
*.perspectivev3
|
|
15
|
+
!default.perspectivev3
|
|
16
|
+
xcuserdata
|
|
17
|
+
*.xccheckout
|
|
18
|
+
*.moved-aside
|
|
19
|
+
DerivedData
|
|
20
|
+
*.hmap
|
|
21
|
+
*.ipa
|
|
22
|
+
*.xcuserstate
|
|
23
|
+
project.xcworkspace
|
|
24
|
+
|
|
25
|
+
# Android/IntelliJ
|
|
26
|
+
#
|
|
27
|
+
android/**/build/
|
|
28
|
+
.idea
|
|
29
|
+
.gradle
|
|
30
|
+
local.properties
|
|
31
|
+
*.iml
|
|
32
|
+
|
|
33
|
+
# node.js
|
|
34
|
+
#
|
|
35
|
+
node_modules/
|
|
36
|
+
*.log
|
|
37
|
+
|
|
38
|
+
# BUCK
|
|
39
|
+
buck-out/
|
|
40
|
+
\.buckd/
|
|
41
|
+
*.keystore
|
|
42
|
+
!debug.keystore
|
|
43
|
+
|
|
44
|
+
# fastlane
|
|
45
|
+
#
|
|
46
|
+
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
|
|
47
|
+
# screenshots whenever they are needed.
|
|
48
|
+
# For more information about the recommended setup visit:
|
|
49
|
+
# https://docs.fastlane.tools/best-practices/source-control/
|
|
50
|
+
|
|
51
|
+
*/fastlane/report.xml
|
|
52
|
+
*/fastlane/Preview.html
|
|
53
|
+
*/fastlane/screenshots
|
|
54
|
+
|
|
55
|
+
# CocoaPods
|
|
56
|
+
/ios/Pods/
|
|
57
|
+
|
|
58
|
+
# sitecore
|
|
59
|
+
|
|
60
|
+
*.deploysecret.config
|
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
platform :ios, '9.0'
|
|
2
|
-
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
|
|
3
|
-
|
|
4
|
-
target '<%- helper.getPascalCaseName(appName) %>' do
|
|
5
|
-
# Pods for <%- helper.getPascalCaseName(appName) %>
|
|
6
|
-
pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector"
|
|
7
|
-
pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec"
|
|
8
|
-
pod 'RCTRequired', :path => "../node_modules/react-native/Libraries/RCTRequired"
|
|
9
|
-
pod 'RCTTypeSafety', :path => "../node_modules/react-native/Libraries/TypeSafety"
|
|
10
|
-
pod 'React', :path => '../node_modules/react-native/'
|
|
11
|
-
pod 'React-Core', :path => '../node_modules/react-native/'
|
|
12
|
-
pod 'React-CoreModules', :path => '../node_modules/react-native/React/CoreModules'
|
|
13
|
-
pod 'React-Core/DevSupport', :path => '../node_modules/react-native/'
|
|
14
|
-
pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS'
|
|
15
|
-
pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation'
|
|
16
|
-
pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob'
|
|
17
|
-
pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image'
|
|
18
|
-
pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS'
|
|
19
|
-
pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network'
|
|
20
|
-
pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings'
|
|
21
|
-
pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text'
|
|
22
|
-
pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration'
|
|
23
|
-
pod 'React-Core/RCTWebSocket', :path => '../node_modules/react-native/'
|
|
24
|
-
|
|
25
|
-
pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact'
|
|
26
|
-
pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi'
|
|
27
|
-
pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor'
|
|
28
|
-
pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector'
|
|
29
|
-
pod 'ReactCommon/jscallinvoker', :path => "../node_modules/react-native/ReactCommon"
|
|
30
|
-
pod 'ReactCommon/turbomodule/core', :path => "../node_modules/react-native/ReactCommon"
|
|
31
|
-
pod 'Yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
|
|
32
|
-
|
|
33
|
-
pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
|
|
34
|
-
pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
|
|
35
|
-
pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
|
|
36
|
-
|
|
37
|
-
target '<%- helper.getPascalCaseName(appName) %>Tests' do
|
|
38
|
-
inherit! :search_paths
|
|
39
|
-
# Pods for testing
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
use_native_modules!
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
target '<%- helper.getPascalCaseName(appName) %>-tvOS' do
|
|
46
|
-
# Pods for <%- helper.getPascalCaseName(appName) %>-tvOS
|
|
47
|
-
|
|
48
|
-
target '<%- helper.getPascalCaseName(appName) %>-tvOSTests' do
|
|
49
|
-
inherit! :search_paths
|
|
50
|
-
# Pods for testing
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
end
|
|
1
|
+
platform :ios, '9.0'
|
|
2
|
+
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
|
|
3
|
+
|
|
4
|
+
target '<%- helper.getPascalCaseName(appName) %>' do
|
|
5
|
+
# Pods for <%- helper.getPascalCaseName(appName) %>
|
|
6
|
+
pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector"
|
|
7
|
+
pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec"
|
|
8
|
+
pod 'RCTRequired', :path => "../node_modules/react-native/Libraries/RCTRequired"
|
|
9
|
+
pod 'RCTTypeSafety', :path => "../node_modules/react-native/Libraries/TypeSafety"
|
|
10
|
+
pod 'React', :path => '../node_modules/react-native/'
|
|
11
|
+
pod 'React-Core', :path => '../node_modules/react-native/'
|
|
12
|
+
pod 'React-CoreModules', :path => '../node_modules/react-native/React/CoreModules'
|
|
13
|
+
pod 'React-Core/DevSupport', :path => '../node_modules/react-native/'
|
|
14
|
+
pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS'
|
|
15
|
+
pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation'
|
|
16
|
+
pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob'
|
|
17
|
+
pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image'
|
|
18
|
+
pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS'
|
|
19
|
+
pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network'
|
|
20
|
+
pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings'
|
|
21
|
+
pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text'
|
|
22
|
+
pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration'
|
|
23
|
+
pod 'React-Core/RCTWebSocket', :path => '../node_modules/react-native/'
|
|
24
|
+
|
|
25
|
+
pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact'
|
|
26
|
+
pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi'
|
|
27
|
+
pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor'
|
|
28
|
+
pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector'
|
|
29
|
+
pod 'ReactCommon/jscallinvoker', :path => "../node_modules/react-native/ReactCommon"
|
|
30
|
+
pod 'ReactCommon/turbomodule/core', :path => "../node_modules/react-native/ReactCommon"
|
|
31
|
+
pod 'Yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
|
|
32
|
+
|
|
33
|
+
pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
|
|
34
|
+
pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
|
|
35
|
+
pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
|
|
36
|
+
|
|
37
|
+
target '<%- helper.getPascalCaseName(appName) %>Tests' do
|
|
38
|
+
inherit! :search_paths
|
|
39
|
+
# Pods for testing
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
use_native_modules!
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
target '<%- helper.getPascalCaseName(appName) %>-tvOS' do
|
|
46
|
+
# Pods for <%- helper.getPascalCaseName(appName) %>-tvOS
|
|
47
|
+
|
|
48
|
+
target '<%- helper.getPascalCaseName(appName) %>-tvOSTests' do
|
|
49
|
+
inherit! :search_paths
|
|
50
|
+
# Pods for testing
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
end
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
#import <React/RCTBridgeDelegate.h>
|
|
9
|
-
#import <UIKit/UIKit.h>
|
|
10
|
-
|
|
11
|
-
@interface AppDelegate : UIResponder <UIApplicationDelegate, RCTBridgeDelegate>
|
|
12
|
-
|
|
13
|
-
@property (nonatomic, strong) UIWindow *window;
|
|
14
|
-
|
|
15
|
-
@end
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#import <React/RCTBridgeDelegate.h>
|
|
9
|
+
#import <UIKit/UIKit.h>
|
|
10
|
+
|
|
11
|
+
@interface AppDelegate : UIResponder <UIApplicationDelegate, RCTBridgeDelegate>
|
|
12
|
+
|
|
13
|
+
@property (nonatomic, strong) UIWindow *window;
|
|
14
|
+
|
|
15
|
+
@end
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
#import "AppDelegate.h"
|
|
9
|
-
|
|
10
|
-
#import <React/RCTBridge.h>
|
|
11
|
-
#import <React/RCTBundleURLProvider.h>
|
|
12
|
-
#import <React/RCTRootView.h>
|
|
13
|
-
|
|
14
|
-
@implementation AppDelegate
|
|
15
|
-
|
|
16
|
-
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
|
|
17
|
-
{
|
|
18
|
-
RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions];
|
|
19
|
-
RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge
|
|
20
|
-
moduleName:@"<%- helper.getPascalCaseName(appName) %>"
|
|
21
|
-
initialProperties:nil];
|
|
22
|
-
|
|
23
|
-
rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];
|
|
24
|
-
|
|
25
|
-
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
|
|
26
|
-
UIViewController *rootViewController = [UIViewController new];
|
|
27
|
-
rootViewController.view = rootView;
|
|
28
|
-
self.window.rootViewController = rootViewController;
|
|
29
|
-
[self.window makeKeyAndVisible];
|
|
30
|
-
return YES;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
|
|
34
|
-
{
|
|
35
|
-
#if DEBUG
|
|
36
|
-
return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
|
|
37
|
-
#else
|
|
38
|
-
return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
|
|
39
|
-
#endif
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
@end
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#import "AppDelegate.h"
|
|
9
|
+
|
|
10
|
+
#import <React/RCTBridge.h>
|
|
11
|
+
#import <React/RCTBundleURLProvider.h>
|
|
12
|
+
#import <React/RCTRootView.h>
|
|
13
|
+
|
|
14
|
+
@implementation AppDelegate
|
|
15
|
+
|
|
16
|
+
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
|
|
17
|
+
{
|
|
18
|
+
RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions];
|
|
19
|
+
RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge
|
|
20
|
+
moduleName:@"<%- helper.getPascalCaseName(appName) %>"
|
|
21
|
+
initialProperties:nil];
|
|
22
|
+
|
|
23
|
+
rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];
|
|
24
|
+
|
|
25
|
+
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
|
|
26
|
+
UIViewController *rootViewController = [UIViewController new];
|
|
27
|
+
rootViewController.view = rootView;
|
|
28
|
+
self.window.rootViewController = rootViewController;
|
|
29
|
+
[self.window makeKeyAndVisible];
|
|
30
|
+
return YES;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
|
|
34
|
+
{
|
|
35
|
+
#if DEBUG
|
|
36
|
+
return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
|
|
37
|
+
#else
|
|
38
|
+
return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
|
|
39
|
+
#endif
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
@end
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
-
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="7702" systemVersion="14D136" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES">
|
|
3
|
-
<dependencies>
|
|
4
|
-
<deployment identifier="iOS"/>
|
|
5
|
-
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7701"/>
|
|
6
|
-
<capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
|
|
7
|
-
</dependencies>
|
|
8
|
-
<objects>
|
|
9
|
-
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
|
|
10
|
-
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
|
11
|
-
<view contentMode="scaleToFill" id="iN0-l3-epB">
|
|
12
|
-
<rect key="frame" x="0.0" y="0.0" width="480" height="480"/>
|
|
13
|
-
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
|
14
|
-
<subviews>
|
|
15
|
-
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Powered by React Native" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="8ie-xW-0ye">
|
|
16
|
-
<rect key="frame" x="20" y="439" width="441" height="21"/>
|
|
17
|
-
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
|
18
|
-
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
|
|
19
|
-
<nil key="highlightedColor"/>
|
|
20
|
-
</label>
|
|
21
|
-
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="<%- helper.getPascalCaseName(appName) %>" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="kId-c2-rCX">
|
|
22
|
-
<rect key="frame" x="20" y="140" width="441" height="43"/>
|
|
23
|
-
<fontDescription key="fontDescription" type="boldSystem" pointSize="36"/>
|
|
24
|
-
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
|
|
25
|
-
<nil key="highlightedColor"/>
|
|
26
|
-
</label>
|
|
27
|
-
</subviews>
|
|
28
|
-
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
|
|
29
|
-
<constraints>
|
|
30
|
-
<constraint firstItem="kId-c2-rCX" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="bottom" multiplier="1/3" constant="1" id="5cJ-9S-tgC"/>
|
|
31
|
-
<constraint firstAttribute="centerX" secondItem="kId-c2-rCX" secondAttribute="centerX" id="Koa-jz-hwk"/>
|
|
32
|
-
<constraint firstAttribute="bottom" secondItem="8ie-xW-0ye" secondAttribute="bottom" constant="20" id="Kzo-t9-V3l"/>
|
|
33
|
-
<constraint firstItem="8ie-xW-0ye" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="MfP-vx-nX0"/>
|
|
34
|
-
<constraint firstAttribute="centerX" secondItem="8ie-xW-0ye" secondAttribute="centerX" id="ZEH-qu-HZ9"/>
|
|
35
|
-
<constraint firstItem="kId-c2-rCX" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="fvb-Df-36g"/>
|
|
36
|
-
</constraints>
|
|
37
|
-
<nil key="simulatedStatusBarMetrics"/>
|
|
38
|
-
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
|
|
39
|
-
<point key="canvasLocation" x="548" y="455"/>
|
|
40
|
-
</view>
|
|
41
|
-
</objects>
|
|
42
|
-
</document>
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="7702" systemVersion="14D136" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES">
|
|
3
|
+
<dependencies>
|
|
4
|
+
<deployment identifier="iOS"/>
|
|
5
|
+
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7701"/>
|
|
6
|
+
<capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
|
|
7
|
+
</dependencies>
|
|
8
|
+
<objects>
|
|
9
|
+
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
|
|
10
|
+
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
|
11
|
+
<view contentMode="scaleToFill" id="iN0-l3-epB">
|
|
12
|
+
<rect key="frame" x="0.0" y="0.0" width="480" height="480"/>
|
|
13
|
+
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
|
14
|
+
<subviews>
|
|
15
|
+
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Powered by React Native" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="8ie-xW-0ye">
|
|
16
|
+
<rect key="frame" x="20" y="439" width="441" height="21"/>
|
|
17
|
+
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
|
18
|
+
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
|
|
19
|
+
<nil key="highlightedColor"/>
|
|
20
|
+
</label>
|
|
21
|
+
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="<%- helper.getPascalCaseName(appName) %>" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="kId-c2-rCX">
|
|
22
|
+
<rect key="frame" x="20" y="140" width="441" height="43"/>
|
|
23
|
+
<fontDescription key="fontDescription" type="boldSystem" pointSize="36"/>
|
|
24
|
+
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
|
|
25
|
+
<nil key="highlightedColor"/>
|
|
26
|
+
</label>
|
|
27
|
+
</subviews>
|
|
28
|
+
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
|
|
29
|
+
<constraints>
|
|
30
|
+
<constraint firstItem="kId-c2-rCX" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="bottom" multiplier="1/3" constant="1" id="5cJ-9S-tgC"/>
|
|
31
|
+
<constraint firstAttribute="centerX" secondItem="kId-c2-rCX" secondAttribute="centerX" id="Koa-jz-hwk"/>
|
|
32
|
+
<constraint firstAttribute="bottom" secondItem="8ie-xW-0ye" secondAttribute="bottom" constant="20" id="Kzo-t9-V3l"/>
|
|
33
|
+
<constraint firstItem="8ie-xW-0ye" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="MfP-vx-nX0"/>
|
|
34
|
+
<constraint firstAttribute="centerX" secondItem="8ie-xW-0ye" secondAttribute="centerX" id="ZEH-qu-HZ9"/>
|
|
35
|
+
<constraint firstItem="kId-c2-rCX" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="fvb-Df-36g"/>
|
|
36
|
+
</constraints>
|
|
37
|
+
<nil key="simulatedStatusBarMetrics"/>
|
|
38
|
+
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
|
|
39
|
+
<point key="canvasLocation" x="548" y="455"/>
|
|
40
|
+
</view>
|
|
41
|
+
</objects>
|
|
42
|
+
</document>
|
package/dist/templates/react-native/ios/{{appName}}/Images.xcassets/AppIcon.appiconset/Contents.json
CHANGED
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
{
|
|
2
|
-
"images": [
|
|
3
|
-
{
|
|
4
|
-
"idiom": "iphone",
|
|
5
|
-
"size": "29x29",
|
|
6
|
-
"scale": "2x"
|
|
7
|
-
},
|
|
8
|
-
{
|
|
9
|
-
"idiom": "iphone",
|
|
10
|
-
"size": "29x29",
|
|
11
|
-
"scale": "3x"
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"idiom": "iphone",
|
|
15
|
-
"size": "40x40",
|
|
16
|
-
"scale": "2x"
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
"idiom": "iphone",
|
|
20
|
-
"size": "40x40",
|
|
21
|
-
"scale": "3x"
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"idiom": "iphone",
|
|
25
|
-
"size": "60x60",
|
|
26
|
-
"scale": "2x"
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
"idiom": "iphone",
|
|
30
|
-
"size": "60x60",
|
|
31
|
-
"scale": "3x"
|
|
32
|
-
}
|
|
33
|
-
],
|
|
34
|
-
"info": {
|
|
35
|
-
"version": 1,
|
|
36
|
-
"author": "xcode"
|
|
37
|
-
}
|
|
38
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"images": [
|
|
3
|
+
{
|
|
4
|
+
"idiom": "iphone",
|
|
5
|
+
"size": "29x29",
|
|
6
|
+
"scale": "2x"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"idiom": "iphone",
|
|
10
|
+
"size": "29x29",
|
|
11
|
+
"scale": "3x"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"idiom": "iphone",
|
|
15
|
+
"size": "40x40",
|
|
16
|
+
"scale": "2x"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"idiom": "iphone",
|
|
20
|
+
"size": "40x40",
|
|
21
|
+
"scale": "3x"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"idiom": "iphone",
|
|
25
|
+
"size": "60x60",
|
|
26
|
+
"scale": "2x"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"idiom": "iphone",
|
|
30
|
+
"size": "60x60",
|
|
31
|
+
"scale": "3x"
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
"info": {
|
|
35
|
+
"version": 1,
|
|
36
|
+
"author": "xcode"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
{
|
|
2
|
-
"info": {
|
|
3
|
-
"version": 1,
|
|
4
|
-
"author": "xcode"
|
|
5
|
-
}
|
|
6
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"info": {
|
|
3
|
+
"version": 1,
|
|
4
|
+
"author": "xcode"
|
|
5
|
+
}
|
|
6
|
+
}
|