From 3b91471779e87cebbd845678622ca93fb275b471 Mon Sep 17 00:00:00 2001 From: platane Date: Sun, 20 Mar 2022 17:53:57 +0100 Subject: [PATCH 01/11] =?UTF-8?q?=F0=9F=91=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/main.yml | 10 +++++++++- .github/workflows/solve-daily.yml | 30 ++++++++++++++++++------------ .gitignore | 1 + package.json | 2 ++ pnpm-lock.yaml | 7 +++++++ 5 files changed, 37 insertions(+), 13 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ee160a5..6e61802 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -3,7 +3,7 @@ name: main on: [push] jobs: - test: + test-and-build: runs-on: ubuntu-latest steps: @@ -30,3 +30,11 @@ jobs: - run: pnpm lint - run: pnpm test + + - name: restore build from cache + uses: actions/cache@v2 + with: + path: dist + key: build-${{ runner.os }} + + - run: pnpm build diff --git a/.github/workflows/solve-daily.yml b/.github/workflows/solve-daily.yml index 2b70004..d8bf986 100644 --- a/.github/workflows/solve-daily.yml +++ b/.github/workflows/solve-daily.yml @@ -14,31 +14,37 @@ jobs: steps: - uses: actions/checkout@v2 - - uses: pnpm/action-setup@v2 - with: - version: 6 + - uses: actions/setup-node@v2 with: node-version: 16 - cache: pnpm - - run: pnpm install --frozen-lockfile - - - name: cache word list + - name: restore build from cache uses: actions/cache@v2 + id: cache with: - path: node_modules/wordList-cache.txt - key: wordList-cache - restore-keys: wordList-cache + path: dist + key: build-${{ runner.os }} + + - name: build from sources if cache miss + if: steps.cache.outputs.cache-hit != 'true' + run: | + npm install -g pnpm + pnpm install --frozen-lockfile + pnpm build - - run: pnpm twitter-refresh + - run: node dist/twitter-refresh/index.js env: GITHUB_TOKEN: ${{ secrets.MY_GITHUB_TOKEN }} TWITTER_CLIENT_ID: ${{ secrets.TWITTER_CLIENT_ID }} TWITTER_CLIENT_SECRET: ${{ secrets.TWITTER_CLIENT_SECRET }} TWITTER_REFRESH_TOKEN: ${{ secrets.TWITTER_REFRESH_TOKEN }} - - run: pnpm start + - run: | + ls + npm install + node index.js + working-directory: dist/solve env: GITHUB_REPOSITORY: ${{ github.repository }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index 1dcef2d..d14eab8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ +dist node_modules .env \ No newline at end of file diff --git a/package.json b/package.json index 2c780ed..fcc03dd 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "@types/jest": "27.4.1", "@types/node": "16.11.11", "@types/node-fetch": "2.5.11", + "@vercel/ncc": "0.33.3", "jest": "27.5.1", "prettier": "2.6.0", "sucrase": "3.20.3", @@ -31,6 +32,7 @@ } }, "scripts": { + "build": "ncc build src/twitter/auth.ts -o dist/twitter-auth && ncc build src/twitter/refresh.ts -o dist/twitter-refresh && ncc build src/index.ts -o dist/solve -e puppeteer -e puppeteer-screen-recorder && node -e \"const pkg=require('./package.json');console.log(JSON.stringify({dependencies:{puppeteer:pkg.dependencies.puppeteer,'puppeteer-screen-recorder':pkg.dependencies['puppeteer-screen-recorder']}}))\" > dist/solve/package.json ", "twitter-auth": "sucrase-node src/twitter/auth.ts", "twitter-refresh": "sucrase-node src/twitter/refresh.ts", "start": "sucrase-node src/index.ts", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e48a849..7b9d6a4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,6 +6,7 @@ specifiers: '@types/jest': 27.4.1 '@types/node': 16.11.11 '@types/node-fetch': 2.5.11 + '@vercel/ncc': 0.33.3 dotenv: 16.0.0 github-secret-dotenv: 1.1.4 jest: 27.5.1 @@ -33,6 +34,7 @@ devDependencies: '@types/jest': 27.4.1 '@types/node': 16.11.11 '@types/node-fetch': 2.5.11 + '@vercel/ncc': 0.33.3 jest: 27.5.1 prettier: 2.6.0 sucrase: 3.20.3 @@ -908,6 +910,11 @@ packages: dev: false optional: true + /@vercel/ncc/0.33.3: + resolution: {integrity: sha512-JGZ11QV+/ZcfudW2Cz2JVp54/pJNXbsuWRgSh2ZmmZdQBKXqBtIGrwI1Wyx8nlbzAiEFe7FHi4K1zX4//jxTnQ==} + hasBin: true + dev: true + /abab/2.0.5: resolution: {integrity: sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==} dev: true From 72090c270bf3e9a410c1d8b52744057719651ba4 Mon Sep 17 00:00:00 2001 From: platane Date: Sun, 20 Mar 2022 18:25:00 +0100 Subject: [PATCH 02/11] =?UTF-8?q?=F0=9F=91=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/main.yml | 9 +++++++++ .github/workflows/solve-daily.yml | 29 +++++++++-------------------- package.json | 2 +- 3 files changed, 19 insertions(+), 21 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6e61802..b00b6f6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -38,3 +38,12 @@ jobs: key: build-${{ runner.os }} - run: pnpm build + + - run: npm pack + working-directory: dist + + - name: npm publish + run: npm publish dist/*.tgz + if: success() && github.ref == 'refs/heads/master' + env: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/.github/workflows/solve-daily.yml b/.github/workflows/solve-daily.yml index d8bf986..aa2bc1c 100644 --- a/.github/workflows/solve-daily.yml +++ b/.github/workflows/solve-daily.yml @@ -13,38 +13,27 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: pnpm/action-setup@v2 + with: + version: 6 - uses: actions/setup-node@v2 with: node-version: 16 + cache: pnpm - - name: restore build from cache - uses: actions/cache@v2 - id: cache - with: - path: dist - key: build-${{ runner.os }} - - - name: build from sources if cache miss - if: steps.cache.outputs.cache-hit != 'true' - run: | - npm install -g pnpm - pnpm install --frozen-lockfile - pnpm build + - run: pnpm install @platane/wordle-bot - - run: node dist/twitter-refresh/index.js + - run: pnpm twitter-refresh + working-directory: node_modules/@platane/wordle-bot env: GITHUB_TOKEN: ${{ secrets.MY_GITHUB_TOKEN }} TWITTER_CLIENT_ID: ${{ secrets.TWITTER_CLIENT_ID }} TWITTER_CLIENT_SECRET: ${{ secrets.TWITTER_CLIENT_SECRET }} TWITTER_REFRESH_TOKEN: ${{ secrets.TWITTER_REFRESH_TOKEN }} - - run: | - ls - npm install - node index.js - working-directory: dist/solve + - run: pnpm solve + working-directory: node_modules/@platane/wordle-bot env: GITHUB_REPOSITORY: ${{ github.repository }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/package.json b/package.json index fcc03dd..00d3dd9 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ } }, "scripts": { - "build": "ncc build src/twitter/auth.ts -o dist/twitter-auth && ncc build src/twitter/refresh.ts -o dist/twitter-refresh && ncc build src/index.ts -o dist/solve -e puppeteer -e puppeteer-screen-recorder && node -e \"const pkg=require('./package.json');console.log(JSON.stringify({dependencies:{puppeteer:pkg.dependencies.puppeteer,'puppeteer-screen-recorder':pkg.dependencies['puppeteer-screen-recorder']}}))\" > dist/solve/package.json ", + "build": "ncc build src/twitter/auth.ts -o dist/twitter-auth && ncc build src/twitter/refresh.ts -o dist/twitter-refresh && ncc build src/index.ts -o dist/solve -e puppeteer -e puppeteer-screen-recorder && node -e \"const pkg=require('./package.json');console.log(JSON.stringify({name:'@platane/wordle-bot',version:pkg.version+'-'+process.env.GITHUB_RUN_NUMBER??'local',dependencies:{puppeteer:pkg.dependencies.puppeteer,'puppeteer-screen-recorder':pkg.dependencies['puppeteer-screen-recorder']},scripts:{solve:'node solve/index.js','twitter-refresh':'node twitter-refresh/index.js','twitter-auth':'node twitter-auth/index.js'}}))\" > dist/package.json ", "twitter-auth": "sucrase-node src/twitter/auth.ts", "twitter-refresh": "sucrase-node src/twitter/refresh.ts", "start": "sucrase-node src/index.ts", From fd2c22af358b90f18785007acacd938c19e2064d Mon Sep 17 00:00:00 2001 From: platane Date: Sun, 20 Mar 2022 18:25:29 +0100 Subject: [PATCH 03/11] =?UTF-8?q?=F0=9F=91=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b00b6f6..a7c78af 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -44,6 +44,6 @@ jobs: - name: npm publish run: npm publish dist/*.tgz - if: success() && github.ref == 'refs/heads/master' + # if: success() && github.ref == 'refs/heads/master' env: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} From 730c342b1ec09d4bc6007ed7314c12409cde1558 Mon Sep 17 00:00:00 2001 From: platane Date: Sun, 20 Mar 2022 18:27:08 +0100 Subject: [PATCH 04/11] =?UTF-8?q?=F0=9F=91=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/main.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a7c78af..d791cfe 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -31,12 +31,6 @@ jobs: - run: pnpm test - - name: restore build from cache - uses: actions/cache@v2 - with: - path: dist - key: build-${{ runner.os }} - - run: pnpm build - run: npm pack From d362120f294be68c8240563a0e9bc745bf7e2502 Mon Sep 17 00:00:00 2001 From: platane Date: Sun, 20 Mar 2022 18:31:22 +0100 Subject: [PATCH 05/11] =?UTF-8?q?=F0=9F=91=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/main.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d791cfe..9e66b41 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -37,7 +37,9 @@ jobs: working-directory: dist - name: npm publish - run: npm publish dist/*.tgz + run: | + echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc + npm publish dist/*.tgz # if: success() && github.ref == 'refs/heads/master' env: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} From 02f0e9df7ca843c9a6691365072d7693dd1ebd22 Mon Sep 17 00:00:00 2001 From: platane Date: Sun, 20 Mar 2022 18:35:24 +0100 Subject: [PATCH 06/11] =?UTF-8?q?=F0=9F=91=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9e66b41..36c3953 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -39,7 +39,8 @@ jobs: - name: npm publish run: | echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc - npm publish dist/*.tgz + mv dist/*.tgz pack.tgz + npm publish pack.tgz # if: success() && github.ref == 'refs/heads/master' env: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} From d1567667b7097ac25268718345c00d5b623beee6 Mon Sep 17 00:00:00 2001 From: platane Date: Sun, 20 Mar 2022 18:40:31 +0100 Subject: [PATCH 07/11] =?UTF-8?q?=F0=9F=91=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 00d3dd9..93116af 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ } }, "scripts": { - "build": "ncc build src/twitter/auth.ts -o dist/twitter-auth && ncc build src/twitter/refresh.ts -o dist/twitter-refresh && ncc build src/index.ts -o dist/solve -e puppeteer -e puppeteer-screen-recorder && node -e \"const pkg=require('./package.json');console.log(JSON.stringify({name:'@platane/wordle-bot',version:pkg.version+'-'+process.env.GITHUB_RUN_NUMBER??'local',dependencies:{puppeteer:pkg.dependencies.puppeteer,'puppeteer-screen-recorder':pkg.dependencies['puppeteer-screen-recorder']},scripts:{solve:'node solve/index.js','twitter-refresh':'node twitter-refresh/index.js','twitter-auth':'node twitter-auth/index.js'}}))\" > dist/package.json ", + "build": "ncc build src/twitter/auth.ts -o dist/twitter-auth && ncc build src/twitter/refresh.ts -o dist/twitter-refresh && ncc build src/index.ts -o dist/solve -e puppeteer -e puppeteer-screen-recorder && node -e \"const pkg=require('./package.json');console.log(JSON.stringify({name:'@platane/wordle-bot',private:false,version:pkg.version+'-'+process.env.GITHUB_RUN_NUMBER??'local',dependencies:{puppeteer:pkg.dependencies.puppeteer,'puppeteer-screen-recorder':pkg.dependencies['puppeteer-screen-recorder']},scripts:{solve:'node solve/index.js','twitter-refresh':'node twitter-refresh/index.js','twitter-auth':'node twitter-auth/index.js'}}))\" > dist/package.json ", "twitter-auth": "sucrase-node src/twitter/auth.ts", "twitter-refresh": "sucrase-node src/twitter/refresh.ts", "start": "sucrase-node src/index.ts", From 08ce0ed1ca7709f4e3686a3acafb4b5e41d9d32c Mon Sep 17 00:00:00 2001 From: platane Date: Sun, 20 Mar 2022 18:40:53 +0100 Subject: [PATCH 08/11] =?UTF-8?q?=F0=9F=91=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 93116af..ee29dc4 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ } }, "scripts": { - "build": "ncc build src/twitter/auth.ts -o dist/twitter-auth && ncc build src/twitter/refresh.ts -o dist/twitter-refresh && ncc build src/index.ts -o dist/solve -e puppeteer -e puppeteer-screen-recorder && node -e \"const pkg=require('./package.json');console.log(JSON.stringify({name:'@platane/wordle-bot',private:false,version:pkg.version+'-'+process.env.GITHUB_RUN_NUMBER??'local',dependencies:{puppeteer:pkg.dependencies.puppeteer,'puppeteer-screen-recorder':pkg.dependencies['puppeteer-screen-recorder']},scripts:{solve:'node solve/index.js','twitter-refresh':'node twitter-refresh/index.js','twitter-auth':'node twitter-auth/index.js'}}))\" > dist/package.json ", + "build": "ncc build src/twitter/auth.ts -o dist/twitter-auth && ncc build src/twitter/refresh.ts -o dist/twitter-refresh && ncc build src/index.ts -o dist/solve -e puppeteer -e puppeteer-screen-recorder && node -e \"const pkg=require('./package.json');console.log(JSON.stringify({name:'@platane/wordle-bot',private:false,version:pkg.version+'-'+process.env.GITHUB_RUN_NUMBER,dependencies:{puppeteer:pkg.dependencies.puppeteer,'puppeteer-screen-recorder':pkg.dependencies['puppeteer-screen-recorder']},scripts:{solve:'node solve/index.js','twitter-refresh':'node twitter-refresh/index.js','twitter-auth':'node twitter-auth/index.js'}}))\" > dist/package.json ", "twitter-auth": "sucrase-node src/twitter/auth.ts", "twitter-refresh": "sucrase-node src/twitter/refresh.ts", "start": "sucrase-node src/index.ts", From bd9a1b8a7ea2aaebef5d3b8ab9d6da84286b1440 Mon Sep 17 00:00:00 2001 From: platane Date: Sun, 20 Mar 2022 18:47:39 +0100 Subject: [PATCH 09/11] =?UTF-8?q?=F0=9F=91=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/solve-daily.yml | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/solve-daily.yml b/.github/workflows/solve-daily.yml index aa2bc1c..90933fc 100644 --- a/.github/workflows/solve-daily.yml +++ b/.github/workflows/solve-daily.yml @@ -22,10 +22,10 @@ jobs: node-version: 16 cache: pnpm - - run: pnpm install @platane/wordle-bot + - run: pnpm install platane-wordle-bot - run: pnpm twitter-refresh - working-directory: node_modules/@platane/wordle-bot + working-directory: node_modules/platane-wordle-bot env: GITHUB_TOKEN: ${{ secrets.MY_GITHUB_TOKEN }} TWITTER_CLIENT_ID: ${{ secrets.TWITTER_CLIENT_ID }} @@ -33,7 +33,7 @@ jobs: TWITTER_REFRESH_TOKEN: ${{ secrets.TWITTER_REFRESH_TOKEN }} - run: pnpm solve - working-directory: node_modules/@platane/wordle-bot + working-directory: node_modules/platane-wordle-bot env: GITHUB_REPOSITORY: ${{ github.repository }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/package.json b/package.json index ee29dc4..4ad02c4 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ } }, "scripts": { - "build": "ncc build src/twitter/auth.ts -o dist/twitter-auth && ncc build src/twitter/refresh.ts -o dist/twitter-refresh && ncc build src/index.ts -o dist/solve -e puppeteer -e puppeteer-screen-recorder && node -e \"const pkg=require('./package.json');console.log(JSON.stringify({name:'@platane/wordle-bot',private:false,version:pkg.version+'-'+process.env.GITHUB_RUN_NUMBER,dependencies:{puppeteer:pkg.dependencies.puppeteer,'puppeteer-screen-recorder':pkg.dependencies['puppeteer-screen-recorder']},scripts:{solve:'node solve/index.js','twitter-refresh':'node twitter-refresh/index.js','twitter-auth':'node twitter-auth/index.js'}}))\" > dist/package.json ", + "build": "ncc build src/twitter/auth.ts -o dist/twitter-auth && ncc build src/twitter/refresh.ts -o dist/twitter-refresh && ncc build src/index.ts -o dist/solve -e puppeteer -e puppeteer-screen-recorder && node -e \"const pkg=require('./package.json');console.log(JSON.stringify({name:'platane-wordle-bot',version:pkg.version+'-'+process.env.GITHUB_RUN_NUMBER,dependencies:{puppeteer:pkg.dependencies.puppeteer,'puppeteer-screen-recorder':pkg.dependencies['puppeteer-screen-recorder']},scripts:{solve:'node solve/index.js','twitter-refresh':'node twitter-refresh/index.js','twitter-auth':'node twitter-auth/index.js'}}))\" > dist/package.json ", "twitter-auth": "sucrase-node src/twitter/auth.ts", "twitter-refresh": "sucrase-node src/twitter/refresh.ts", "start": "sucrase-node src/index.ts", From c2c0edb828d50ac91cbb89a79dc61a5f1a15eb73 Mon Sep 17 00:00:00 2001 From: platane Date: Sun, 20 Mar 2022 18:52:07 +0100 Subject: [PATCH 10/11] =?UTF-8?q?=F0=9F=91=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/solve-daily.yml | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/.github/workflows/solve-daily.yml b/.github/workflows/solve-daily.yml index 90933fc..e84b9b5 100644 --- a/.github/workflows/solve-daily.yml +++ b/.github/workflows/solve-daily.yml @@ -13,18 +13,9 @@ jobs: runs-on: ubuntu-latest steps: - - uses: pnpm/action-setup@v2 - with: - version: 6 + - run: npm install platane-wordle-bot - - uses: actions/setup-node@v2 - with: - node-version: 16 - cache: pnpm - - - run: pnpm install platane-wordle-bot - - - run: pnpm twitter-refresh + - run: npm run twitter-refresh working-directory: node_modules/platane-wordle-bot env: GITHUB_TOKEN: ${{ secrets.MY_GITHUB_TOKEN }} @@ -32,7 +23,7 @@ jobs: TWITTER_CLIENT_SECRET: ${{ secrets.TWITTER_CLIENT_SECRET }} TWITTER_REFRESH_TOKEN: ${{ secrets.TWITTER_REFRESH_TOKEN }} - - run: pnpm solve + - run: npm run solve working-directory: node_modules/platane-wordle-bot env: GITHUB_REPOSITORY: ${{ github.repository }} From cf8acf89c33d342f6ce35e5d6c46270ac62731ef Mon Sep 17 00:00:00 2001 From: platane Date: Sun, 20 Mar 2022 19:06:18 +0100 Subject: [PATCH 11/11] =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/twitter/auth.ts | 7 +++---- src/twitter/getRepository.ts | 12 ++++++++++++ src/twitter/refresh.ts | 7 +++---- 3 files changed, 18 insertions(+), 8 deletions(-) create mode 100644 src/twitter/getRepository.ts diff --git a/src/twitter/auth.ts b/src/twitter/auth.ts index 85a361f..364ed4b 100644 --- a/src/twitter/auth.ts +++ b/src/twitter/auth.ts @@ -1,11 +1,10 @@ import * as http from "http"; -import * as path from "path"; import type { Socket } from "net"; import TwitterApi from "twitter-api-v2"; import "dotenv/config"; import { writeDotEnv } from "./writeDotEnv"; import { createSecretUpdater } from "github-secret-dotenv/lib/github"; -import { readPackageJson } from "github-secret-dotenv/lib/readPackageJson"; +import { getRepository } from "./getRepository"; const CALLBACK_URL = "http://localhost:4194/callback"; @@ -74,7 +73,7 @@ const CALLBACK_URL = "http://localhost:4194/callback"; console.log(data, { expiresIn }); } - writeDotEnv(path.join(__dirname, "../../.env"), { + writeDotEnv(".env", { TWITTER_ACCESS_TOKEN: accessToken, TWITTER_REFRESH_TOKEN: refreshToken!, }); @@ -82,7 +81,7 @@ const CALLBACK_URL = "http://localhost:4194/callback"; console.log("written to .env"); const updateSecret = createSecretUpdater({ - ...readPackageJson(path.join(__dirname, "../.."))!, + ...getRepository()!, githubAccessToken: process.env.GITHUB_ACCESS_TOKEN ?? process.env.GITHUB_TOKEN!, }); diff --git a/src/twitter/getRepository.ts b/src/twitter/getRepository.ts new file mode 100644 index 0000000..c2067c3 --- /dev/null +++ b/src/twitter/getRepository.ts @@ -0,0 +1,12 @@ +import { readPackageJson } from "github-secret-dotenv/lib/readPackageJson"; + +const readRepository = () => { + const [owner, repo] = (process.env.GITHUB_REPOSITORY ?? "").split("/"); + if (!repo) return undefined; + return { owner, repo }; +}; + +export const getRepository = () => ({ + ...readRepository(), + ...readPackageJson()!, +}); diff --git a/src/twitter/refresh.ts b/src/twitter/refresh.ts index 7c47d0d..6317469 100644 --- a/src/twitter/refresh.ts +++ b/src/twitter/refresh.ts @@ -1,8 +1,7 @@ -import * as path from "path"; import TwitterApi from "twitter-api-v2"; import { writeDotEnv } from "./writeDotEnv"; import { createSecretUpdater } from "github-secret-dotenv/lib/github"; -import { readPackageJson } from "github-secret-dotenv/lib/readPackageJson"; +import { getRepository } from "./getRepository"; import "dotenv/config"; /** @@ -29,7 +28,7 @@ import "dotenv/config"; console.log(data, { expiresIn }); } - writeDotEnv(path.join(__dirname, "../../.env"), { + writeDotEnv(".env", { TWITTER_ACCESS_TOKEN: accessToken, TWITTER_REFRESH_TOKEN: refreshToken!, }); @@ -37,7 +36,7 @@ import "dotenv/config"; console.log("written to .env"); const updateSecret = createSecretUpdater({ - ...readPackageJson(path.join(__dirname, "../.."))!, + ...getRepository()!, githubAccessToken: process.env.GITHUB_ACCESS_TOKEN ?? process.env.GITHUB_TOKEN!, });