diff --git a/CODEOWNERS b/CODEOWNERS new file mode 100644 index 0000000..022a85a --- /dev/null +++ b/CODEOWNERS @@ -0,0 +1 @@ +* @saleor/devtools \ No newline at end of file diff --git a/README.md b/README.md index a2c84a5..f416830 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,8 @@ npm i @saleor/app-sdk ## Docs - [AppBridge](./docs/app-bridge.md) - communication layer between Saleor App and Dashboard +- [APL](./docs/apl.md) - an interface that enabled App communicating between one or more Saleor instances +- [Debugging](./docs/debugging.md) - how to debug app-sdk behaviour ## Development diff --git a/docs/CODEOWNERS b/docs/CODEOWNERS new file mode 100644 index 0000000..432a4ba --- /dev/null +++ b/docs/CODEOWNERS @@ -0,0 +1 @@ +* @saleor/docs \ No newline at end of file diff --git a/docs/debugging.md b/docs/debugging.md new file mode 100644 index 0000000..f5fd85b --- /dev/null +++ b/docs/debugging.md @@ -0,0 +1,51 @@ +# Debugging + +The ability to debug is important for app developers. +App SDK provides opt-in verbose logs, that can be enabled for specific modules. + +Debug logs are implemented with [debug](https://www.npmjs.com/package/debug) package and work both in Node and Browser. + +## Enabling verbose logs + +Debug logs are aggregated within [namespaces](#namespaces). They can be enabled, disabled, or configured. + +By default, all verbose logs are disabled. + +To enable logs, use the following: + +### Enabling in Node context + +Add `DEBUG={namespaces}` env variable. + +#### Example + +```shell +DEBUG=* pnpm run dev +``` + +For more details check [debug package](https://github.com/debug-js/debug#usage). + +### Enabling in Browser context + +Set `localStorage.debug = '{namepsaces}'` in your frontend code. For more details see [debug package](https://github.com/debug-js/debug#browser-support). + +#### Debug in iframe + +Note, that Saleor Apps are usually hosted on a different domain than Saleor Dashboard. +That means `localStorage` must be called in the context of the App's URL, not Saleor Dashboard. + +#### Example + +```javascript +// In devtools console +localStorage.debug = "*"; +``` + +## Namespaces + +Use the namespace name to enable debug logs for each module. + +| Namespace name | Description | +| -------------- | -------------------------------------------------- | +| \* | Enable all | +| AppBridge | Enable [AppBridge](./app-bridge.md) (browser only) |