From c2c86cd4f883223ffddd01670d4beaea5a4b8479 Mon Sep 17 00:00:00 2001 From: Vladislav Kibenko Date: Thu, 20 Jun 2024 20:56:57 +0300 Subject: [PATCH] Actualize the template --- README.md | 185 +++++++++++++++++++------- assets/ssl-warning.png | Bin 0 -> 113296 bytes package.json | 11 +- pnpm-lock.yaml | 295 +++++++++++++++++++++-------------------- src/index.tsx | 4 + src/mockEnv.ts | 68 ++++++++++ vite.config.ts | 37 +++--- 7 files changed, 384 insertions(+), 216 deletions(-) create mode 100644 assets/ssl-warning.png create mode 100644 src/mockEnv.ts diff --git a/README.md b/README.md index 159d1a5..f7e3159 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,24 @@ -# Telegram Mini Apps Solid.js Boilerplate +# Telegram Mini Apps Solid.js Template -This boilerplate demonstrates how developers can implement a single-page application on the Telegram -Mini Apps platform using the following technologies: +This template demonstrates how developers can implement a single-page application on the Telegram +Mini Apps platform using the following technologies and libraries: -- [Solid.js](https://www.solidjs.com/) -- [TON Connect](https://docs.ton.org/develop/dapps/ton-connect/overview) +- [Solid](https://solidjs.com/) - [TypeScript](https://www.typescriptlang.org/) +- [TON Connect](https://docs.ton.org/develop/dapps/ton-connect/overview) - [@tma.js SDK](https://docs.telegram-mini-apps.com/packages/tma-js-sdk) - [Vite](https://vitejs.dev/) > This boilerplate was created using [pnpm](https://pnpm.io/). Therefore, it is required to use > it for this project as well. -## First Start +## Install Dependencies If you have just cloned this template, you should install the project dependencies using the command: ```Bash -pnpm i +pnpm install ``` ## Scripts @@ -38,56 +38,122 @@ pnpm run {script} # Example: pnpm run build ``` -## Running +## Create Bot and Mini App -The first important thing to note here is that the application should always be launched in the -context of Telegram application. You can't just run the application and open it directly in your -browser via `http://localhost:3000`. Opening application this way will surely lead to errors, as long -as this environment does not provide the required Telegram Mini Apps functionality. +Before you start, make sure you have already created a Telegram Bot. Here is +a [comprehensive guide](https://docs.telegram-mini-apps.com/platform/creating-new-app) on how to +do it. -Telegram Mini Apps environment could be any specified -in the [documentation](https://docs.telegram-mini-apps.com/platform/about#supported-applications). +## Run -So, before starting the application, make sure you have already created it in the Telegram -system. Here is the [guide](https://docs.telegram-mini-apps.com/platform/creating-new-app) how to do it. +Although Mini Apps are designed to be opened +within [Telegram applications](https://docs.telegram-mini-apps.com/platform/about#supported-applications), +you can still develop and test them outside of Telegram during the development process. -When application is created successfully, run it using the `dev` script and open inside Telegram: +To run the application in the development mode, use the `dev` script: -```Bash -pnpm run dev +```bash +npm run dev ``` -## Deploying +After this, you will see a similar message in your terminal: -This boilerplate uses GitHub Pages as the way to host the application externally. GitHub Pages provides a CDN -which will let your users receive the application rapidly. Alternatively, you could use such services -as [Heroku](https://www.heroku.com/) or [Vercel](https://vercel.com). +```bash +VITE ready in 275 ms -### GitHub Workflow +➜ Local: http://localhost:5173/solidjs-template +➜ press h + enter to show help +``` -To simplify the process of deployment, this boilerplate contains already -written [GitHub workflow](.github/workflows/github-pages-deploy.yml) to deploy the project automatically in case, some -content was pushed to the `master` branch. +To view the application, you need to open the `Local` +link (`http://localhost:5173/solidjs-template` in this example) in your browser. -To let this workflow work properly, it is required create a new environment (or edit the existing one) in the GitHub -repository Settings with the name `github-pages`. Then, add the `master` branch to the list of deployment branches. +It is important to note that some libraries in this template, such as `@tma.js/sdk-solid`, are not +intended for use outside of Telegram. -Environments settings could be find using this URL: `https://github.com/{username}/{repository}/settings/environments` +Nevertheless, they appear to function properly. This is because the `src/mockEnv.ts` file, which is +imported in the application's entry point (`src/index.ts`), employs the `mockTelegramEnv` function +to simulate the Telegram environment. This trick convinces the application that it is running in a +Telegram-based environment. Therefore, be cautious not to use this function in production mode +unless you fully understand its implications. -![img.png](.github/deployment-branches.png) +### Run Inside Telegram -In case, you don't want to do it automatically, or you don't use GitHub as the project codebase, just remove the -`.github` directory. +Although it is possible to run the application outside of Telegram, it is recommended to develop it +within Telegram for the most accurate representation of its real-world functionality. -### GitHub Web Interface +To run the application inside Telegram, [@BotFather](https://t.me/botfather) requires an HTTPS link. + +This template already provides a solution. + +Navigate to the `vite.config.ts` file and uncomment the usage of the `basicSsl` function. This +function utilizes +the [@vitejs/plugin-basic-ssl](https://www.npmjs.com/package/@vitejs/plugin-basic-ssl) plugin, which +enables the creation of an HTTPS link. Note that this plugin generates a self-signed certificate, +which browsers will recognize as unsafe, resulting in a warning when accessing the app. + +After uncommenting the function, run the `dev` script again and observe the output in your terminal: + +```bash +VITE ready in 331 ms + +➜ Local: https://localhost:5173/solidjs-template +➜ press h + enter to show help +``` + +Visiting the `Local` link (`https://localhost:5173/solidjs-template` in this example) in your +browser, you will see the following warning: + +![SSL Warning](assets/ssl-warning.png) + +This browser warning is normal and can be safely ignored as long as the site is secure. Click +the `Proceed to localhost (unsafe)` button to continue and view the application. + +Once the application is displayed correctly, submit this link as the Mini App link +to [@BotFather](https://t.me/botfather). Then, navigate +to [https://web.telegram.org/k/](https://web.telegram.org/k/), find your bot, and launch the +Telegram Mini App. This approach provides the full development experience. + +### Expose Dev Server + +Sometimes, you might want to view the application on other devices. -Alternatively, developers are able to configure the automatic deployment using GitHub web interface. To use it, -follow the link: `https://github.com/{username}/{repository}/settings/pages`. +To expose your development server to local network devices, go to the `vite.config.ts` file and +uncomment the line defining the `host` option. + +Alternatively, you can achieve this by running the command `vite --host`. + +Here is an example of the output you will see: + +```bash +VITE v5.2.12 ready in 257 ms + +➜ Local: https://localhost:5173/solidjs-template +➜ Network: https://172.27.224.1:5173/solidjs-template +➜ Network: https://172.19.32.1:5173/solidjs-template +➜ Network: https://192.168.0.171:5173/solidjs-template +``` + +All `Network` links listed here are accessible to devices on the same network. Using these links, +those devices will be able to view the application. + +> **Important** +> +> Because we are using self-signed SSL certificates, the Android and iOS Telegram applications will +> not be able to display the application. These operating systems enforce stricter security +> measures, preventing the Mini App from loading. To address this issue, refer +> to [this guide](https://docs.telegram-mini-apps.com/platform/getting-app-link#remote). + +## Deploy + +This boilerplate uses GitHub Pages as the way to host the application externally. GitHub Pages +provides a CDN which will let your users receive the application rapidly. Alternatively, you could +use such services as [Heroku](https://www.heroku.com/) or [Vercel](https://vercel.com). ### Manual Deployment -This boilerplate uses the [gh-pages](https://www.npmjs.com/package/gh-pages) tool, which allows deploying your -application right from your PC. +This boilerplate uses the [gh-pages](https://www.npmjs.com/package/gh-pages) tool, which allows +deploying your application right from your PC. #### Configuring @@ -103,7 +169,7 @@ is `is-awesome`, the value in the `homepage` field should be the following: ```json { - "homepage": "https://telegram-mini-apps.github.io/is-awesome" + "homepage": "https://telegram-mini-apps.github.io/is-awesome" } ``` @@ -111,8 +177,8 @@ And `vite.config.ts` should have this content: ```ts export default defineConfig({ - base: '/is-awesome/', - // ... + base: '/is-awesome/', + // ... }); ``` @@ -125,28 +191,51 @@ Before deploying the application, make sure that you've built it and going to de static files: ```bash -pnpm run build +npm run build ``` Then, run the deployment process, using the `deploy` script: ```Bash -pnpm run deploy +npm run deploy ``` After the deployment completed successfully, visit the page with data according to your username and repository name. Here is the page link example using the data mentioned above: https://telegram-mini-apps.github.io/is-awesome +### GitHub Workflow + +To simplify the deployment process, this template includes a +pre-configured [GitHub workflow](.github/workflows/github-pages-deploy.yml) that automatically +deploys the project when changes are pushed to the `master` branch. + +To enable this workflow, create a new environment (or edit the existing one) in the GitHub +repository settings and name it `github-pages`. Then, add the `master` branch to the list of +deployment branches. + +You can find the environment settings using this +URL: `https://github.com/{username}/{repository}/settings/environments`. + +![img.png](.github/deployment-branches.png) + +In case, you don't want to do it automatically, or you don't use GitHub as the project codebase, +remove the `.github` directory. + +### GitHub Web Interface + +Alternatively, developers can configure automatic deployment using the GitHub web interface. To do +this, follow the link: `https://github.com/{username}/{repository}/settings/pages`. + ## TON Connect -This boilerplate uses the [TON Connect](https://docs.ton.org/develop/dapps/ton-connect/overview) -project to showcase how developers could integrate TON cryptocurrency-related functionality. +This boilerplate utilizes the [TON Connect](https://docs.ton.org/develop/dapps/ton-connect/overview) +project to demonstrate how developers can integrate functionality related to TON cryptocurrency. -The TON Connect manifest used in this boilerplate is located in the `public` folder along with all -publicly available static files. Don't forget +The TON Connect manifest used in this boilerplate is stored in the `public` folder, where all +publicly accessible static files are located. Remember to [configure](https://docs.ton.org/develop/dapps/ton-connect/manifest) this file according to your -project information. +project's information. ## Useful Links diff --git a/assets/ssl-warning.png b/assets/ssl-warning.png new file mode 100644 index 0000000000000000000000000000000000000000..db3e3b70c0ac085bbd7dd1026e0ebb65c9db382f GIT binary patch literal 113296 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

esOEVMqFHx{a$Z>$mXJB`43W7 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

G=mp?GUY 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 V?1L9+{+riBN?cy7O5}&%{{l;?___c9 literal 0 HcmV?d00001 diff --git a/package.json b/package.json index 0737b99..2a7bcdb 100644 --- a/package.json +++ b/package.json @@ -18,18 +18,19 @@ "access": "public" }, "dependencies": { - "@solidjs/router": "^0.13.1", - "@tma.js/sdk-solid": "^2.1.0", - "@tma.js/solid-router-integration": "^2.0.0", - "@tonconnect/ui": "^2.0.0", + "@solidjs/router": "^0.13.6", + "@tma.js/sdk-solid": "^2.1.8", + "@tma.js/solid-router-integration": "^5.0.2", + "@tonconnect/ui": "^2.0.5", "eruda": "^3.0.1", - "solid-js": "^1.8.16" + "solid-js": "^1.8.17" }, "devDependencies": { "@eslint/js": "^9.2.0", "@types/node": "^20.12.5", "@typescript-eslint/eslint-plugin": "^7.8.0", "@typescript-eslint/parser": "^7.8.0", + "@vitejs/plugin-basic-ssl": "^1.1.0", "eslint": "^8.57.0", "eslint-plugin-solid": "^0.14.0", "gh-pages": "^6.1.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b500240..a01fe7a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,23 +9,23 @@ importers: .: dependencies: '@solidjs/router': - specifier: ^0.13.1 - version: 0.13.1(solid-js@1.8.16) + specifier: ^0.13.6 + version: 0.13.6(solid-js@1.8.17) '@tma.js/sdk-solid': - specifier: ^2.1.0 - version: 2.1.0(solid-js@1.8.16) + specifier: ^2.1.8 + version: 2.1.8(solid-js@1.8.17) '@tma.js/solid-router-integration': - specifier: ^2.0.0 - version: 2.0.0(@solidjs/router@0.13.1(solid-js@1.8.16))(@tma.js/sdk-solid@2.1.0(solid-js@1.8.16))(solid-js@1.8.16) + specifier: ^5.0.2 + version: 5.0.2(@solidjs/router@0.13.6(solid-js@1.8.17))(@tma.js/sdk@2.5.1)(solid-js@1.8.17) '@tonconnect/ui': - specifier: ^2.0.0 - version: 2.0.0 + specifier: ^2.0.5 + version: 2.0.5 eruda: specifier: ^3.0.1 version: 3.0.1 solid-js: - specifier: ^1.8.16 - version: 1.8.16 + specifier: ^1.8.17 + version: 1.8.17 devDependencies: '@eslint/js': specifier: ^9.2.0 @@ -39,6 +39,9 @@ importers: '@typescript-eslint/parser': specifier: ^7.8.0 version: 7.8.0(eslint@8.57.0)(typescript@5.4.4) + '@vitejs/plugin-basic-ssl': + specifier: ^1.1.0 + version: 1.1.0(vite@5.2.11(@types/node@20.12.5)) eslint: specifier: ^8.57.0 version: 8.57.0 @@ -53,7 +56,7 @@ importers: version: 15.2.0 solid-devtools: specifier: ^0.30.1 - version: 0.30.1(solid-js@1.8.16)(vite@5.2.11(@types/node@20.12.5)) + version: 0.30.1(solid-js@1.8.17)(vite@5.2.11(@types/node@20.12.5)) typescript: specifier: ^5.4.4 version: 5.4.4 @@ -65,7 +68,7 @@ importers: version: 5.2.11(@types/node@20.12.5) vite-plugin-solid: specifier: ^2.10.2 - version: 2.10.2(solid-js@1.8.16)(vite@5.2.11(@types/node@20.12.5)) + version: 2.10.2(solid-js@1.8.17)(vite@5.2.11(@types/node@20.12.5)) vite-tsconfig-paths: specifier: ^4.3.2 version: 4.3.2(typescript@5.4.4)(vite@5.2.11(@types/node@20.12.5)) @@ -551,24 +554,24 @@ packages: peerDependencies: solid-js: ^1.6.12 - '@solidjs/router@0.13.1': - resolution: {integrity: sha512-Rz5Lf0ssWMuN+Wm2GFO0vwZoO/KSwYFSuCUzWrRAvje5M0ZYZrMk5FZxuzdJT+zg8KuqWJQlRALks5E0r+FjAA==} + '@solidjs/router@0.13.6': + resolution: {integrity: sha512-CdpFsBYoiJ/FQ4wZIamj3KEFRkmrYu5sVXM6PouNkmSENta1YJamsm9wa/VjaPmkw2RsnDnO0UvZ705v6EgOXQ==} peerDependencies: solid-js: ^1.8.6 - '@tma.js/sdk-solid@2.1.0': - resolution: {integrity: sha512-liIAFqWWDV50pvBzS/Yy9Is5xBzofwxzuk6LX8pD+Rr52gjnFc9vzkWPC+t95XPt5u+PVVp3xLbODFmKCZZJYQ==} + '@tma.js/sdk-solid@2.1.8': + resolution: {integrity: sha512-Cy6mLnx0Phx5bgCxM/H5cSp95BjjJ8jIpPezNG7O1rSj3h6CeBbbxXwHPah9/TaMNAy9M5K69BMNjnACZQ7AvA==} peerDependencies: solid-js: ^1.0.0 - '@tma.js/sdk@2.0.0': - resolution: {integrity: sha512-fj63SpZLONXZAIz+O8UuwxQ/pMxeqyWvjbY6MnefpFETaoqCLPezmlDVreejzGh9zPtLCzLIW2Fjvawtucpd4w==} + '@tma.js/sdk@2.5.1': + resolution: {integrity: sha512-uUFv3oINGRwkh4KbGxMq9OxDdSQOhH9O45i9i0aqen6pIakeiIxxzrF8Yhv2xSFWrn8V+gaOpr3IDrushlo5TA==} - '@tma.js/solid-router-integration@2.0.0': - resolution: {integrity: sha512-waL06ZoBL/o0QU6pwiUbyKhLwKbH2M6kN06vvIu7ftWODPsaNlJsm3QaKCm/d+ibOKpJvQMhPNcXs7A2jnSvtQ==} + '@tma.js/solid-router-integration@5.0.2': + resolution: {integrity: sha512-I8TWphqQNQemSqJZdFhOu11NFDESQ0i8wNGvbtamZeqyDpyT5qfLw8cmHwH40vrHa97TG0wspqcDsb9ouhXAYA==} peerDependencies: '@solidjs/router': ^0.13.1 - '@tma.js/sdk-solid': 2.1.0 + '@tma.js/sdk': 2.5.0 solid-js: ^1.8.16 '@tonconnect/isomorphic-eventsource@0.0.2': @@ -580,11 +583,11 @@ packages: '@tonconnect/protocol@2.2.6': resolution: {integrity: sha512-kyoDz5EqgsycYP+A+JbVsAUYHNT059BCrK+m0pqxykMODwpziuSAXfwAZmHcg8v7NB9VKYbdFY55xKeXOuEd0w==} - '@tonconnect/sdk@3.0.0': - resolution: {integrity: sha512-pg0OC//c3LU6jwH2hiLJrDXxITIfNwj0tFTV55xS6FXF2I9qzvVKTUPo4OHr1w3MZVJ7oCw4uz7gKZ+bcqK2hg==} + '@tonconnect/sdk@3.0.3': + resolution: {integrity: sha512-ElVre1DPixzQLgLtQIa8Wu5xS8nozlgblZTJhFFPrk82M2rZ+sawyF+LAVwt9wZRN7+htWnJrNz0+bBr4b3geA==} - '@tonconnect/ui@2.0.0': - resolution: {integrity: sha512-opwroucFYf45SbnuwLJJKrlObZTAGqcf29aZr9WuVEpwIPpREsRxK80QsUBD5s7HEqn5whAdvigN/NB4pRCaYw==} + '@tonconnect/ui@2.0.5': + resolution: {integrity: sha512-AuVtBqX450lJyJtrJDhBPwPzkhm10QCsnS1/p2CLkzzcMH5b5o50oVp5yuRWw/1eIwJZSLjVplkgA/JjMAlmsA==} '@types/babel__core@7.20.5': resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} @@ -698,6 +701,12 @@ packages: '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + '@vitejs/plugin-basic-ssl@1.1.0': + resolution: {integrity: sha512-wO4Dk/rm8u7RNhOf95ZzcEmC9rYOncYgvq4z3duaJrCgjN8BxAnDVyndanfcJZ0O6XZzHz6Q0hTimxTg8Y9g/A==} + engines: {node: '>=14.6.0'} + peerDependencies: + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 + acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -1312,14 +1321,14 @@ packages: engines: {node: '>=10'} hasBin: true - seroval-plugins@1.0.5: - resolution: {integrity: sha512-8+pDC1vOedPXjKG7oz8o+iiHrtF2WswaMQJ7CKFpccvSYfrzmvKY9zOJWCg+881722wIHfwkdnRmiiDm9ym+zQ==} + seroval-plugins@1.0.7: + resolution: {integrity: sha512-GO7TkWvodGp6buMEX9p7tNyIkbwlyuAWbI6G9Ec5bhcm7mQdu3JOK1IXbEUwb3FVzSc363GraG/wLW23NSavIw==} engines: {node: '>=10'} peerDependencies: seroval: ^1.0 - seroval@1.0.5: - resolution: {integrity: sha512-TM+Z11tHHvQVQKeNlOUonOWnsNM+2IBwZ4vwoi4j3zKzIpc5IDw8WPwCfcc8F17wy6cBcJGbZbFOR0UCuTZHQA==} + seroval@1.0.7: + resolution: {integrity: sha512-n6ZMQX5q0Vn19Zq7CIKNIo7E75gPkGCFUEqDpa8jgwpYr/vScjqnQ6H09t1uIiZ0ZSK0ypEGvrYK2bhBGWsGdw==} engines: {node: '>=10'} shebang-command@2.0.0: @@ -1346,8 +1355,8 @@ packages: vite: optional: true - solid-js@1.8.16: - resolution: {integrity: sha512-rja94MNU9flF3qQRLNsu60QHKBDKBkVE1DldJZPIfn2ypIn3NV2WpSbGTQIvsyGPBo+9E2IMjwqnqpbgfWuzeg==} + solid-js@1.8.17: + resolution: {integrity: sha512-E0FkUgv9sG/gEBWkHr/2XkBluHb1fkrHywUgA6o6XolPDCJ4g1HaLmQufcBBhiF36ee40q+HpG/vCZu7fLpI3Q==} solid-refresh@0.6.3: resolution: {integrity: sha512-F3aPsX6hVw9ttm5LYlth8Q15x6MlI/J3Dn+o3EQyRTtTxidepSTwAYdozt01/YA+7ObcciagGEyXIopGZzQtbA==} @@ -1444,8 +1453,8 @@ packages: engines: {node: '>=14.17'} hasBin: true - ua-parser-js@1.0.37: - resolution: {integrity: sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==} + ua-parser-js@1.0.38: + resolution: {integrity: sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ==} undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} @@ -1877,135 +1886,135 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.14.1': optional: true - '@solid-devtools/debugger@0.23.4(solid-js@1.8.16)': + '@solid-devtools/debugger@0.23.4(solid-js@1.8.17)': dependencies: '@nothing-but/utils': 0.12.1 - '@solid-devtools/shared': 0.13.2(solid-js@1.8.16) - '@solid-primitives/bounds': 0.0.118(solid-js@1.8.16) - '@solid-primitives/cursor': 0.0.112(solid-js@1.8.16) - '@solid-primitives/event-bus': 1.0.11(solid-js@1.8.16) - '@solid-primitives/event-listener': 2.3.3(solid-js@1.8.16) - '@solid-primitives/keyboard': 1.2.8(solid-js@1.8.16) - '@solid-primitives/platform': 0.1.2(solid-js@1.8.16) - '@solid-primitives/rootless': 1.4.5(solid-js@1.8.16) - '@solid-primitives/scheduled': 1.4.3(solid-js@1.8.16) - '@solid-primitives/static-store': 0.0.5(solid-js@1.8.16) - '@solid-primitives/utils': 6.2.3(solid-js@1.8.16) - solid-js: 1.8.16 + '@solid-devtools/shared': 0.13.2(solid-js@1.8.17) + '@solid-primitives/bounds': 0.0.118(solid-js@1.8.17) + '@solid-primitives/cursor': 0.0.112(solid-js@1.8.17) + '@solid-primitives/event-bus': 1.0.11(solid-js@1.8.17) + '@solid-primitives/event-listener': 2.3.3(solid-js@1.8.17) + '@solid-primitives/keyboard': 1.2.8(solid-js@1.8.17) + '@solid-primitives/platform': 0.1.2(solid-js@1.8.17) + '@solid-primitives/rootless': 1.4.5(solid-js@1.8.17) + '@solid-primitives/scheduled': 1.4.3(solid-js@1.8.17) + '@solid-primitives/static-store': 0.0.5(solid-js@1.8.17) + '@solid-primitives/utils': 6.2.3(solid-js@1.8.17) + solid-js: 1.8.17 - '@solid-devtools/shared@0.13.2(solid-js@1.8.16)': + '@solid-devtools/shared@0.13.2(solid-js@1.8.17)': dependencies: - '@solid-primitives/event-bus': 1.0.11(solid-js@1.8.16) - '@solid-primitives/event-listener': 2.3.3(solid-js@1.8.16) - '@solid-primitives/media': 2.2.8(solid-js@1.8.16) - '@solid-primitives/refs': 1.0.8(solid-js@1.8.16) - '@solid-primitives/rootless': 1.4.5(solid-js@1.8.16) - '@solid-primitives/scheduled': 1.4.3(solid-js@1.8.16) - '@solid-primitives/static-store': 0.0.5(solid-js@1.8.16) - '@solid-primitives/styles': 0.0.111(solid-js@1.8.16) - '@solid-primitives/utils': 6.2.3(solid-js@1.8.16) - solid-js: 1.8.16 + '@solid-primitives/event-bus': 1.0.11(solid-js@1.8.17) + '@solid-primitives/event-listener': 2.3.3(solid-js@1.8.17) + '@solid-primitives/media': 2.2.8(solid-js@1.8.17) + '@solid-primitives/refs': 1.0.8(solid-js@1.8.17) + '@solid-primitives/rootless': 1.4.5(solid-js@1.8.17) + '@solid-primitives/scheduled': 1.4.3(solid-js@1.8.17) + '@solid-primitives/static-store': 0.0.5(solid-js@1.8.17) + '@solid-primitives/styles': 0.0.111(solid-js@1.8.17) + '@solid-primitives/utils': 6.2.3(solid-js@1.8.17) + solid-js: 1.8.17 - '@solid-primitives/bounds@0.0.118(solid-js@1.8.16)': + '@solid-primitives/bounds@0.0.118(solid-js@1.8.17)': dependencies: - '@solid-primitives/event-listener': 2.3.3(solid-js@1.8.16) - '@solid-primitives/resize-observer': 2.0.25(solid-js@1.8.16) - '@solid-primitives/static-store': 0.0.5(solid-js@1.8.16) - '@solid-primitives/utils': 6.2.3(solid-js@1.8.16) - solid-js: 1.8.16 + '@solid-primitives/event-listener': 2.3.3(solid-js@1.8.17) + '@solid-primitives/resize-observer': 2.0.25(solid-js@1.8.17) + '@solid-primitives/static-store': 0.0.5(solid-js@1.8.17) + '@solid-primitives/utils': 6.2.3(solid-js@1.8.17) + solid-js: 1.8.17 - '@solid-primitives/cursor@0.0.112(solid-js@1.8.16)': + '@solid-primitives/cursor@0.0.112(solid-js@1.8.17)': dependencies: - '@solid-primitives/utils': 6.2.3(solid-js@1.8.16) - solid-js: 1.8.16 + '@solid-primitives/utils': 6.2.3(solid-js@1.8.17) + solid-js: 1.8.17 - '@solid-primitives/event-bus@1.0.11(solid-js@1.8.16)': + '@solid-primitives/event-bus@1.0.11(solid-js@1.8.17)': dependencies: - '@solid-primitives/utils': 6.2.3(solid-js@1.8.16) - solid-js: 1.8.16 + '@solid-primitives/utils': 6.2.3(solid-js@1.8.17) + solid-js: 1.8.17 - '@solid-primitives/event-listener@2.3.3(solid-js@1.8.16)': + '@solid-primitives/event-listener@2.3.3(solid-js@1.8.17)': dependencies: - '@solid-primitives/utils': 6.2.3(solid-js@1.8.16) - solid-js: 1.8.16 + '@solid-primitives/utils': 6.2.3(solid-js@1.8.17) + solid-js: 1.8.17 - '@solid-primitives/keyboard@1.2.8(solid-js@1.8.16)': + '@solid-primitives/keyboard@1.2.8(solid-js@1.8.17)': dependencies: - '@solid-primitives/event-listener': 2.3.3(solid-js@1.8.16) - '@solid-primitives/rootless': 1.4.5(solid-js@1.8.16) - '@solid-primitives/utils': 6.2.3(solid-js@1.8.16) - solid-js: 1.8.16 + '@solid-primitives/event-listener': 2.3.3(solid-js@1.8.17) + '@solid-primitives/rootless': 1.4.5(solid-js@1.8.17) + '@solid-primitives/utils': 6.2.3(solid-js@1.8.17) + solid-js: 1.8.17 - '@solid-primitives/media@2.2.8(solid-js@1.8.16)': + '@solid-primitives/media@2.2.8(solid-js@1.8.17)': dependencies: - '@solid-primitives/event-listener': 2.3.3(solid-js@1.8.16) - '@solid-primitives/rootless': 1.4.5(solid-js@1.8.16) - '@solid-primitives/static-store': 0.0.8(solid-js@1.8.16) - '@solid-primitives/utils': 6.2.3(solid-js@1.8.16) - solid-js: 1.8.16 + '@solid-primitives/event-listener': 2.3.3(solid-js@1.8.17) + '@solid-primitives/rootless': 1.4.5(solid-js@1.8.17) + '@solid-primitives/static-store': 0.0.8(solid-js@1.8.17) + '@solid-primitives/utils': 6.2.3(solid-js@1.8.17) + solid-js: 1.8.17 - '@solid-primitives/platform@0.1.2(solid-js@1.8.16)': + '@solid-primitives/platform@0.1.2(solid-js@1.8.17)': dependencies: - solid-js: 1.8.16 + solid-js: 1.8.17 - '@solid-primitives/refs@1.0.8(solid-js@1.8.16)': + '@solid-primitives/refs@1.0.8(solid-js@1.8.17)': dependencies: - '@solid-primitives/utils': 6.2.3(solid-js@1.8.16) - solid-js: 1.8.16 + '@solid-primitives/utils': 6.2.3(solid-js@1.8.17) + solid-js: 1.8.17 - '@solid-primitives/resize-observer@2.0.25(solid-js@1.8.16)': + '@solid-primitives/resize-observer@2.0.25(solid-js@1.8.17)': dependencies: - '@solid-primitives/event-listener': 2.3.3(solid-js@1.8.16) - '@solid-primitives/rootless': 1.4.5(solid-js@1.8.16) - '@solid-primitives/static-store': 0.0.8(solid-js@1.8.16) - '@solid-primitives/utils': 6.2.3(solid-js@1.8.16) - solid-js: 1.8.16 + '@solid-primitives/event-listener': 2.3.3(solid-js@1.8.17) + '@solid-primitives/rootless': 1.4.5(solid-js@1.8.17) + '@solid-primitives/static-store': 0.0.8(solid-js@1.8.17) + '@solid-primitives/utils': 6.2.3(solid-js@1.8.17) + solid-js: 1.8.17 - '@solid-primitives/rootless@1.4.5(solid-js@1.8.16)': + '@solid-primitives/rootless@1.4.5(solid-js@1.8.17)': dependencies: - '@solid-primitives/utils': 6.2.3(solid-js@1.8.16) - solid-js: 1.8.16 + '@solid-primitives/utils': 6.2.3(solid-js@1.8.17) + solid-js: 1.8.17 - '@solid-primitives/scheduled@1.4.3(solid-js@1.8.16)': + '@solid-primitives/scheduled@1.4.3(solid-js@1.8.17)': dependencies: - solid-js: 1.8.16 + solid-js: 1.8.17 - '@solid-primitives/static-store@0.0.5(solid-js@1.8.16)': + '@solid-primitives/static-store@0.0.5(solid-js@1.8.17)': dependencies: - '@solid-primitives/utils': 6.2.3(solid-js@1.8.16) - solid-js: 1.8.16 + '@solid-primitives/utils': 6.2.3(solid-js@1.8.17) + solid-js: 1.8.17 - '@solid-primitives/static-store@0.0.8(solid-js@1.8.16)': + '@solid-primitives/static-store@0.0.8(solid-js@1.8.17)': dependencies: - '@solid-primitives/utils': 6.2.3(solid-js@1.8.16) - solid-js: 1.8.16 + '@solid-primitives/utils': 6.2.3(solid-js@1.8.17) + solid-js: 1.8.17 - '@solid-primitives/styles@0.0.111(solid-js@1.8.16)': + '@solid-primitives/styles@0.0.111(solid-js@1.8.17)': dependencies: - '@solid-primitives/rootless': 1.4.5(solid-js@1.8.16) - '@solid-primitives/utils': 6.2.3(solid-js@1.8.16) - solid-js: 1.8.16 + '@solid-primitives/rootless': 1.4.5(solid-js@1.8.17) + '@solid-primitives/utils': 6.2.3(solid-js@1.8.17) + solid-js: 1.8.17 - '@solid-primitives/utils@6.2.3(solid-js@1.8.16)': + '@solid-primitives/utils@6.2.3(solid-js@1.8.17)': dependencies: - solid-js: 1.8.16 + solid-js: 1.8.17 - '@solidjs/router@0.13.1(solid-js@1.8.16)': + '@solidjs/router@0.13.6(solid-js@1.8.17)': dependencies: - solid-js: 1.8.16 + solid-js: 1.8.17 - '@tma.js/sdk-solid@2.1.0(solid-js@1.8.16)': + '@tma.js/sdk-solid@2.1.8(solid-js@1.8.17)': dependencies: - '@tma.js/sdk': 2.0.0 - solid-js: 1.8.16 + '@tma.js/sdk': 2.5.1 + solid-js: 1.8.17 - '@tma.js/sdk@2.0.0': {} + '@tma.js/sdk@2.5.1': {} - '@tma.js/solid-router-integration@2.0.0(@solidjs/router@0.13.1(solid-js@1.8.16))(@tma.js/sdk-solid@2.1.0(solid-js@1.8.16))(solid-js@1.8.16)': + '@tma.js/solid-router-integration@5.0.2(@solidjs/router@0.13.6(solid-js@1.8.17))(@tma.js/sdk@2.5.1)(solid-js@1.8.17)': dependencies: - '@solidjs/router': 0.13.1(solid-js@1.8.16) - '@tma.js/sdk-solid': 2.1.0(solid-js@1.8.16) - solid-js: 1.8.16 + '@solidjs/router': 0.13.6(solid-js@1.8.17) + '@tma.js/sdk': 2.5.1 + solid-js: 1.8.17 '@tonconnect/isomorphic-eventsource@0.0.2': dependencies: @@ -2022,7 +2031,7 @@ snapshots: tweetnacl: 1.0.3 tweetnacl-util: 0.15.1 - '@tonconnect/sdk@3.0.0': + '@tonconnect/sdk@3.0.3': dependencies: '@tonconnect/isomorphic-eventsource': 0.0.2 '@tonconnect/isomorphic-fetch': 0.0.3 @@ -2030,12 +2039,12 @@ snapshots: transitivePeerDependencies: - encoding - '@tonconnect/ui@2.0.0': + '@tonconnect/ui@2.0.5': dependencies: - '@tonconnect/sdk': 3.0.0 + '@tonconnect/sdk': 3.0.3 classnames: 2.5.1 deepmerge: 4.3.1 - ua-parser-js: 1.0.37 + ua-parser-js: 1.0.38 transitivePeerDependencies: - encoding @@ -2199,6 +2208,10 @@ snapshots: '@ungap/structured-clone@1.2.0': {} + '@vitejs/plugin-basic-ssl@1.1.0(vite@5.2.11(@types/node@20.12.5))': + dependencies: + vite: 5.2.11(@types/node@20.12.5) + acorn-jsx@5.3.2(acorn@8.11.3): dependencies: acorn: 8.11.3 @@ -2825,11 +2838,11 @@ snapshots: dependencies: lru-cache: 6.0.0 - seroval-plugins@1.0.5(seroval@1.0.5): + seroval-plugins@1.0.7(seroval@1.0.7): dependencies: - seroval: 1.0.5 + seroval: 1.0.7 - seroval@1.0.5: {} + seroval@1.0.7: {} shebang-command@2.0.0: dependencies: @@ -2839,31 +2852,31 @@ snapshots: slash@3.0.0: {} - solid-devtools@0.30.1(solid-js@1.8.16)(vite@5.2.11(@types/node@20.12.5)): + solid-devtools@0.30.1(solid-js@1.8.17)(vite@5.2.11(@types/node@20.12.5)): dependencies: '@babel/core': 7.24.4 '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.4) '@babel/types': 7.24.0 - '@solid-devtools/debugger': 0.23.4(solid-js@1.8.16) - '@solid-devtools/shared': 0.13.2(solid-js@1.8.16) - solid-js: 1.8.16 + '@solid-devtools/debugger': 0.23.4(solid-js@1.8.17) + '@solid-devtools/shared': 0.13.2(solid-js@1.8.17) + solid-js: 1.8.17 optionalDependencies: vite: 5.2.11(@types/node@20.12.5) transitivePeerDependencies: - supports-color - solid-js@1.8.16: + solid-js@1.8.17: dependencies: csstype: 3.1.3 - seroval: 1.0.5 - seroval-plugins: 1.0.5(seroval@1.0.5) + seroval: 1.0.7 + seroval-plugins: 1.0.7(seroval@1.0.7) - solid-refresh@0.6.3(solid-js@1.8.16): + solid-refresh@0.6.3(solid-js@1.8.17): dependencies: '@babel/generator': 7.24.4 '@babel/helper-module-imports': 7.24.3 '@babel/types': 7.24.0 - solid-js: 1.8.16 + solid-js: 1.8.17 source-map-js@1.2.0: {} @@ -2934,7 +2947,7 @@ snapshots: typescript@5.4.4: {} - ua-parser-js@1.0.37: {} + ua-parser-js@1.0.38: {} undici-types@5.26.5: {} @@ -2952,14 +2965,14 @@ snapshots: validate-html-nesting@1.2.2: {} - vite-plugin-solid@2.10.2(solid-js@1.8.16)(vite@5.2.11(@types/node@20.12.5)): + vite-plugin-solid@2.10.2(solid-js@1.8.17)(vite@5.2.11(@types/node@20.12.5)): dependencies: '@babel/core': 7.24.4 '@types/babel__core': 7.20.5 babel-preset-solid: 1.8.16(@babel/core@7.24.4) merge-anything: 5.1.7 - solid-js: 1.8.16 - solid-refresh: 0.6.3(solid-js@1.8.16) + solid-js: 1.8.17 + solid-refresh: 0.6.3(solid-js@1.8.17) vite: 5.2.11(@types/node@20.12.5) vitefu: 0.2.5(vite@5.2.11(@types/node@20.12.5)) transitivePeerDependencies: diff --git a/src/index.tsx b/src/index.tsx index 7920fea..d75db15 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -5,6 +5,10 @@ import './index.css'; import { Root } from '@/components/Root.js'; +// Uncomment this import in case, you would like to develop the application even outside +// the Telegram application, just in your browser. +import './mockEnv.js'; + const root = document.getElementById('root'); if (import.meta.env.DEV && !(root instanceof HTMLElement)) { diff --git a/src/mockEnv.ts b/src/mockEnv.ts new file mode 100644 index 0000000..550572f --- /dev/null +++ b/src/mockEnv.ts @@ -0,0 +1,68 @@ +import { mockTelegramEnv, parseInitData, retrieveLaunchParams } from '@tma.js/sdk-solid'; + +// It is important, to mock the environment only for development purposes. When building the +// application, import.meta.env.DEV will become false, and the code inside will be tree-shaken, +// so you will not see it in your final bundle. +if (import.meta.env.DEV) { + let shouldMock: boolean; + + // Try to extract launch parameters to check if the current environment is Telegram-based. + try { + // If we are able to extract launch parameters, it means that we are already in the + // Telegram environment. So, there is no need to mock it. + retrieveLaunchParams(); + + // We could previously mock the environment. In case we did, we should do it again. The reason + // is the page could be reloaded, and we should apply mock again, because mocking also + // enables modifying the window object. + shouldMock = !!sessionStorage.getItem('____mocked'); + } catch (e) { + shouldMock = true; + } + + if (shouldMock) { + const initDataRaw = new URLSearchParams([ + ['user', JSON.stringify({ + id: 99281932, + first_name: 'Andrew', + last_name: 'Rogue', + username: 'rogue', + language_code: 'en', + is_premium: true, + allows_write_to_pm: true, + })], + ['hash', '89d6079ad6762351f38c6dbbc41bb53048019256a9443988af7a48bcad16ba31'], + ['auth_date', '1716922846'], + ['start_param', 'debug'], + ['chat_type', 'sender'], + ['chat_instance', '8428209589180549439'], + ]).toString(); + + mockTelegramEnv({ + themeParams: { + accentTextColor: '#6ab2f2', + bgColor: '#17212b', + buttonColor: '#5288c1', + buttonTextColor: '#ffffff', + destructiveTextColor: '#ec3942', + headerBgColor: '#17212b', + hintColor: '#708499', + linkColor: '#6ab3f3', + secondaryBgColor: '#232e3c', + sectionBgColor: '#17212b', + sectionHeaderTextColor: '#6ab3f3', + subtitleTextColor: '#708499', + textColor: '#f5f5f5', + }, + initData: parseInitData(initDataRaw), + initDataRaw, + version: '7.2', + platform: 'tdesktop', + }); + sessionStorage.setItem('____mocked', '1'); + + console.info( + 'As long as the current environment was not considered as the Telegram-based one, it was mocked. Take a note, that you should not do it in production and current behavior is only specific to the development process. Environment mocking is also applied only in development mode. So, after building the application, you will not see this behavior and related warning, leading to crashing the application outside Telegram.', + ); + } +} \ No newline at end of file diff --git a/vite.config.ts b/vite.config.ts index 20057af..2dc2d54 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,36 +1,29 @@ -// import { readFileSync } from 'node:fs'; -// import { dirname, resolve } from 'node:path'; -// import { fileURLToPath } from 'node:url'; import { defineConfig } from 'vite'; import solidPlugin from 'vite-plugin-solid'; import tsconfigPaths from 'vite-tsconfig-paths'; +// import basicSsl from '@vitejs/plugin-basic-ssl'; export default defineConfig({ - base: '/solidjs-template/', + base: '/solidjs-template', plugins: [ - /* - Uncomment the following line to enable solid-devtools. - For more info see https://github.com/thetarnav/solid-devtools/tree/main/packages/extension#readme - */ + // Uncomment the following line to enable solid-devtools. + // For more info see https://github.com/thetarnav/solid-devtools/tree/main/packages/extension#readme // devtools(), solidPlugin(), + // Allows using the compilerOptions.paths property in tsconfig.json. + // https://www.npmjs.com/package/vite-tsconfig-paths tsconfigPaths(), + // Allows using self-signed certificates to run the dev server using HTTPS. + // https://www.npmjs.com/package/@vitejs/plugin-basic-ssl + // basicSsl(), ], - // Uncomment the next lines in case, you would like to run Vite dev server using HTTPS and in case, - // you have key and certificate. You retrieve your certificate and key using mkcert. - // Learn more: - // https://docs.telegram-mini-apps.com/platform/getting-app-link#mkcert - // - // server: { - // port: 443, - // https: { - // cert: readFileSync(resolve(dirname(fileURLToPath(import.meta.url)), './tma.internal.pem')), - // key: readFileSync(resolve(dirname(fileURLToPath(import.meta.url)), './tma.internal-key.pem')), - // }, - // host: 'tma.internal', - // }, build: { target: 'esnext', }, - publicDir: './public' + publicDir: './public', + server: { + // Uncomment this line if you want to expose your dev server and access it from the devices + // in the same network. + // host: true, + }, });