From 3b2b9b02e4f1ca1e7ac5ccfd51d9ac649ce99b5e Mon Sep 17 00:00:00 2001 From: Vladislav Kibenko Date: Fri, 8 Mar 2024 16:52:15 +0300 Subject: [PATCH 1/4] feat(deps): update @types/node deps --- packages/init-data-node/package.json | 2 +- pnpm-lock.yaml | 454 +++++++++++++++++---------- 2 files changed, 284 insertions(+), 172 deletions(-) diff --git a/packages/init-data-node/package.json b/packages/init-data-node/package.json index 5a2fdb163..4b4ff526a 100644 --- a/packages/init-data-node/package.json +++ b/packages/init-data-node/package.json @@ -44,7 +44,7 @@ "build": "vite build" }, "devDependencies": { - "@types/node": "^16.0.0", + "@types/node": "^20.0.0", "build-utils": "workspace:*", "eslint-config-custom": "workspace:*", "tsconfig": "workspace:*" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3808d8608..d705e47eb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,7 +16,7 @@ importers: version: 15.2.3 '@turbo/gen': specifier: ^1.9.7 - version: 1.9.7(@types/node@20.10.8)(typescript@5.3.2) + version: 1.9.7(@types/node@20.11.25)(typescript@5.3.2) '@vitest/coverage-v8': specifier: ^0.34.6 version: 0.34.6(vitest@0.34.6) @@ -25,10 +25,10 @@ importers: version: 0.34.6(vitest@0.34.6) commitizen: specifier: ^4.3.0 - version: 4.3.0(@types/node@20.10.8)(typescript@5.3.2) + version: 4.3.0(@types/node@20.11.25)(typescript@5.3.2) cz-conventional-changelog: specifier: ^3.3.0 - version: 3.3.0(@types/node@20.10.8)(typescript@5.3.2) + version: 3.3.0(@types/node@20.11.25)(typescript@5.3.2) eslint: specifier: ^8.56.0 version: 8.56.0 @@ -49,10 +49,10 @@ importers: version: 5.3.2 vite: specifier: ^4.5.0 - version: 4.5.0(@types/node@20.10.8) + version: 4.5.0(@types/node@20.11.25) vite-plugin-dts: specifier: ^3.6.0 - version: 3.6.0(@types/node@20.10.8)(typescript@5.3.2)(vite@4.5.0) + version: 3.6.0(@types/node@20.11.25)(typescript@5.3.2)(vite@4.5.0) vite-plugin-solid: specifier: ^2.7.0 version: 2.7.0(solid-js@1.8.10)(vite@4.5.0) @@ -67,7 +67,7 @@ importers: devDependencies: vitepress: specifier: 1.0.0-rc.24 - version: 1.0.0-rc.24(@algolia/client-search@4.22.1)(@types/node@20.10.8)(search-insights@2.13.0)(typescript@5.3.2) + version: 1.0.0-rc.24(@algolia/client-search@4.22.1)(@types/node@20.11.25)(search-insights@2.13.0)(typescript@5.3.2) apps/local-playground: {} @@ -77,6 +77,46 @@ importers: specifier: workspace:* version: link:../tsconfig + packages/create-mini-app: + dependencies: + chalk: + specifier: ^5.3.0 + version: 5.3.0 + cli-spinners: + specifier: ^2.9.2 + version: 2.9.2 + commander: + specifier: ^12.0.0 + version: 12.0.0 + inquirer: + specifier: ^9.2.15 + version: 9.2.15 + node-spinner: + specifier: ^0.0.4 + version: 0.0.4 + ora: + specifier: ^8.0.1 + version: 8.0.1 + devDependencies: + '@types/inquirer': + specifier: ^9.0.7 + version: 9.0.7 + '@types/node': + specifier: ^20.0.0 + version: 20.11.25 + build-utils: + specifier: workspace:* + version: link:../build-utils + eslint-config-custom: + specifier: workspace:* + version: link:../eslint-config-custom + test-utils: + specifier: workspace:* + version: link:../test-utils + tsconfig: + specifier: workspace:* + version: link:../tsconfig + packages/eslint-config-custom: dependencies: eslint-config-airbnb: @@ -96,7 +136,7 @@ importers: version: 10.0.0(eslint@8.56.0) eslint-plugin-solid: specifier: ^0.13.0 - version: 0.13.0(eslint@8.56.0)(typescript@5.3.3) + version: 0.13.0(eslint@8.56.0)(typescript@5.3.2) packages/init-data-node: dependencies: @@ -105,8 +145,8 @@ importers: version: link:../sdk devDependencies: '@types/node': - specifier: ^16.0.0 - version: 16.0.0 + specifier: ^20.0.0 + version: 20.11.25 build-utils: specifier: workspace:* version: link:../build-utils @@ -963,7 +1003,7 @@ packages: dev: true optional: true - /@commitlint/load@18.4.4(@types/node@20.10.8)(typescript@5.3.2): + /@commitlint/load@18.4.4(@types/node@20.11.25)(typescript@5.3.2): resolution: {integrity: sha512-RaDIa9qwOw2xRJ3Jr2DBXd14rmnHJIX2XdZF4kmoF1rgsg/+7cvrExLSUNAkQUNimyjCn1b/bKX2Omm+GdY0XQ==} engines: {node: '>=v18'} requiresBuild: true @@ -974,7 +1014,7 @@ packages: '@commitlint/types': 18.4.4 chalk: 4.1.2 cosmiconfig: 8.3.6(typescript@5.3.2) - cosmiconfig-typescript-loader: 5.0.0(@types/node@20.10.8)(cosmiconfig@8.3.6)(typescript@5.3.2) + cosmiconfig-typescript-loader: 5.0.0(@types/node@20.11.25)(cosmiconfig@8.3.6)(typescript@5.3.2) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -1355,6 +1395,13 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 dev: true + /@ljharb/through@2.3.12: + resolution: {integrity: sha512-ajo/heTlG3QgC8EGP6APIejksVAYt4ayz4tqoP3MolFELzcH1x1fzwEYRJTPO0IELutZ5HQ0c26/GqAYy79u3g==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + dev: false + /@manypkg/find-root@1.1.0: resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} dependencies: @@ -1375,24 +1422,24 @@ packages: read-yaml-file: 1.1.0 dev: true - /@microsoft/api-extractor-model@7.28.2(@types/node@20.10.8): + /@microsoft/api-extractor-model@7.28.2(@types/node@20.11.25): resolution: {integrity: sha512-vkojrM2fo3q4n4oPh4uUZdjJ2DxQ2+RnDQL/xhTWSRUNPF6P4QyrvY357HBxbnltKcYu+nNNolVqc6TIGQ73Ig==} dependencies: '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 3.61.0(@types/node@20.10.8) + '@rushstack/node-core-library': 3.61.0(@types/node@20.11.25) transitivePeerDependencies: - '@types/node' dev: true - /@microsoft/api-extractor@7.37.3(@types/node@20.10.8): + /@microsoft/api-extractor@7.37.3(@types/node@20.11.25): resolution: {integrity: sha512-daC5IKZw/Qg8DYucnQVvagihKsTr5L7Bgf5VJYe/FwQhQuR9VRqKZfr2JkqoszsVqOf8C0KtFNTaqyB7chD/HQ==} hasBin: true dependencies: - '@microsoft/api-extractor-model': 7.28.2(@types/node@20.10.8) + '@microsoft/api-extractor-model': 7.28.2(@types/node@20.11.25) '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 3.61.0(@types/node@20.10.8) + '@rushstack/node-core-library': 3.61.0(@types/node@20.11.25) '@rushstack/rig-package': 0.5.1 '@rushstack/ts-command-line': 4.16.1 colors: 1.2.5 @@ -1471,7 +1518,7 @@ packages: picomatch: 2.3.1 dev: true - /@rushstack/node-core-library@3.61.0(@types/node@20.10.8): + /@rushstack/node-core-library@3.61.0(@types/node@20.11.25): resolution: {integrity: sha512-tdOjdErme+/YOu4gPed3sFS72GhtWCgNV9oDsHDnoLY5oDfwjKUc9Z+JOZZ37uAxcm/OCahDHfuu2ugqrfWAVQ==} peerDependencies: '@types/node': '*' @@ -1479,7 +1526,7 @@ packages: '@types/node': optional: true dependencies: - '@types/node': 20.10.8 + '@types/node': 20.11.25 colors: 1.2.5 fs-extra: 7.0.1 import-lazy: 4.0.0 @@ -1533,7 +1580,7 @@ packages: resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} dev: true - /@turbo/gen@1.9.7(@types/node@20.10.8)(typescript@5.3.2): + /@turbo/gen@1.9.7(@types/node@20.11.25)(typescript@5.3.2): resolution: {integrity: sha512-mjenROdRNvYxZixNfamJY/XxwKMT+01PuQby8+qdRUUa5ZLBPOv4rw11n+II1O8ZnpFpBJIGGFJcnRNY+lCddw==} hasBin: true dependencies: @@ -1544,7 +1591,7 @@ packages: minimatch: 9.0.3 node-plop: 0.26.3 semver: 7.3.8 - ts-node: 10.9.1(@types/node@20.10.8)(typescript@5.3.2) + ts-node: 10.9.1(@types/node@20.11.25)(typescript@5.3.2) update-check: 1.5.4 validate-npm-package-name: 5.0.0 transitivePeerDependencies: @@ -1605,7 +1652,7 @@ packages: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 3.0.5 - '@types/node': 16.0.0 + '@types/node': 20.11.25 dev: true /@types/inquirer@6.5.0: @@ -1615,6 +1662,13 @@ packages: rxjs: 6.6.7 dev: true + /@types/inquirer@9.0.7: + resolution: {integrity: sha512-Q0zyBupO6NxGRZut/JdmqYKOnN95Eg5V8Csg3PGKkP+FnvsUZx1jAyK7fztIszxxMuoBA6E3KXWvdZVXIpx60g==} + dependencies: + '@types/through': 0.0.30 + rxjs: 7.8.1 + dev: true + /@types/is-ci@3.0.0: resolution: {integrity: sha512-Q0Op0hdWbYd1iahB+IFNQcWXFq4O0Q5MwQP7uN0souuQ4rPg1vEYcnIOfr1gY+M+6rc8FGoRaBO1mOOvL29sEQ==} dependencies: @@ -1664,12 +1718,8 @@ packages: resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} dev: true - /@types/node@16.0.0: - resolution: {integrity: sha512-TmCW5HoZ2o2/z2EYi109jLqIaPIi9y/lc2LmDCWzuCi35bcaQ+OtUh6nwBiFK7SOu25FAU5+YKdqFZUwtqGSdg==} - dev: true - - /@types/node@20.10.8: - resolution: {integrity: sha512-f8nQs3cLxbAFc00vEU59yf9UyGUftkPaLGfvbVOIDdx2i1b8epBqj2aNGyP19fiyXWvlmZ7qC1XLjAzw/OKIeA==} + /@types/node@20.11.25: + resolution: {integrity: sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw==} dependencies: undici-types: 5.26.5 dev: true @@ -1713,14 +1763,14 @@ packages: /@types/through@0.0.30: resolution: {integrity: sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==} dependencies: - '@types/node': 16.0.0 + '@types/node': 20.11.25 dev: true /@types/web-bluetooth@0.0.18: resolution: {integrity: sha512-v/ZHEj9xh82usl8LMR3GarzFY1IrbXJw5L4QfQhokjRV91q+SelFqxQWSep1ucXEZ22+dSTwLFkXeur25sPIbw==} dev: true - /@typescript-eslint/eslint-plugin@6.18.1(@typescript-eslint/parser@6.18.1)(eslint@8.56.0)(typescript@5.3.3): + /@typescript-eslint/eslint-plugin@6.18.1(@typescript-eslint/parser@6.18.1)(eslint@8.56.0)(typescript@5.3.2): resolution: {integrity: sha512-nISDRYnnIpk7VCFrGcu1rnZfM1Dh9LRHnfgdkjcbi/l7g16VYRri3TjXi9Ir4lOZSw5N/gnV/3H7jIPQ8Q4daA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -1732,10 +1782,10 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.18.1(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.18.1(eslint@8.56.0)(typescript@5.3.2) '@typescript-eslint/scope-manager': 6.18.1 - '@typescript-eslint/type-utils': 6.18.1(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/utils': 6.18.1(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/type-utils': 6.18.1(eslint@8.56.0)(typescript@5.3.2) + '@typescript-eslint/utils': 6.18.1(eslint@8.56.0)(typescript@5.3.2) '@typescript-eslint/visitor-keys': 6.18.1 debug: 4.3.4 eslint: 8.56.0 @@ -1743,13 +1793,13 @@ packages: ignore: 5.3.0 natural-compare: 1.4.0 semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.3.3) - typescript: 5.3.3 + ts-api-utils: 1.0.3(typescript@5.3.2) + typescript: 5.3.2 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/parser@6.18.1(eslint@8.56.0)(typescript@5.3.3): + /@typescript-eslint/parser@6.18.1(eslint@8.56.0)(typescript@5.3.2): resolution: {integrity: sha512-zct/MdJnVaRRNy9e84XnVtRv9Vf91/qqe+hZJtKanjojud4wAVy/7lXxJmMyX6X6J+xc6c//YEWvpeif8cAhWA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -1761,11 +1811,11 @@ packages: dependencies: '@typescript-eslint/scope-manager': 6.18.1 '@typescript-eslint/types': 6.18.1 - '@typescript-eslint/typescript-estree': 6.18.1(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.18.1(typescript@5.3.2) '@typescript-eslint/visitor-keys': 6.18.1 debug: 4.3.4 eslint: 8.56.0 - typescript: 5.3.3 + typescript: 5.3.2 transitivePeerDependencies: - supports-color dev: false @@ -1786,7 +1836,7 @@ packages: '@typescript-eslint/visitor-keys': 6.18.1 dev: false - /@typescript-eslint/type-utils@6.18.1(eslint@8.56.0)(typescript@5.3.3): + /@typescript-eslint/type-utils@6.18.1(eslint@8.56.0)(typescript@5.3.2): resolution: {integrity: sha512-wyOSKhuzHeU/5pcRDP2G2Ndci+4g653V43gXTpt4nbyoIOAASkGDA9JIAgbQCdCkcr1MvpSYWzxTz0olCn8+/Q==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -1796,12 +1846,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.18.1(typescript@5.3.3) - '@typescript-eslint/utils': 6.18.1(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.18.1(typescript@5.3.2) + '@typescript-eslint/utils': 6.18.1(eslint@8.56.0)(typescript@5.3.2) debug: 4.3.4 eslint: 8.56.0 - ts-api-utils: 1.0.3(typescript@5.3.3) - typescript: 5.3.3 + ts-api-utils: 1.0.3(typescript@5.3.2) + typescript: 5.3.2 transitivePeerDependencies: - supports-color dev: false @@ -1816,7 +1866,7 @@ packages: engines: {node: ^16.0.0 || >=18.0.0} dev: false - /@typescript-eslint/typescript-estree@6.12.0(typescript@5.3.3): + /@typescript-eslint/typescript-estree@6.12.0(typescript@5.3.2): resolution: {integrity: sha512-vw9E2P9+3UUWzhgjyyVczLWxZ3GuQNT7QpnIY3o5OMeLO/c8oHljGc8ZpryBMIyympiAAaKgw9e5Hl9dCWFOYw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -1831,13 +1881,13 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.3.3) - typescript: 5.3.3 + ts-api-utils: 1.0.3(typescript@5.3.2) + typescript: 5.3.2 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/typescript-estree@6.18.1(typescript@5.3.3): + /@typescript-eslint/typescript-estree@6.18.1(typescript@5.3.2): resolution: {integrity: sha512-fv9B94UAhywPRhUeeV/v+3SBDvcPiLxRZJw/xZeeGgRLQZ6rLMG+8krrJUyIf6s1ecWTzlsbp0rlw7n9sjufHA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -1853,13 +1903,13 @@ packages: is-glob: 4.0.3 minimatch: 9.0.3 semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.3.3) - typescript: 5.3.3 + ts-api-utils: 1.0.3(typescript@5.3.2) + typescript: 5.3.2 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/utils@6.12.0(eslint@8.56.0)(typescript@5.3.3): + /@typescript-eslint/utils@6.12.0(eslint@8.56.0)(typescript@5.3.2): resolution: {integrity: sha512-LywPm8h3tGEbgfyjYnu3dauZ0U7R60m+miXgKcZS8c7QALO9uWJdvNoP+duKTk2XMWc7/Q3d/QiCuLN9X6SWyQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -1870,7 +1920,7 @@ packages: '@types/semver': 7.5.2 '@typescript-eslint/scope-manager': 6.12.0 '@typescript-eslint/types': 6.12.0 - '@typescript-eslint/typescript-estree': 6.12.0(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.12.0(typescript@5.3.2) eslint: 8.56.0 semver: 7.5.4 transitivePeerDependencies: @@ -1878,7 +1928,7 @@ packages: - typescript dev: false - /@typescript-eslint/utils@6.18.1(eslint@8.56.0)(typescript@5.3.3): + /@typescript-eslint/utils@6.18.1(eslint@8.56.0)(typescript@5.3.2): resolution: {integrity: sha512-zZmTuVZvD1wpoceHvoQpOiewmWu3uP9FuTWo8vqpy2ffsmfCE8mklRPi+vmnIYAIk9t/4kOThri2QCDgor+OpQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -1889,7 +1939,7 @@ packages: '@types/semver': 7.5.6 '@typescript-eslint/scope-manager': 6.18.1 '@typescript-eslint/types': 6.18.1 - '@typescript-eslint/typescript-estree': 6.18.1(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.18.1(typescript@5.3.2) eslint: 8.56.0 semver: 7.5.4 transitivePeerDependencies: @@ -1923,7 +1973,7 @@ packages: vite: ^4.0.0 vue: ^3.2.25 dependencies: - vite: 4.5.0(@types/node@20.10.8) + vite: 4.5.0(@types/node@20.11.25) vue: 3.3.6(typescript@5.3.2) dev: true @@ -2314,12 +2364,16 @@ packages: engines: {node: '>=8'} dependencies: type-fest: 0.21.3 - dev: true /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} + /ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + dev: false + /ansi-sequence-parser@1.1.1: resolution: {integrity: sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==} dev: true @@ -2501,7 +2555,6 @@ packages: /base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - dev: true /better-path-resolve@1.0.0: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} @@ -2516,7 +2569,6 @@ packages: buffer: 5.7.1 inherits: 2.0.4 readable-stream: 3.6.2 - dev: true /brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} @@ -2557,7 +2609,6 @@ packages: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - dev: true /builtin-modules@3.3.0: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} @@ -2646,6 +2697,11 @@ packages: ansi-styles: 4.3.0 supports-color: 7.2.0 + /chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + dev: false + /change-case@3.1.0: resolution: {integrity: sha512-2AZp7uJZbYEzRPsFoa+ijKdvp9zsrnnt6+yFokfwEpeJm0xuJDVoxiRCAaTzyJND8GJkofo2IcKWaUZ/OECVzw==} dependencies: @@ -2671,7 +2727,6 @@ packages: /chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - dev: true /check-error@1.0.3: resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} @@ -2694,18 +2749,28 @@ packages: engines: {node: '>=8'} dependencies: restore-cursor: 3.1.0 - dev: true - /cli-spinners@2.7.0: - resolution: {integrity: sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==} + /cli-cursor@4.0.0: + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + restore-cursor: 4.0.0 + dev: false + + /cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} - dev: true /cli-width@3.0.0: resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} engines: {node: '>= 10'} dev: true + /cli-width@4.1.0: + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} + dev: false + /cliui@6.0.0: resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} dependencies: @@ -2726,7 +2791,6 @@ packages: /clone@1.0.4: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} - dev: true /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} @@ -2757,6 +2821,11 @@ packages: engines: {node: '>=14'} dev: true + /commander@12.0.0: + resolution: {integrity: sha512-MwVNWlYjDTtOjX5PiD7o5pK0UrFU/OYgcJfjjK4RaHZETNtjJqrZa9Y9ds88+A+f+d5lv+561eZ+yCKoS3gbAA==} + engines: {node: '>=18'} + dev: false + /commander@9.5.0: resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} engines: {node: ^12.20.0 || >=14} @@ -2764,13 +2833,13 @@ packages: dev: true optional: true - /commitizen@4.3.0(@types/node@20.10.8)(typescript@5.3.2): + /commitizen@4.3.0(@types/node@20.11.25)(typescript@5.3.2): resolution: {integrity: sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw==} engines: {node: '>= 12'} hasBin: true dependencies: cachedir: 2.3.0 - cz-conventional-changelog: 3.3.0(@types/node@20.10.8)(typescript@5.3.2) + cz-conventional-changelog: 3.3.0(@types/node@20.11.25)(typescript@5.3.2) dedent: 0.7.0 detect-indent: 6.1.0 find-node-modules: 2.1.3 @@ -2815,7 +2884,7 @@ packages: requiresBuild: true dev: true - /cosmiconfig-typescript-loader@5.0.0(@types/node@20.10.8)(cosmiconfig@8.3.6)(typescript@5.3.2): + /cosmiconfig-typescript-loader@5.0.0(@types/node@20.11.25)(cosmiconfig@8.3.6)(typescript@5.3.2): resolution: {integrity: sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==} engines: {node: '>=v16'} requiresBuild: true @@ -2824,7 +2893,7 @@ packages: cosmiconfig: '>=8.2' typescript: '>=4' dependencies: - '@types/node': 20.10.8 + '@types/node': 20.11.25 cosmiconfig: 8.3.6(typescript@5.3.2) jiti: 1.21.0 typescript: 5.3.2 @@ -2901,18 +2970,18 @@ packages: stream-transform: 2.1.3 dev: true - /cz-conventional-changelog@3.3.0(@types/node@20.10.8)(typescript@5.3.2): + /cz-conventional-changelog@3.3.0(@types/node@20.11.25)(typescript@5.3.2): resolution: {integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==} engines: {node: '>= 10'} dependencies: chalk: 2.4.2 - commitizen: 4.3.0(@types/node@20.10.8)(typescript@5.3.2) + commitizen: 4.3.0(@types/node@20.11.25)(typescript@5.3.2) conventional-commit-types: 3.0.0 lodash.map: 4.6.0 longest: 2.0.1 word-wrap: 1.2.3 optionalDependencies: - '@commitlint/load': 18.4.4(@types/node@20.10.8)(typescript@5.3.2) + '@commitlint/load': 18.4.4(@types/node@20.11.25)(typescript@5.3.2) transitivePeerDependencies: - '@types/node' - typescript @@ -2989,7 +3058,6 @@ packages: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} dependencies: clone: 1.0.4 - dev: true /define-data-property@1.1.1: resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} @@ -3075,9 +3143,12 @@ packages: resolution: {integrity: sha512-9AreocSUWnzNtvLcbpng6N+GkXnCcBR80IQkxRC9Dfdyg4gaWNUPBujAHUpKkiUkoSoR9UlhA4zD/IgBklmhzg==} dev: true + /emoji-regex@10.3.0: + resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} + dev: false + /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: true /emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} @@ -3224,7 +3295,6 @@ packages: /escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} - dev: true /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} @@ -3253,8 +3323,8 @@ packages: eslint: ^7.32.0 || ^8.2.0 eslint-plugin-import: ^2.25.3 dependencies: - '@typescript-eslint/eslint-plugin': 6.18.1(@typescript-eslint/parser@6.18.1)(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/parser': 6.18.1(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/eslint-plugin': 6.18.1(@typescript-eslint/parser@6.18.1)(eslint@8.56.0)(typescript@5.3.2) + '@typescript-eslint/parser': 6.18.1(eslint@8.56.0)(typescript@5.3.2) eslint: 8.56.0 eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.29.0)(eslint@8.56.0) eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.18.1)(eslint@8.56.0) @@ -3311,7 +3381,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.18.1(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.18.1(eslint@8.56.0)(typescript@5.3.2) debug: 3.2.7 eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 @@ -3329,7 +3399,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.18.1(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.18.1(eslint@8.56.0)(typescript@5.3.2) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 @@ -3421,13 +3491,13 @@ packages: eslint: 8.56.0 dev: false - /eslint-plugin-solid@0.13.0(eslint@8.56.0)(typescript@5.3.3): + /eslint-plugin-solid@0.13.0(eslint@8.56.0)(typescript@5.3.2): resolution: {integrity: sha512-Sutd+DxEGu9+Z9ITtHKXRAClxVe1a6C1XQZSuN8iBsMy0IAVEc6Tca1UYgc7tD2ZrRRjZKB9mohBOaZl5NJLgg==} engines: {node: '>=12.0.0'} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@typescript-eslint/utils': 6.12.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.12.0(eslint@8.56.0)(typescript@5.3.2) eslint: 8.56.0 is-html: 2.0.0 jsx-ast-utils: 3.3.5 @@ -3552,7 +3622,6 @@ packages: chardet: 0.7.0 iconv-lite: 0.4.24 tmp: 0.0.33 - dev: true /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -3587,7 +3656,6 @@ packages: engines: {node: '>=8'} dependencies: escape-string-regexp: 1.0.5 - dev: true /file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} @@ -3743,6 +3811,11 @@ packages: engines: {node: 6.* || 8.* || >= 10.*} dev: true + /get-east-asian-width@1.2.0: + resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} + engines: {node: '>=18'} + dev: false + /get-func-name@2.0.2: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} dev: true @@ -3990,7 +4063,6 @@ packages: engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 - dev: true /iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} @@ -4001,7 +4073,6 @@ packages: /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - dev: true /ignore@5.2.4: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} @@ -4089,6 +4160,27 @@ packages: wrap-ansi: 7.0.0 dev: true + /inquirer@9.2.15: + resolution: {integrity: sha512-vI2w4zl/mDluHt9YEQ/543VTCwPKWiHzKtm9dM2V0NdFcqEexDAjUHzO1oA60HRNaVifGXXM1tRRNluLVHa0Kg==} + engines: {node: '>=18'} + dependencies: + '@ljharb/through': 2.3.12 + ansi-escapes: 4.3.2 + chalk: 5.3.0 + cli-cursor: 3.1.0 + cli-width: 4.1.0 + external-editor: 3.1.0 + figures: 3.2.0 + lodash: 4.17.21 + mute-stream: 1.0.0 + ora: 5.4.1 + run-async: 3.0.0 + rxjs: 7.8.1 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + dev: false + /internal-slot@1.0.6: resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} engines: {node: '>= 0.4'} @@ -4170,7 +4262,6 @@ packages: /is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} - dev: true /is-generator-function@1.0.10: resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} @@ -4195,7 +4286,11 @@ packages: /is-interactive@1.0.0: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} - dev: true + + /is-interactive@2.0.0: + resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} + engines: {node: '>=12'} + dev: false /is-lower-case@1.1.3: resolution: {integrity: sha512-+5A1e/WJpLLXZEDlgz4G//WYSHyQBD32qa4Jd3Lw06qQlv3fJHnp3YIHjTQSGzHMgzmVKz2ZP3rBxTHkPw/lxA==} @@ -4283,7 +4378,16 @@ packages: /is-unicode-supported@0.1.0: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} - dev: true + + /is-unicode-supported@1.3.0: + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} + dev: false + + /is-unicode-supported@2.0.0: + resolution: {integrity: sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==} + engines: {node: '>=18'} + dev: false /is-upper-case@1.1.2: resolution: {integrity: sha512-GQYSJMgfeAmVwh9ixyk888l7OIhNAGKtY6QA+IrWlu9MDTCaXmeozOZ2S9Knj7bQwBO/H6J2kb+pbyTUiMNbsw==} @@ -4450,7 +4554,7 @@ packages: /jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} optionalDependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 dev: true /jsonfile@6.1.0: @@ -4588,7 +4692,6 @@ packages: /lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - dev: true /log-symbols@4.1.0: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} @@ -4596,7 +4699,14 @@ packages: dependencies: chalk: 4.1.2 is-unicode-supported: 0.1.0 - dev: true + + /log-symbols@6.0.0: + resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==} + engines: {node: '>=18'} + dependencies: + chalk: 5.3.0 + is-unicode-supported: 1.3.0 + dev: false /longest@2.0.1: resolution: {integrity: sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==} @@ -4726,7 +4836,6 @@ packages: /mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} - dev: true /min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} @@ -4805,6 +4914,11 @@ packages: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} dev: true + /mute-stream@1.0.0: + resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: false + /nanoid@3.3.6: resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -4845,6 +4959,12 @@ packages: resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} dev: true + /node-spinner@0.0.4: + resolution: {integrity: sha512-W4ivgsaxoJr1wSppeEQGYrq23GuMniTwJNZWLpFadCIuxwu1srmdH2uH+VlaMnxvjBqZ4NlcCBQEOmB3mXF+cA==} + dependencies: + util-extend: 1.0.3 + dev: false + /normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: @@ -4928,7 +5048,6 @@ packages: engines: {node: '>=6'} dependencies: mimic-fn: 2.1.0 - dev: true /optionator@0.9.3: resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} @@ -4948,18 +5067,31 @@ packages: bl: 4.1.0 chalk: 4.1.2 cli-cursor: 3.1.0 - cli-spinners: 2.7.0 + cli-spinners: 2.9.2 is-interactive: 1.0.0 is-unicode-supported: 0.1.0 log-symbols: 4.1.0 strip-ansi: 6.0.1 wcwidth: 1.0.1 - dev: true + + /ora@8.0.1: + resolution: {integrity: sha512-ANIvzobt1rls2BDny5fWZ3ZVKyD6nscLvfFRpQgfWsythlcsVUC9kL0zq6j2Z5z9wwp1kd7wpsD/T9qNPVLCaQ==} + engines: {node: '>=18'} + dependencies: + chalk: 5.3.0 + cli-cursor: 4.0.0 + cli-spinners: 2.9.2 + is-interactive: 2.0.0 + is-unicode-supported: 2.0.0 + log-symbols: 6.0.0 + stdin-discarder: 0.2.2 + string-width: 7.1.0 + strip-ansi: 7.1.0 + dev: false /os-tmpdir@1.0.2: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} - dev: true /outdent@0.5.0: resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} @@ -5252,7 +5384,6 @@ packages: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - dev: true /redent@3.0.0: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} @@ -5377,7 +5508,14 @@ packages: dependencies: onetime: 5.1.2 signal-exit: 3.0.7 - dev: true + + /restore-cursor@4.0.0: + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: false /reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} @@ -5402,6 +5540,11 @@ packages: engines: {node: '>=0.12.0'} dev: true + /run-async@3.0.0: + resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} + engines: {node: '>=0.12.0'} + dev: false + /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: @@ -5418,7 +5561,6 @@ packages: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: tslib: 2.6.2 - dev: true /safe-array-concat@1.0.1: resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} @@ -5431,7 +5573,6 @@ packages: /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: true /safe-regex-test@1.0.0: resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} @@ -5442,7 +5583,6 @@ packages: /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - dev: true /search-insights@2.13.0: resolution: {integrity: sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==} @@ -5561,7 +5701,6 @@ packages: /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: true /sirv@2.0.3: resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==} @@ -5671,6 +5810,11 @@ packages: resolution: {integrity: sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==} dev: true + /stdin-discarder@0.2.2: + resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} + engines: {node: '>=18'} + dev: false + /stream-transform@2.1.3: resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} dependencies: @@ -5689,7 +5833,15 @@ packages: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - dev: true + + /string-width@7.1.0: + resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==} + engines: {node: '>=18'} + dependencies: + emoji-regex: 10.3.0 + get-east-asian-width: 1.2.0 + strip-ansi: 7.1.0 + dev: false /string.prototype.matchall@4.0.10: resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} @@ -5731,7 +5883,6 @@ packages: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: safe-buffer: 5.2.1 - dev: true /strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} @@ -5739,6 +5890,13 @@ packages: dependencies: ansi-regex: 5.0.1 + /strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + dependencies: + ansi-regex: 6.0.1 + dev: false + /strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} @@ -5851,7 +6009,6 @@ packages: engines: {node: '>=0.6.0'} dependencies: os-tmpdir: 1.0.2 - dev: true /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} @@ -5874,16 +6031,16 @@ packages: engines: {node: '>=8'} dev: true - /ts-api-utils@1.0.3(typescript@5.3.3): + /ts-api-utils@1.0.3(typescript@5.3.2): resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} engines: {node: '>=16.13.0'} peerDependencies: typescript: '>=4.2.0' dependencies: - typescript: 5.3.3 + typescript: 5.3.2 dev: false - /ts-node@10.9.1(@types/node@20.10.8)(typescript@5.3.2): + /ts-node@10.9.1(@types/node@20.11.25)(typescript@5.3.2): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -5902,7 +6059,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.3 - '@types/node': 20.10.8 + '@types/node': 20.11.25 acorn: 8.10.0 acorn-walk: 8.2.0 arg: 4.1.3 @@ -5946,7 +6103,6 @@ packages: /tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - dev: true /tty-table@4.2.1: resolution: {integrity: sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g==} @@ -6045,7 +6201,6 @@ packages: /type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} - dev: true /type-fest@0.6.0: resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} @@ -6101,13 +6256,6 @@ packages: resolution: {integrity: sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==} engines: {node: '>=14.17'} hasBin: true - dev: true - - /typescript@5.3.3: - resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} - engines: {node: '>=14.17'} - hasBin: true - dev: false /ufo@1.3.1: resolution: {integrity: sha512-uY/99gMLIOlJPwATcMVYfqDSxUR9//AUcgZMzwfSTJPDKzA1S8mX4VLqa+fiAtveraQUBCz4FFcwVZBGbwBXIw==} @@ -6131,7 +6279,6 @@ packages: /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - requiresBuild: true dev: true /universalify@0.1.2: @@ -6179,7 +6326,10 @@ packages: /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - dev: true + + /util-extend@1.0.3: + resolution: {integrity: sha512-mLs5zAK+ctllYBj+iAQvlDCwoxU/WDOUaJkcFudeiAX6OajC6BKXJUa9a+tbtkC11dz2Ufb7h0lyvIOVn4LADA==} + dev: false /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} @@ -6217,7 +6367,7 @@ packages: engines: {node: '>= 0.10'} dev: true - /vite-node@0.34.6(@types/node@16.0.0): + /vite-node@0.34.6(@types/node@20.11.25): resolution: {integrity: sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==} engines: {node: '>=v14.18.0'} hasBin: true @@ -6227,7 +6377,7 @@ packages: mlly: 1.4.2 pathe: 1.1.1 picocolors: 1.0.0 - vite: 4.5.0(@types/node@16.0.0) + vite: 4.5.0(@types/node@20.11.25) transitivePeerDependencies: - '@types/node' - less @@ -6239,7 +6389,7 @@ packages: - terser dev: true - /vite-plugin-dts@3.6.0(@types/node@20.10.8)(typescript@5.3.2)(vite@4.5.0): + /vite-plugin-dts@3.6.0(@types/node@20.11.25)(typescript@5.3.2)(vite@4.5.0): resolution: {integrity: sha512-doxhDRFJCZD2sGjIp4V800nm8Y19GvmwckjG5vYPuiqJ7OBjc9NlW1Vp9Gkyh2aXlUs1jTDRH/lxWfcsPLOQHg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -6249,13 +6399,13 @@ packages: vite: optional: true dependencies: - '@microsoft/api-extractor': 7.37.3(@types/node@20.10.8) + '@microsoft/api-extractor': 7.37.3(@types/node@20.11.25) '@rollup/pluginutils': 5.0.2 '@vue/language-core': 1.8.15(typescript@5.3.2) debug: 4.3.4 kolorist: 1.8.0 typescript: 5.3.2 - vite: 4.5.0(@types/node@20.10.8) + vite: 4.5.0(@types/node@20.11.25) vue-tsc: 1.8.15(typescript@5.3.2) transitivePeerDependencies: - '@types/node' @@ -6276,7 +6426,7 @@ packages: merge-anything: 5.1.7 solid-js: 1.8.10 solid-refresh: 0.5.3(solid-js@1.8.10) - vite: 4.5.0(@types/node@20.10.8) + vite: 4.5.0(@types/node@20.11.25) vitefu: 0.2.4(vite@4.5.0) transitivePeerDependencies: - supports-color @@ -6293,13 +6443,13 @@ packages: debug: 4.3.4 globrex: 0.1.2 tsconfck: 2.1.2(typescript@5.3.2) - vite: 4.5.0(@types/node@20.10.8) + vite: 4.5.0(@types/node@20.11.25) transitivePeerDependencies: - supports-color - typescript dev: true - /vite@4.5.0(@types/node@16.0.0): + /vite@4.5.0(@types/node@20.11.25): resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -6327,43 +6477,7 @@ packages: terser: optional: true dependencies: - '@types/node': 16.0.0 - esbuild: 0.18.20 - postcss: 8.4.31 - rollup: 3.29.4 - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /vite@4.5.0(@types/node@20.10.8): - resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==} - engines: {node: ^14.18.0 || >=16.0.0} - hasBin: true - peerDependencies: - '@types/node': '>= 14' - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 20.10.8 + '@types/node': 20.11.25 esbuild: 0.18.20 postcss: 8.4.31 rollup: 3.29.4 @@ -6379,10 +6493,10 @@ packages: vite: optional: true dependencies: - vite: 4.5.0(@types/node@20.10.8) + vite: 4.5.0(@types/node@20.11.25) dev: true - /vitepress@1.0.0-rc.24(@algolia/client-search@4.22.1)(@types/node@20.10.8)(search-insights@2.13.0)(typescript@5.3.2): + /vitepress@1.0.0-rc.24(@algolia/client-search@4.22.1)(@types/node@20.11.25)(search-insights@2.13.0)(typescript@5.3.2): resolution: {integrity: sha512-RpnL8cnOGwiRlBbrYQUm9sYkJbtyOt/wYXk2diTcokY4yvks/5lq9LuSt+MURWB6ZqwpSNHvTmxgaSfLoG0/OA==} hasBin: true peerDependencies: @@ -6405,7 +6519,7 @@ packages: mark.js: 8.11.1 minisearch: 6.1.0 shiki: 0.14.5 - vite: 4.5.0(@types/node@20.10.8) + vite: 4.5.0(@types/node@20.11.25) vue: 3.3.6(typescript@5.3.2) transitivePeerDependencies: - '@algolia/client-search' @@ -6468,7 +6582,7 @@ packages: dependencies: '@types/chai': 4.3.6 '@types/chai-subset': 1.3.3 - '@types/node': 16.0.0 + '@types/node': 20.11.25 '@vitest/expect': 0.34.6 '@vitest/runner': 0.34.6 '@vitest/snapshot': 0.34.6 @@ -6489,8 +6603,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.7.0 - vite: 4.5.0(@types/node@16.0.0) - vite-node: 0.34.6(@types/node@16.0.0) + vite: 4.5.0(@types/node@20.11.25) + vite-node: 0.34.6(@types/node@20.11.25) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -6564,7 +6678,6 @@ packages: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: defaults: 1.0.4 - dev: true /webidl-conversions@7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} @@ -6680,7 +6793,6 @@ packages: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - dev: true /wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} From 00362fb90995afd44e123ad30f8bf31a01a95573 Mon Sep 17 00:00:00 2001 From: Vladislav Kibenko Date: Fri, 8 Mar 2024 16:53:32 +0300 Subject: [PATCH 2/4] chore(lock): update pnpm-lock --- pnpm-lock.yaml | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d705e47eb..8109b9298 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -82,18 +82,12 @@ importers: chalk: specifier: ^5.3.0 version: 5.3.0 - cli-spinners: - specifier: ^2.9.2 - version: 2.9.2 commander: specifier: ^12.0.0 version: 12.0.0 inquirer: specifier: ^9.2.15 version: 9.2.15 - node-spinner: - specifier: ^0.0.4 - version: 0.0.4 ora: specifier: ^8.0.1 version: 8.0.1 @@ -4959,12 +4953,6 @@ packages: resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} dev: true - /node-spinner@0.0.4: - resolution: {integrity: sha512-W4ivgsaxoJr1wSppeEQGYrq23GuMniTwJNZWLpFadCIuxwu1srmdH2uH+VlaMnxvjBqZ4NlcCBQEOmB3mXF+cA==} - dependencies: - util-extend: 1.0.3 - dev: false - /normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: @@ -6327,10 +6315,6 @@ packages: /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - /util-extend@1.0.3: - resolution: {integrity: sha512-mLs5zAK+ctllYBj+iAQvlDCwoxU/WDOUaJkcFudeiAX6OajC6BKXJUa9a+tbtkC11dz2Ufb7h0lyvIOVn4LADA==} - dev: false - /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: true From b49f73829e4df73968eafaf49c01d5b09d45333b Mon Sep 17 00:00:00 2001 From: Vladislav Kibenko Date: Fri, 8 Mar 2024 16:59:12 +0300 Subject: [PATCH 3/4] chore(eslint): mute some rules --- packages/eslint-config-custom/rules.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/eslint-config-custom/rules.js b/packages/eslint-config-custom/rules.js index aa93e9dd4..8dfb9d04f 100644 --- a/packages/eslint-config-custom/rules.js +++ b/packages/eslint-config-custom/rules.js @@ -16,7 +16,10 @@ module.exports = { // We select line endings depending on current OS. // See: https://stackoverflow.com/q/39114446/2771889 'linebreak-style': ['error', (process.platform === 'win32' ? 'windows' : 'unix')], + 'no-await-in-loop': 0, + 'no-console': 0, 'no-continue': 0, + 'no-nested-ternary': 0, // Sometimes we need to write "void promise". 'no-void': 0, 'object-curly-newline': ['error', { consistent: true }], From e812efe442af40decbde385325dddcf72ebb97e7 Mon Sep 17 00:00:00 2001 From: Vladislav Kibenko Date: Fri, 8 Mar 2024 16:59:28 +0300 Subject: [PATCH 4/4] feat(packages): implement @tma.js/create-mini-app --- packages/create-mini-app/.eslintrc.cjs | 3 + packages/create-mini-app/package.json | 50 ++++++++++++ packages/create-mini-app/src/index.ts | 76 +++++++++++++++++++ .../create-mini-app/src/isGitInstalled.ts | 12 +++ packages/create-mini-app/src/promptRootDir.ts | 48 ++++++++++++ .../create-mini-app/src/spawnWithSpinner.ts | 74 ++++++++++++++++++ packages/create-mini-app/src/templates.ts | 37 +++++++++ packages/create-mini-app/src/toAbsolute.ts | 10 +++ packages/create-mini-app/tsconfig.json | 10 +++ packages/create-mini-app/vite.config.ts | 13 ++++ 10 files changed, 333 insertions(+) create mode 100644 packages/create-mini-app/.eslintrc.cjs create mode 100644 packages/create-mini-app/package.json create mode 100644 packages/create-mini-app/src/index.ts create mode 100644 packages/create-mini-app/src/isGitInstalled.ts create mode 100644 packages/create-mini-app/src/promptRootDir.ts create mode 100644 packages/create-mini-app/src/spawnWithSpinner.ts create mode 100644 packages/create-mini-app/src/templates.ts create mode 100644 packages/create-mini-app/src/toAbsolute.ts create mode 100644 packages/create-mini-app/tsconfig.json create mode 100644 packages/create-mini-app/vite.config.ts diff --git a/packages/create-mini-app/.eslintrc.cjs b/packages/create-mini-app/.eslintrc.cjs new file mode 100644 index 000000000..63d117348 --- /dev/null +++ b/packages/create-mini-app/.eslintrc.cjs @@ -0,0 +1,3 @@ +module.exports = { + extends: ['custom/base'], +}; diff --git a/packages/create-mini-app/package.json b/packages/create-mini-app/package.json new file mode 100644 index 000000000..1b73c7dd2 --- /dev/null +++ b/packages/create-mini-app/package.json @@ -0,0 +1,50 @@ +{ + "name": "@tma.js/create-mini-app", + "version": "0.0.1", + "description": "", + "author": "Vladislav Kibenko ", + "homepage": "https://github.com/Telegram-Mini-Apps/tma.js#readme", + "repository": { + "type": "git", + "url": "git@github.com:Telegram-Mini-Apps/tma.js.git", + "directory": "packages/create-mini-app" + }, + "bugs": { + "url": "https://github.com/Telegram-Mini-Apps/tma.js/issues" + }, + "keywords": [ + "telegram-mini-apps", + "templates", + "boilerplates" + ], + "license": "MIT", + "type": "module", + "sideEffects": false, + "files": [ + "dist" + ], + "bin": "dist/index.cjs", + "scripts": { + "lint": "eslint src", + "lint:fix": "pnpm run lint --fix", + "typecheck": "tsc --noEmit -p tsconfig.json", + "build": "vite build --config vite.config.ts" + }, + "devDependencies": { + "@types/inquirer": "^9.0.7", + "@types/node": "^20.0.0", + "build-utils": "workspace:*", + "eslint-config-custom": "workspace:*", + "test-utils": "workspace:*", + "tsconfig": "workspace:*" + }, + "publishConfig": { + "access": "public" + }, + "dependencies": { + "chalk": "^5.3.0", + "commander": "^12.0.0", + "inquirer": "^9.2.15", + "ora": "^8.0.1" + } +} diff --git a/packages/create-mini-app/src/index.ts b/packages/create-mini-app/src/index.ts new file mode 100644 index 000000000..cbd58fa0e --- /dev/null +++ b/packages/create-mini-app/src/index.ts @@ -0,0 +1,76 @@ +import process from 'node:process'; + +import chalk from 'chalk'; +import { program } from 'commander'; + +import { isGitInstalled } from './isGitInstalled.js'; +import { promptRootDir } from './promptRootDir.js'; +import { spawnWithSpinner } from './spawnWithSpinner.js'; +import { filterTemplates } from './templates.js'; +import packageJson from '../package.json'; + +const { bold, green, blue, red } = chalk; + +program + .name(packageJson.name) + .description(packageJson.description) + .version(packageJson.version) + .action(async () => { + // Check if git is installed. + if (!await isGitInstalled()) { + console.error('To run this CLI tool, git should be installed. Installation guide: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git'); + process.exit(1); + } + + // Prompt the project root directory name. + let rootDir: string | null = null; + while (!rootDir) { + console.clear(); + rootDir = await promptRootDir(); + } + + const [{ repository: { clone, link } }] = filterTemplates('ts', 'tma.js', 'react'); + + // Clone the template. + try { + await spawnWithSpinner({ + title: `Cloning the template from GitHub: ${bold(blue(link))}`, + command: `git clone ${clone} ${rootDir}`, + titleFail(outputOrCode) { + return `Failed to load the template. ${ + typeof outputOrCode === 'string' + ? `Error: ${red(outputOrCode)}` + : `Error code: ${red(outputOrCode)}` + }`; + }, + titleSuccess: `Cloned the template: ${bold(blue(link))}`, + }); + } catch { + process.exit(1); + } + + // Remove the .git folder. + try { + await spawnWithSpinner({ + title: 'Removing the .git folder', + command: `rm -rf ${rootDir}/.git`, + titleFail(outputOrCode) { + return `Failed to delete .git directory ${ + typeof outputOrCode === 'string' + ? `Error: ${red(outputOrCode)}` + : `Error code: ${red(outputOrCode)}` + }`; + }, + titleSuccess: '.git folder removed', + }); + } catch { + process.exit(1); + } + + console.log([ + green(bold('Your project has been successfully initialized!')), + `Now, open the ${bold(rootDir)} directory and follow the instructions presented in the ${bold('.README')} file.`, + ].join('\n')); + }); + +program.parse(); diff --git a/packages/create-mini-app/src/isGitInstalled.ts b/packages/create-mini-app/src/isGitInstalled.ts new file mode 100644 index 000000000..e538a784e --- /dev/null +++ b/packages/create-mini-app/src/isGitInstalled.ts @@ -0,0 +1,12 @@ +import { spawn } from 'node:child_process'; + +/** + * @returns Promise with true if git is currently installed. + */ +export function isGitInstalled(): Promise { + return new Promise((res) => { + spawn('git --version', { shell: true }).on('exit', (code) => { + res(!code); + }); + }); +} diff --git a/packages/create-mini-app/src/promptRootDir.ts b/packages/create-mini-app/src/promptRootDir.ts new file mode 100644 index 000000000..311eadbdf --- /dev/null +++ b/packages/create-mini-app/src/promptRootDir.ts @@ -0,0 +1,48 @@ +import { existsSync } from 'node:fs'; +import { basename } from 'node:path'; + +import chalk from 'chalk'; +import inquirer from 'inquirer'; + +import { toAbsolute } from './toAbsolute.js'; + +interface Answers { + rootDir: string; + confirmed: boolean; +} + +/** + * Prompts current user project root directory. + * @returns Directory name. + */ +export async function promptRootDir(): Promise { + return inquirer + .prompt([{ + type: 'input', + name: 'rootDir', + message: 'Enter the directory name:', + validate(value) { + if (value.length === 0) { + return 'Directory name should not be empty.'; + } + + const dir = toAbsolute(value); + if (existsSync(dir)) { + return `Directory already exists: ${dir}`; + } + + if (value !== basename(value)) { + return `Value "${value}" contains invalid symbols.`; + } + + return true; + }, + }, { + type: 'confirm', + name: 'confirmed', + message({ rootDir }) { + return `Is this your desired directory? ${chalk.green(toAbsolute(rootDir))}`; + }, + }]) + .then(({ rootDir, confirmed }) => (confirmed ? rootDir : null)); +} diff --git a/packages/create-mini-app/src/spawnWithSpinner.ts b/packages/create-mini-app/src/spawnWithSpinner.ts new file mode 100644 index 000000000..7d3969393 --- /dev/null +++ b/packages/create-mini-app/src/spawnWithSpinner.ts @@ -0,0 +1,74 @@ +import { spawn } from 'node:child_process'; + +import chalk from 'chalk'; +import ora from 'ora'; + +interface Options { + /** + * Shell command to run. + */ + command: string; + /** + * Spinner title. + */ + title: string; + /** + * Text displayed when process completed successfully. + */ + titleSuccess?: string; + /** + * Text displayed when process failed. + */ + titleFail?: string | ((outputOrCode: string | number) => string); +} + +/** + * Spawns new process with spinner. + * @param options - function options. + */ +export function spawnWithSpinner(options: Options): Promise { + const { + command, + title, + titleFail, + titleSuccess, + } = options; + const spinner = ora({ text: title, hideCursor: false }).start(); + + return new Promise((res, rej) => { + const proc = spawn(command, { shell: true }); + + // Buffer which contains error data. + let errBuf = Buffer.from([]); + + // When something was received from the error channel, we append it to the final buffer. + proc.stderr.on('data', (buf) => { + errBuf = Buffer.concat([errBuf, buf]); + + // Update the spinner text to let user know, process is working. + spinner.suffixText = chalk.bgGray(chalk.italic(buf.toString())); + }); + + proc.on('exit', (code) => { + // Drop process outputs. + spinner.suffixText = ''; + + // If error code was not returned. It means, process completed successfully. + if (!code) { + spinner.succeed(titleSuccess); + res(); + return; + } + + const errString = errBuf.length ? errBuf.toString() : `Action error code: ${code}`; + const errorMessage = titleFail + ? typeof titleFail === 'string' + ? titleFail + : titleFail(errString) + : errString; + + spinner.fail(errorMessage); + rej(new Error(errorMessage)); + }); + }); +} diff --git a/packages/create-mini-app/src/templates.ts b/packages/create-mini-app/src/templates.ts new file mode 100644 index 000000000..47df9bf64 --- /dev/null +++ b/packages/create-mini-app/src/templates.ts @@ -0,0 +1,37 @@ +interface CreateTemplate { + sdk: 'telegram' | 'tma.js'; + language: Language; + framework: Framework; + repository: { + clone: string; + link: string; + }; +} + +type JsTemplate = CreateTemplate<'js', 'solid' | 'react' | 'next' | 'vanilla js'>; +type TsTemplate = CreateTemplate<'ts', 'solid' | 'react' | 'next'>; +type AnyTemplate = JsTemplate | TsTemplate; + +type AllowedLanguage = AnyTemplate['language']; +type AllowedSDK = AnyTemplate['sdk']; +type AllowedFramework = AnyTemplate['framework']; + +export const templates: AnyTemplate[] = [{ + language: 'ts', + sdk: 'tma.js', + framework: 'react', + repository: { + clone: 'git@github.com:Telegram-Mini-Apps/reactjs-template.git', + link: 'github.com/Telegram-Mini-Apps/reactjs-template', + }, +}]; + +export function filterTemplates( + language: AllowedLanguage, + sdk: AllowedSDK, + framework: AllowedFramework, +): AnyTemplate[] { + return templates.filter((t) => { + return t.sdk === sdk && t.language === language && t.framework === framework; + }); +} diff --git a/packages/create-mini-app/src/toAbsolute.ts b/packages/create-mini-app/src/toAbsolute.ts new file mode 100644 index 000000000..b9ac3ae29 --- /dev/null +++ b/packages/create-mini-app/src/toAbsolute.ts @@ -0,0 +1,10 @@ +import { isAbsolute, resolve } from 'node:path'; +import process from 'node:process'; + +/** + * Converts specified absolute or relative path to absolute. + * @param path - path to convert. + */ +export function toAbsolute(path: string): string { + return isAbsolute(path) ? path : resolve(process.cwd(), path); +} diff --git a/packages/create-mini-app/tsconfig.json b/packages/create-mini-app/tsconfig.json new file mode 100644 index 000000000..11da79b76 --- /dev/null +++ b/packages/create-mini-app/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "tsconfig/esnext.json", + "compilerOptions": { + "module": "NodeNext", + "types": ["node"] + }, + "include": [ + "src" + ] +} \ No newline at end of file diff --git a/packages/create-mini-app/vite.config.ts b/packages/create-mini-app/vite.config.ts new file mode 100644 index 000000000..285a48e8e --- /dev/null +++ b/packages/create-mini-app/vite.config.ts @@ -0,0 +1,13 @@ +import { defineConfig } from 'vite'; + +export default defineConfig({ + build: { + emptyOutDir: true, + ssr: true, + lib: { + entry: 'src/index.ts', + formats: ['cjs'], + fileName: 'index', + }, + }, +}); \ No newline at end of file