├── .github ├── commit-convention.md ├── contributing.md └── 新一代Hybrid框架.md ├── .gitignore ├── .travis.yml ├── Example ├── Podfile ├── Podfile.lock ├── Pods │ ├── Local Podspecs │ │ └── SYWebViewBridge.podspec.json │ ├── Manifest.lock │ ├── Pods.xcodeproj │ │ └── project.pbxproj │ └── Target Support Files │ │ ├── Pods-SYWebViewBridge_Example │ │ ├── Pods-SYWebViewBridge_Example-Info.plist │ │ ├── Pods-SYWebViewBridge_Example-acknowledgements.markdown │ │ ├── Pods-SYWebViewBridge_Example-acknowledgements.plist │ │ ├── Pods-SYWebViewBridge_Example-dummy.m │ │ ├── Pods-SYWebViewBridge_Example-frameworks.sh │ │ ├── Pods-SYWebViewBridge_Example-umbrella.h │ │ ├── Pods-SYWebViewBridge_Example.debug.xcconfig │ │ ├── Pods-SYWebViewBridge_Example.modulemap │ │ └── Pods-SYWebViewBridge_Example.release.xcconfig │ │ ├── Pods-SYWebViewBridge_Tests │ │ ├── Pods-SYWebViewBridge_Tests-Info.plist │ │ ├── Pods-SYWebViewBridge_Tests-acknowledgements.markdown │ │ ├── Pods-SYWebViewBridge_Tests-acknowledgements.plist │ │ ├── Pods-SYWebViewBridge_Tests-dummy.m │ │ ├── Pods-SYWebViewBridge_Tests-umbrella.h │ │ ├── Pods-SYWebViewBridge_Tests.debug.xcconfig │ │ ├── Pods-SYWebViewBridge_Tests.modulemap │ │ └── Pods-SYWebViewBridge_Tests.release.xcconfig │ │ └── SYWebViewBridge │ │ ├── SYWebViewBridge-Info.plist │ │ ├── SYWebViewBridge-dummy.m │ │ ├── SYWebViewBridge-prefix.pch │ │ ├── SYWebViewBridge-umbrella.h │ │ ├── SYWebViewBridge.debug.xcconfig │ │ ├── SYWebViewBridge.modulemap │ │ └── SYWebViewBridge.release.xcconfig ├── SYWebViewBridge.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ └── contents.xcworkspacedata │ └── xcshareddata │ │ └── xcschemes │ │ └── SYWebViewBridge-Example.xcscheme ├── SYWebViewBridge.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist ├── SYWebViewBridge │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ ├── Images.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── SYAppDelegate.h │ ├── SYAppDelegate.m │ ├── SYNetworkPlugin.h │ ├── SYNetworkPlugin.m │ ├── SYViewController.h │ ├── SYViewController.m │ ├── SYWebViewBridge-Info.plist │ ├── SYWebViewBridge-Prefix.pch │ ├── en.lproj │ │ └── InfoPlist.strings │ └── main.m └── Tests │ ├── Tests-Info.plist │ ├── Tests-Prefix.pch │ ├── Tests.m │ └── en.lproj │ └── InfoPlist.strings ├── LICENSE ├── README-iOS.md ├── README.md ├── SYWebViewBridge.podspec ├── SYWebViewBridge ├── Assets │ └── .gitkeep └── Classes │ ├── .gitkeep │ ├── NSObject+SYBridge.h │ ├── NSObject+SYBridge.m │ ├── SYBridgeBasePlugin.h │ ├── SYBridgeBasePlugin.m │ ├── SYBridgeDebugPlugin.h │ ├── SYBridgeDebugPlugin.m │ ├── SYBridgeMessage.h │ ├── SYBridgeMessage.m │ ├── SYBridgeSystemPlugin.h │ ├── SYBridgeSystemPlugin.m │ ├── SYConstant.h │ ├── SYHybridWebView+LifeCycle.h │ ├── SYHybridWebView+LifeCycle.m │ ├── SYHybridWebView.h │ ├── SYHybridWebView.m │ ├── SYHybridWebViewController.h │ ├── SYHybridWebViewController.m │ ├── SYMessageDispatcher.h │ ├── SYMessageDispatcher.m │ ├── SYWeakProxy.h │ └── SYWeakProxy.m └── _Pods.xcodeproj /.github/commit-convention.md: -------------------------------------------------------------------------------- 1 | ## Git Commit Message Convention 2 | 3 | > This is adapted from [Angular's commit convention](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-angular) and [vue-next](https://github.com/vuejs/vue-next/blob/master/.github/commit-convention.md). 4 | 5 | #### TL;DR: 6 | 7 | Messages must be matched by the following regex: 8 | 9 | ``` js 10 | /^(revert: )?(feat|fix|docs|dx|style|refactor|perf|test|workflow|build|ci|chore|types|wip)(\(.+\))?: .{1,50}/ 11 | ``` 12 | 13 | #### Examples 14 | 15 | Appears under "Features" header, `iOS` subheader: 16 | 17 | ``` 18 | feat(iOS): add 'comments' option 19 | ``` 20 | 21 | Appears under "Bug Fixes" header, `FE` subheader, with a link to issue #666: 22 | 23 | ``` 24 | fix(FE): anync function not work 25 | 26 | close #666 27 | ``` 28 | 29 | Appears under "Performance Improvements" header, and under "Breaking Changes" with the breaking change explanation: 30 | 31 | ``` 32 | perf(core): improve bridge send message between js and Objecitve-C 33 | 34 | BREAKING CHANGE: The 'async' option has been removed. 35 | ``` 36 | 37 | 38 | ### Full Message Format 39 | 40 | A commit message consists of a **header**, **body** and **footer**. The header has a **type**, **scope** and **subject**: 41 | 42 | ``` 43 | (): 44 | 45 | 46 | 47 |