feat: whyrating - initial project from turbostarter boilerplate
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
---
|
||||
title: Installation
|
||||
description: Find answers to common extension installation issues.
|
||||
url: /docs/extension/troubleshooting/installation
|
||||
---
|
||||
|
||||
# Installation
|
||||
|
||||
## Cannot clone the repository
|
||||
|
||||
Issues related to cloning the repository are usually related to a Git misconfiguration in your local machine. The commands displayed in this guide using SSH: these will work only if you have setup your SSH keys in Github.
|
||||
|
||||
If you run into issues, [please make sure you follow this guide to set up your SSH key in Github.](https://docs.github.com/en/authentication/connecting-to-github-with-ssh)
|
||||
|
||||
If this also fails, please use HTTPS instead. You will be able to see the commands in the repository's Github page under the "Clone" dropdown.
|
||||
|
||||
Please also make sure that the account that accepted the invite to TurboStarter, and the locally connected account are the same.
|
||||
|
||||
## Local database doesn't start
|
||||
|
||||
If you cannot run the local database container, it's likely you have not started [Docker](https://docs.docker.com/get-docker/) locally. Our local database requires Docker to be installed and running.
|
||||
|
||||
Please make sure you have installed Docker (or compatible software such as [Colima](https://github.com/abiosoft/colima), [Orbstack](https://github.com/orbstack/orbstack)) and that is running on your local machine.
|
||||
|
||||
Also, make sure that you have enough [memory and CPU allocated](https://docs.docker.com/engine/containers/resource_constraints/) to your Docker instance.
|
||||
|
||||
## Permissions issues
|
||||
|
||||
If some feature of your extension is not working, it's possible that you're missing a permission in the manifest config.
|
||||
|
||||
Make sure to check the [permissions](/docs/extension/configuration/manifest#overriding-manifest) section in the manifest config file.
|
||||
|
||||
## I don't see my translations
|
||||
|
||||
If you don't see your translations appearing in the application, there are a few common causes:
|
||||
|
||||
1. Check that your translation `.json` files are properly formatted and located in the correct directory
|
||||
2. Verify that the language codes in your configuration match your translation files
|
||||
3. Enable debug mode (`debug: true`) in your i18next configuration to see detailed logs
|
||||
|
||||
[Read more about configuration for translations](/docs/extension/internationalization#configuration)
|
||||
|
||||
## "Module not found" error
|
||||
|
||||
This issue is mostly related to either dependency installed in the wrong package or issues with the file system.
|
||||
|
||||
The most common cause is incorrect dependency installation. Here's how to fix it:
|
||||
|
||||
1. Clean the workspace:
|
||||
|
||||
```bash
|
||||
pnpm clean
|
||||
```
|
||||
|
||||
2. Reinstall the dependencies:
|
||||
```bash
|
||||
pnpm i
|
||||
```
|
||||
|
||||
If you're adding new dependencies, make sure to install them in the correct package:
|
||||
|
||||
```bash
|
||||
# For main app dependencies
|
||||
pnpm install --filter mobile my-package
|
||||
|
||||
# For a specific package
|
||||
pnpm install --filter @turbostarter/ui my-package
|
||||
```
|
||||
|
||||
If the issue persists, please check the file system for any issues.
|
||||
|
||||
### Windows OneDrive
|
||||
|
||||
OneDrive can cause file system issues with Node.js projects due to its file syncing behavior. If you're using Windows with OneDrive, you have two options to resolve this:
|
||||
|
||||
1. Move your project to a location outside of OneDrive-synced folders (recommended)
|
||||
2. Disable OneDrive sync specifically for your development folder
|
||||
|
||||
This prevents file watching and symlink issues that can occur when OneDrive tries to sync Node.js project files.
|
||||
@@ -0,0 +1,62 @@
|
||||
---
|
||||
title: Publishing
|
||||
description: Find answers to common publishing issues.
|
||||
url: /docs/extension/troubleshooting/publishing
|
||||
---
|
||||
|
||||
# Publishing
|
||||
|
||||
## My extension submission was rejected
|
||||
|
||||
If your extension submission was rejected, you probably got an email with the reason. You'll need to fix the issues and upload a new build of your extension to the store and send it for review again.
|
||||
|
||||
Make sure to follow the [guidelines](/docs/extension/marketing) when submitting your extension to ensure that everything is setup correctly.
|
||||
|
||||
## Version number mismatch
|
||||
|
||||
If you get version number conflicts when submitting:
|
||||
|
||||
1. Ensure your `manifest.json` version matches what's in the store
|
||||
2. Increment the version number appropriately for each new submission
|
||||
3. Make sure the version follows semantic versioning (e.g., `1.0.1`)
|
||||
|
||||
## Missing permissions in manifest
|
||||
|
||||
If your extension is rejected due to permission issues:
|
||||
|
||||
1. Review the permissions declared in your `manifest.json`
|
||||
2. Ensure all permissions are properly justified in your submission
|
||||
3. Remove any unused permissions that aren't essential
|
||||
4. Consider using optional permissions where possible
|
||||
|
||||
[Learn more about permissions](/docs/extension/configuration/manifest#permissions)
|
||||
|
||||
## Content Security Policy (CSP) violations
|
||||
|
||||
If your extension is rejected due to CSP issues:
|
||||
|
||||
1. Check your manifest's `content_security_policy` field
|
||||
2. Ensure all external resources are properly whitelisted
|
||||
3. Remove any unsafe inline scripts or eval usage
|
||||
4. Use more secure alternatives like `browser.scripting.executeScript`
|
||||
|
||||
## My extension crashes on production build
|
||||
|
||||
If the extension works during development but crashes after publishing or when loaded unpacked in production mode, check these common causes:
|
||||
|
||||
1. **Uncaught runtime errors** in the background service worker or content scripts. Open `chrome://extensions` (or `about:debugging` in Firefox) → enable Developer mode → Inspect the service worker/content script and check the console for stack traces.
|
||||
2. **Missing permissions or host permissions** causing APIs to throw (e.g., network calls, tabs access). Ensure required `permissions` and `host_permissions` are declared in `manifest.json`.
|
||||
3. **CSP blocking resources** (inline scripts/styles, remote fonts, or endpoints). Verify `content_security_policy` and update code to avoid unsafe patterns.
|
||||
4. **Missing assets or incorrect paths** referenced in `manifest.json` (`icons`, `web_accessible_resources`, `action.default_popup`, etc.). Confirm files exist in the final build output and paths match.
|
||||
5. **Build-time variables not resolved**. If you rely on environment variables, ensure they’re inlined at build time or have safe fallbacks at runtime. Example:
|
||||
```js
|
||||
const apiUrl = env.VITE_SITE_URL ?? "https://api.example.com";
|
||||
```
|
||||
6. **Module format or bundler config issues** (MV3 service worker must be ESM if `type: 'module'`). Align bundler output with your manifest expectations and rebuild.
|
||||
|
||||
Try this:
|
||||
|
||||
1. Reproduce with a production bundle locally and load it as an unpacked extension; inspect background and content script logs for errors.
|
||||
2. Validate `manifest.json` and ensure all referenced files are present in the build output.
|
||||
3. Temporarily relax CSP locally to confirm whether CSP is the cause; then apply a compliant fix (don’t ship relaxed CSP).
|
||||
4. Add fallbacks for any build-time variables and rebuild.
|
||||
Reference in New Issue
Block a user