GitHub - deity-io/falcon: Deity Falcon - An Open Source, platform agnostic, head...
source link: https://github.com/deity-io/falcon
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
DEITY FALCON
Introduction
DEITY Falcon is a platform agnostic PWA, stand-alone but modular library to be used with any e-commerce platform.
Technologies inside
- Apollo
- NodeJS
- Razzle
- GraphQL
- React
- Koa
- Jest (testing)
Community
Any contributions, small or big, are very welcome! Please take a look at our Contributor guidelines and Code of Conduct
Join the official chat channel
Requirements
NodeJS (8.x +) https://nodejs.org
Yarn (Optional, but recommended) https://yarnpkg.com
Yarn can be installed via npm install -g yarn
or https://yarnpkg.com/lang/en/docs/install
Starting a project
Use the project generator:
Out of the box it will connect to a public back-end service (Magento & WordPress), so you are able to start developing right away.
Connecting to your own services
Magento
Install falcon-magento2-module in Magento 2
WordPress
Install falcon-wordpress-module in WordPress
Other platforms
Coming soon
Connecting to them
Inside server/config
change apis.config
to your instance's credentials
Customizing the theme
Please check out https://github.com/deity-io/falcon/tree/master/packages/falcon-ui
Basics
Project Structure
Advanced
Coming soon
Code Splitting
Dynamic routing
State management
Development quick start
Yarn and Node are required for core development
Adding new dependency for single package
cd package-name
yarn add dependency-name
Testing
There are 2 main scripts available - test
and test:coverage
:
test
in the root package.json file - triggerstest:coverage
script in every available package (it will be used by the CI system mainly)test
in the module's package.json - runs Jest testing in "watch" mode (re-runs tests on every code change)test:coverage
in the module's package.json runs Jest testing with enabled Coverage option
cd package-name
yarn test
yarn test:coverage
Example how to add @deity/falcon-client dependency into examples/shop-with-blog
package version needs to be specified as it's not yet published to npm registry
cd examples/shop-with-blog
yarn add @deity/[email protected]
Important thing now is all those packages are linked together so changing something in @deity/falcon-client
will be automatically reflected in shop-with-blog
example
TODO
- jest for all packages
- changelog generation? - https://github.com/lerna/lerna-changelog
- learna publish packages to npm script?
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK