From f5dc5c6ec7ce6eb0c6f0f10a06269c960d7d7a60 Mon Sep 17 00:00:00 2001 From: Eric Cabrel TIOGO Date: Fri, 7 Oct 2022 22:14:51 +0200 Subject: [PATCH 1/3] feat(embed): create the endpoint to generate oembed metadata --- .github/workflows/publish-embed.yml | 2 +- apps/core/.env.example | 1 + apps/core/env.d.ts | 1 + apps/core/package.json | 1 + apps/core/src/configs/env.ts | 1 + .../snippets/handlers/generate-oembed.ts | 29 ++++ apps/core/src/resources/snippets/routes.ts | 13 ++ apps/core/src/server/rest.ts | 2 + package.json | 2 +- packages/embed/README.md | 12 +- packages/embed/index.ts | 1 + packages/embed/package.json | 9 +- packages/embed/src/oembed/index.ts | 40 ++++++ yarn.lock | 133 ++++++------------ 14 files changed, 152 insertions(+), 95 deletions(-) create mode 100644 apps/core/src/resources/snippets/handlers/generate-oembed.ts create mode 100644 apps/core/src/resources/snippets/routes.ts create mode 100644 packages/embed/src/oembed/index.ts diff --git a/.github/workflows/publish-embed.yml b/.github/workflows/publish-embed.yml index 3eb92e51..b6ae1b90 100644 --- a/.github/workflows/publish-embed.yml +++ b/.github/workflows/publish-embed.yml @@ -26,7 +26,7 @@ jobs: - name: Publish to NPM run: | - yarn build + yarn build:cdn cp package.publish.json build/package.json cd build yarn publish diff --git a/apps/core/.env.example b/apps/core/.env.example index 3974d3e0..b49dab8a 100644 --- a/apps/core/.env.example +++ b/apps/core/.env.example @@ -16,3 +16,4 @@ WEB_AUTH_ERROR_URL=http://localhost:7500/auth/error SESSION_LIFETIME=90# 90 days SENTRY_DSN= SENTRY_ENABLED=false +SNIPPET_RENDERER_URL=http://localhost:3000/dev diff --git a/apps/core/env.d.ts b/apps/core/env.d.ts index 2ccc76c2..6ef75241 100644 --- a/apps/core/env.d.ts +++ b/apps/core/env.d.ts @@ -12,6 +12,7 @@ export type EnvironmentVariables = { REQUEST_TIMEOUT: string; SENTRY_DSN: string; SESSION_LIFETIME: string; + SNIPPET_RENDERER_URL: string; WEB_APP_URL: string; WEB_AUTH_ERROR_URL: string; WEB_AUTH_SUCCESS_URL: string; diff --git a/apps/core/package.json b/apps/core/package.json index 00e8bc8e..39ae6eb8 100644 --- a/apps/core/package.json +++ b/apps/core/package.json @@ -17,6 +17,7 @@ "@graphql-tools/schema": "^8.5.0", "@sharingan/database": "*", "@sharingan/domain": "*", + "@sharingan/embed": "*", "@sharingan/logger": "*", "@sharingan/utils": "*", "apollo-server-core": "^3.9.0", diff --git a/apps/core/src/configs/env.ts b/apps/core/src/configs/env.ts index a780f00b..9f43b672 100644 --- a/apps/core/src/configs/env.ts +++ b/apps/core/src/configs/env.ts @@ -22,6 +22,7 @@ export const env: AppEnvironmentVariables = { SENTRY_DSN: getEnv('SENTRY_DSN'), SENTRY_ENABLED: getEnv('SENTRY_ENABLED') === 'true', SESSION_LIFETIME: parseInt(getEnv('SESSION_LIFETIME'), 10), + SNIPPET_RENDERER_URL: getEnv('SNIPPET_RENDERER_URL'), VALUE: getEnv('NODE_ENV'), WEB_APP_URL: getEnv('WEB_APP_URL'), WEB_AUTH_ERROR_URL: getEnv('WEB_AUTH_ERROR_URL'), diff --git a/apps/core/src/resources/snippets/handlers/generate-oembed.ts b/apps/core/src/resources/snippets/handlers/generate-oembed.ts new file mode 100644 index 00000000..a271aa34 --- /dev/null +++ b/apps/core/src/resources/snippets/handlers/generate-oembed.ts @@ -0,0 +1,29 @@ +import { snippetService } from '@sharingan/domain'; +import { generateOembedMetadata } from '@sharingan/embed'; +import { Request, Response } from 'express'; + +import { env } from '../../../configs/env'; +import { logger } from '../../../configs/logger'; + +export const generateOembed = async (req: Request, res: Response) => { + const { id } = req.params; + + try { + const snippet = await snippetService.findById(id); + + const embedMetadata = generateOembedMetadata({ + snippet: { + id: snippet.id, + name: snippet.name, + }, + snippetRendererURL: env.SNIPPET_RENDERER_URL, + webAppURL: env.WEB_APP_URL, + }); + + return res.json(embedMetadata); + } catch (e) { + logger.error(e); + + return res.status(404).json({ error: 'Not found' }); + } +}; diff --git a/apps/core/src/resources/snippets/routes.ts b/apps/core/src/resources/snippets/routes.ts new file mode 100644 index 00000000..34300a74 --- /dev/null +++ b/apps/core/src/resources/snippets/routes.ts @@ -0,0 +1,13 @@ +import { Router } from 'express'; + +import { generateOembed } from './handlers/generate-oembed'; + +const snippetRoute = (): Router => { + const router = Router(); + + router.get('/oembed/:id', generateOembed); + + return router; +}; + +export { snippetRoute }; diff --git a/apps/core/src/server/rest.ts b/apps/core/src/server/rest.ts index 95577963..559c3181 100644 --- a/apps/core/src/server/rest.ts +++ b/apps/core/src/server/rest.ts @@ -1,6 +1,7 @@ import express, { Application, Request, Response } from 'express'; import { authenticationRoute } from '../resources/authentication/routes'; +import { snippetRoute } from '../resources/snippets/routes'; import { errorHandlerMiddleware } from './middleware/error-middleware'; import { notFoundMiddleware } from './middleware/not-found-middleware'; @@ -15,6 +16,7 @@ export const setupRestEndpoints = (app: Application) => { app.use('/', router); app.use('/', authenticationRoute()); + app.use('/', snippetRoute()); app.get('/', (_req: Request, res: Response) => { res.json({ message: 'Hello from Sharingan!' }); diff --git a/package.json b/package.json index de30fcd8..69804f1d 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "eslint-plugin-typescript-sort-keys": "^2.1.0", "husky": "^8.0.1", "prettier": "^2.7.1", - "turbo": "^1.3.1" + "turbo": "^1.5.4" }, "packageManager": "yarn@1.22.19" } diff --git a/packages/embed/README.md b/packages/embed/README.md index 28d81296..e36d3007 100644 --- a/packages/embed/README.md +++ b/packages/embed/README.md @@ -46,7 +46,7 @@ We use [tsup](https://github.com/egoist/tsup) under the hood to make this possib To start the watcher, run the command: ```shell -yarn build:watch +yarn build:cdn:watch ``` ## Preview a snippet @@ -72,7 +72,7 @@ Navigate to the URL `http://localhost:7503` to see the result. This part is handled inside the CI/CD, so it will not be useful to do it locally: ```shell # Generate the assets optimized for production -yarn build +yarn build:cdn cp package.publish.json build/package.json cd build # Authenticate to NPM @@ -82,3 +82,11 @@ npm publish --access=public ``` Before publishing, make sure to upgrade the package version in the file [package.publish.json](./package.publish.json) . Check out the [Semantic versioning](https://docs.npmjs.com/about-semantic-versioning) to see how to define the version number. + +## Build TS library +This package also expose functions used in others packages or apps. Run the command below to build them +```shell +yarn build:lib +``` + + diff --git a/packages/embed/index.ts b/packages/embed/index.ts index aadab67b..14a2da41 100644 --- a/packages/embed/index.ts +++ b/packages/embed/index.ts @@ -1 +1,2 @@ +export { generateOembedMetadata } from './src/oembed/index'; export { renderSnippetToHtml } from './src/renderer/index'; diff --git a/packages/embed/package.json b/packages/embed/package.json index 8d21bbd4..c41899ad 100644 --- a/packages/embed/package.json +++ b/packages/embed/package.json @@ -6,8 +6,10 @@ "author": "Eric Cabrel TIOGO ", "license": "MIT", "scripts": { - "build": "tsup", - "build:watch": "tsup --watch", + "build:cdn": "tsup", + "build:cdn:watch": "tsup --watch", + "build:lib": "tsc", + "build": "yarn build:lib && yarn build:cdn", "clean": "rm -rf .turbo dist build", "dev": "nodemon --watch \"*.ts\" --exec \"ts-node\" ./src/server/index.ts", "lint": "eslint src", @@ -23,6 +25,7 @@ "serve": "^14.0.1", "shiki": "^0.11.1", "ts-node": "^10.9.1", - "tsup": "^6.2.2" + "tsup": "^6.2.2", + "typescript": "^4.8.4" } } diff --git a/packages/embed/src/oembed/index.ts b/packages/embed/src/oembed/index.ts new file mode 100644 index 00000000..36a953bd --- /dev/null +++ b/packages/embed/src/oembed/index.ts @@ -0,0 +1,40 @@ +type Args = { + snippet: { + id: string; + name: string; + }; + snippetRendererURL: string; + webAppURL: string; +}; + +type Result = { + height: number; + html: string; + provider_name: string; + provider_url: string; + thumbnail_height: string; + thumbnail_url: string; + thumbnail_width: string; + title: string; + type: string; + version: string; + width: number; +}; + +export const generateOembedMetadata = ({ snippet, snippetRendererURL, webAppURL }: Args): Result => { + const embedUrl = `${snippetRendererURL}/snippets/${snippet.id}`; + + return { + height: 500, + html: ``, + provider_name: 'Sharingan', + provider_url: webAppURL, + thumbnail_height: '720', + thumbnail_url: `${webAppURL}/assets/og.png`, + thumbnail_width: '1280', + title: snippet.name, + type: 'rich', + version: '1.0', + width: 750, + }; +}; diff --git a/yarn.lock b/yarn.lock index d39bbdb9..fe90894e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12422,95 +12422,47 @@ tsutils@^3.21.0: dependencies: tslib "^1.8.1" -turbo-android-arm64@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/turbo-android-arm64/-/turbo-android-arm64-1.3.1.tgz#dae9bd087d6a17409fbd10ed82489a1ff39cbcc8" - integrity sha512-JcnZh9tLbZDpKaXaao/s/k4qXt3TbNEc1xEYYXurVWnqiMueGeS7QAtThVB85ZSqzj7djk+ngSrZabPy5RG25Q== - -turbo-darwin-64@1.3.1: - version "1.3.1" - resolved "https://registry.npmjs.org/turbo-darwin-64/-/turbo-darwin-64-1.3.1.tgz" - integrity sha512-TIGDradVFoGck86VIuM38KaDeNxdKaP2ti93UpQeFw26ZhPIeTAa6wUgnz4DQP6bjIvQmXlYJ16ETZb4tFYygg== - -turbo-darwin-arm64@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/turbo-darwin-arm64/-/turbo-darwin-arm64-1.3.1.tgz#94a361e4e73ad02995303cf6c3d8cb03e85fcae4" - integrity sha512-aLBq8KiMMmop7uKBkvDt/y+eER2UzxZyUzh1KWcZ7DZB5tFZnknEUyf2qggY2vd2WcDVfQ1EUjZ0MFxhhVaVzA== - -turbo-freebsd-64@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/turbo-freebsd-64/-/turbo-freebsd-64-1.3.1.tgz#64b8fc1b9f2ad9b76b532ffdcce267b2934ecb86" - integrity sha512-BOr/ifmxjlBeuDkDQLUJtzqzXQ2zPHHcI14U9Ys+z4Mza1uzQn/oSJqQvU5RuyRBVai7noMrpPS7QuKtDz0Cyg== - -turbo-freebsd-arm64@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/turbo-freebsd-arm64/-/turbo-freebsd-arm64-1.3.1.tgz#b798af9b8898210058ca2752eadb711369f9ecea" - integrity sha512-bHPZjK4xnGLz6/oxl5XmWhdYOdtBMSadrGhptWSZ0wBGNn/gQzDTeZAkQeqhh25AD0eM1hzDe8QUz8GlS43lrA== - -turbo-linux-32@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/turbo-linux-32/-/turbo-linux-32-1.3.1.tgz#9eecada1c13f6391a7c6267349a0486987144093" - integrity sha512-c5okimusfvivu9wS8MKSr+rXpQAV+M4TyR9JX+spIK8B1I7AjfECAqiK2D5WFWO1bQ33bUAuxXOEpUuLpgEm+g== - -turbo-linux-64@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/turbo-linux-64/-/turbo-linux-64-1.3.1.tgz#eaf195b90a80f238561ab11fbde17c07af481c57" - integrity sha512-O0pNX+N5gbmRcyZT+jsCPUNCN3DpIZHqNN35j7MT5nr0IkZa83CGbZnrEc+7Qws//jFJ26EngqD/JyRB2E8nwQ== - -turbo-linux-arm64@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/turbo-linux-arm64/-/turbo-linux-arm64-1.3.1.tgz#ff9dc17c352c5f59440cb55cff59cb8b23db9d1b" - integrity sha512-D6+1MeS/x+/VCCooHPU4NIpB8qI/eW70eMRA79bqTPaxxluP0g2CaxXgucco05P51YtNsSxeVcH7X76iadON6Q== - -turbo-linux-arm@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/turbo-linux-arm/-/turbo-linux-arm-1.3.1.tgz#6be53e62a60a3c6f3ab33585f0442eb7441ecf3a" - integrity sha512-f+r6JIwv/7ylxxJtgVi8cVw+6oNoD/r1IMTU6ejH8bfyMZZko4kkNwH9VYribQ44KDkJEgzdltnzFG5f6Hz10g== - -turbo-linux-mips64le@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/turbo-linux-mips64le/-/turbo-linux-mips64le-1.3.1.tgz#ceddf8c8e222e66d05f7a68a71f66a2a3a0272a3" - integrity sha512-yL64jgwVCziOpBcdpMxIsczkgwwOvmaqKObFKWyCNlk/LOl5NKODLwXEaryLaALtpwUAoS4ltMSI64gKqmLrOA== - -turbo-linux-ppc64le@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/turbo-linux-ppc64le/-/turbo-linux-ppc64le-1.3.1.tgz#aa5658f6d19775e06b9fd136491dceab93ecffb2" - integrity sha512-tjnM+8RosykS1lBpOPLDXGOz/Po2h796ty17uBd7IFslWPOI16a/akFOFoLH8PCiGGJMe3CYgRhEKn4sPWNxFA== - -turbo-windows-32@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/turbo-windows-32/-/turbo-windows-32-1.3.1.tgz#e6e570bb381d9a4f78ea6e72102ab9bf493a3ad2" - integrity sha512-Snnv+TVigulqwK6guHKndMlrLw88NXj8BtHRGrEksPR0QkyuHlwLf+tHYB4HmvpUl4W9lnXQf4hsljWP64BEdw== - -turbo-windows-64@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/turbo-windows-64/-/turbo-windows-64-1.3.1.tgz#f891097331125c935cdaa160cc80c4cfc3e61b0e" - integrity sha512-gLeohHG07yIhON1Pp0YNE00i/yzip2GFhkA6HdJaK95uE5bKULpqxuO414hOS/WzGwrGVXBKCImfe24XXh5T+Q== - -turbo-windows-arm64@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/turbo-windows-arm64/-/turbo-windows-arm64-1.3.1.tgz#5abe1743b93e272641018cef213b21ac6c984f04" - integrity sha512-0MWcHLvYgs/qdcoTFZ55nu8HhrpeiwXEMw9cbNfgqTlzy3OsrAsovYEJFyQ8KSxeploiD+QJlCdvhxx+5C0tlA== - -turbo@^1.3.1: - version "1.3.1" - resolved "https://registry.npmjs.org/turbo/-/turbo-1.3.1.tgz" - integrity sha512-DXckoGKlZgvTn/PrHpBI/57aeXR7tfyPf2dK+4LmBczt24ELA3o6eYHeA7KzfpSYhB2LE9qveYFQ6mJ1OzGjjg== +turbo-darwin-64@1.5.5: + version "1.5.5" + resolved "https://registry.yarnpkg.com/turbo-darwin-64/-/turbo-darwin-64-1.5.5.tgz#710d4e7999066bd4f500456f7cd1c30f6e6205ed" + integrity sha512-HvEn6P2B+NXDekq9LRpRgUjcT9/oygLTcK47U0qsAJZXRBSq/2hvD7lx4nAwgY/4W3rhYJeWtHTzbhoN6BXqGQ== + +turbo-darwin-arm64@1.5.5: + version "1.5.5" + resolved "https://registry.yarnpkg.com/turbo-darwin-arm64/-/turbo-darwin-arm64-1.5.5.tgz#f7955a800e945ab110e8a6e23f60a2b9795296ab" + integrity sha512-Dmxr09IUy6M0nc7/xWod9galIO2DD500B75sJSkHeT+CCdJOWnlinux0ZPF8CSygNqymwYO8AO2l15/6yxcycg== + +turbo-linux-64@1.5.5: + version "1.5.5" + resolved "https://registry.yarnpkg.com/turbo-linux-64/-/turbo-linux-64-1.5.5.tgz#f31eb117a9b605f5731048c50473bff903850047" + integrity sha512-wd07TZ4zXXWjzZE00FcFMLmkybQQK/NV9ff66vvAV0vdiuacSMBCNLrD6Mm4ncfrUPW/rwFW5kU/7hyuEqqtDw== + +turbo-linux-arm64@1.5.5: + version "1.5.5" + resolved "https://registry.yarnpkg.com/turbo-linux-arm64/-/turbo-linux-arm64-1.5.5.tgz#b9ce6912ae6477e829355d6f012500bfef58669d" + integrity sha512-q3q33tuo74R7gicnfvFbnZZvqmlq7Vakcvx0eshifnJw4PR+oMnTCb4w8ElVFx070zsb8DVTibq99y8NJH8T1Q== + +turbo-windows-64@1.5.5: + version "1.5.5" + resolved "https://registry.yarnpkg.com/turbo-windows-64/-/turbo-windows-64-1.5.5.tgz#609098de3bc6178f733615d21b06d5c1602637eb" + integrity sha512-lPp9kHonNFfqgovbaW+UAPO5cLmoAN+m3G3FzqcrRPnlzt97vXYsDhDd/4Zy3oAKoAcprtP4CGy0ddisqsKTVw== + +turbo-windows-arm64@1.5.5: + version "1.5.5" + resolved "https://registry.yarnpkg.com/turbo-windows-arm64/-/turbo-windows-arm64-1.5.5.tgz#60522e1e347a54c64bdddb68089fc322ee19c3d7" + integrity sha512-3AfGULKNZiZVrEzsIE+W79ZRW1+f5r4nM4wLlJ1PTBHyRxBZdD6KTH1tijGfy/uTlcV5acYnKHEkDc6Q9PAXGQ== + +turbo@^1.5.4: + version "1.5.5" + resolved "https://registry.yarnpkg.com/turbo/-/turbo-1.5.5.tgz#9fc3a917c914ffa113c260a4eadb4bc632eee227" + integrity sha512-PVQSDl0STC9WXIyHcYUWs9gXsf8JjQig/FuHfuB8N6+XlgCGB3mPbfMEE6zrChGz2hufH4/guKRX1XJuNL6XTA== optionalDependencies: - turbo-android-arm64 "1.3.1" - turbo-darwin-64 "1.3.1" - turbo-darwin-arm64 "1.3.1" - turbo-freebsd-64 "1.3.1" - turbo-freebsd-arm64 "1.3.1" - turbo-linux-32 "1.3.1" - turbo-linux-64 "1.3.1" - turbo-linux-arm "1.3.1" - turbo-linux-arm64 "1.3.1" - turbo-linux-mips64le "1.3.1" - turbo-linux-ppc64le "1.3.1" - turbo-windows-32 "1.3.1" - turbo-windows-64 "1.3.1" - turbo-windows-arm64 "1.3.1" + turbo-darwin-64 "1.5.5" + turbo-darwin-arm64 "1.5.5" + turbo-linux-64 "1.5.5" + turbo-linux-arm64 "1.5.5" + turbo-windows-64 "1.5.5" + turbo-windows-arm64 "1.5.5" type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" @@ -12596,6 +12548,11 @@ typescript@^4.8.2: resolved "https://registry.npmjs.org/typescript/-/typescript-4.8.2.tgz" integrity sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw== +typescript@^4.8.4: + version "4.8.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6" + integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ== + ua-parser-js@^0.7.30: version "0.7.31" resolved "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.31.tgz" From faa5fd40b7fd6df48c128d34e8a966fb54457fb9 Mon Sep 17 00:00:00 2001 From: Eric Cabrel TIOGO Date: Tue, 11 Oct 2022 23:15:42 +0200 Subject: [PATCH 2/3] feat: fix embed package main entry --- packages/embed/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/embed/package.json b/packages/embed/package.json index c41899ad..58ddcbfe 100644 --- a/packages/embed/package.json +++ b/packages/embed/package.json @@ -1,7 +1,7 @@ { "name": "@sharingan/embed", "version": "1.0.0", - "main": "build/index.js", + "main": "dist/index.js", "repository": " https://github.com/tericcabrel/sharingan.git", "author": "Eric Cabrel TIOGO ", "license": "MIT", From 796d8f4dc806d311ecf10002b2ce5e097acff831 Mon Sep 17 00:00:00 2001 From: Eric Cabrel TIOGO Date: Tue, 11 Oct 2022 23:26:27 +0200 Subject: [PATCH 3/3] chore(ci): upgrade turborepo config file --- packages/embed/.eslintrc.json | 2 +- turbo.json | 45 +++++++++++++++++++++++++---------- 2 files changed, 33 insertions(+), 14 deletions(-) diff --git a/packages/embed/.eslintrc.json b/packages/embed/.eslintrc.json index f04f7079..6ccf1a9d 100644 --- a/packages/embed/.eslintrc.json +++ b/packages/embed/.eslintrc.json @@ -1,5 +1,5 @@ { - "ignorePatterns": ["dist", "build", "tsup.config.ts", "env.d.ts"], + "ignorePatterns": ["dist", "build", "tsup.config.ts", "env.d.ts", "src/server/public"], "parserOptions": { "ecmaVersion": 2021, "sourceType": "module", diff --git a/turbo.json b/turbo.json index d78c029c..e2c231d3 100644 --- a/turbo.json +++ b/turbo.json @@ -9,16 +9,20 @@ ], "pipeline": { "build": { - "dependsOn": ["^build"], - "outputs": ["dist/**"] + "dependsOn": [ + "^build" + ], + "outputs": [ + "dist/**" + ] }, "@sharingan/core#build": { "dependsOn": [ - "^build", - "$NODE_ENV", - "$DATABASE_URL" + "^build" + ], + "outputs": [ + "dist/**" ], - "outputs": ["dist/**"], "inputs": [ "src/**/*.tsx", "src/**/*.ts", @@ -26,15 +30,20 @@ "codegen.yml", ".eslintignore", "*.json" + ], + "env": [ + "NODE_ENV", + "DATABASE_URL" ] }, "@sharingan/web#build": { "dependsOn": [ - "^build", - "$NODE_ENV", - "$NEXT_PUBLIC_SERVER_URL" + "^build" + ], + "outputs": [ + ".next/**", + "dist/**" ], - "outputs": [".next/**", "dist/**"], "inputs": [ "src/**/*.tsx", "src/**/*.ts", @@ -46,15 +55,25 @@ "codegen.yml", ".eslintignore", "*.json" + ], + "env": [ + "NODE_ENV", + "NEXT_PUBLIC_SERVER_URL" ] }, "test": { - "dependsOn": ["^build"], + "dependsOn": [ + "^build" + ], "outputs": [] }, "build:prod": { - "dependsOn": ["^build"], - "outputs": ["build/**"] + "dependsOn": [ + "^build" + ], + "outputs": [ + "build/**" + ] }, "lint": { "outputs": []