From c7af05d7c23c521a53aea9c8ded7fb3090be5bf4 Mon Sep 17 00:00:00 2001 From: "Emmanuel .A" Date: Wed, 8 Apr 2026 12:40:49 +0100 Subject: [PATCH 1/3] chore: git workflow and bump version --- .github/workflows/lint-test-build.yml | 29 ++++++++++ .github/workflows/publish.yml | 82 +++++++++++++++++++++++++++ package.json | 2 +- 3 files changed, 112 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/lint-test-build.yml create mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/lint-test-build.yml b/.github/workflows/lint-test-build.yml new file mode 100644 index 0000000..e130c0a --- /dev/null +++ b/.github/workflows/lint-test-build.yml @@ -0,0 +1,29 @@ +name: Lint, Test, and Build + +on: + release: + types: [created] + pull_request: + branches: + - main + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + node-version: [20] + steps: + - uses: actions/checkout@v4 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + - name: Install dependencies + run: npm install + - name: Lint + run: npm run lint + - name: Test + run: npm run test + - name: Build + run: npm run build diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..28b304b --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,82 @@ +name: Publish Package + +on: + pull_request: + types: + - closed + branches: + - main + +jobs: + build: + runs-on: ubuntu-latest + if: github.event.pull_request.merged == true + strategy: + matrix: + node-version: [20] + steps: + - uses: actions/checkout@v4 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + - name: Install dependencies + run: npm install + - name: Lint + run: npm run lint + - name: Build + run: npm run build + + check-version: + runs-on: ubuntu-latest + needs: [build] + if: github.event.pull_request.merged == true + outputs: + version-updated: ${{ steps.compare-versions.outputs.version-updated }} + steps: + - name: Checkout main branch at commit before merge + uses: actions/checkout@v4 + with: + ref: ${{ github.event.pull_request.base.sha }} + + - name: Get version before merge + id: pre-merge-version + run: | + PRE_MERGE_VERSION=$(node -p "require('./package.json').version") + echo "pre_merge_version=$PRE_MERGE_VERSION" >> "$GITHUB_OUTPUT" + + - name: Checkout main branch at commit after merge + uses: actions/checkout@v4 + with: + ref: main + + - name: Get version after merge + id: post-merge-version + run: | + POST_MERGE_VERSION=$(node -p "require('./package.json').version") + echo "post_merge_version=$POST_MERGE_VERSION" >> "$GITHUB_OUTPUT" + + - name: Compare versions + id: compare-versions + run: | + if [[ "${{ steps.pre-merge-version.outputs.pre_merge_version }}" != "${{ steps.post-merge-version.outputs.post_merge_version }}" ]]; then + echo "version-updated=true" >> "$GITHUB_OUTPUT" + else + echo "version-updated=false" >> "$GITHUB_OUTPUT" + fi + + publish: + needs: [build, check-version] + if: needs.check-version.outputs.version-updated == 'true' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 20 + registry-url: https://registry.npmjs.org/ + - run: npm install + - run: npm run build + - run: npm publish --access public + env: + NODE_AUTH_TOKEN: ${{ secrets.npm_token }} diff --git a/package.json b/package.json index 006aed8..f34cbd8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@meshsdk/contract", - "version": "1.9.0-beta.87", + "version": "1.9.0-beta.103", "description": "List of open-source smart contracts, complete with documentation, live demos, and end-to-end source code. https://meshjs.dev/smart-contracts", "main": "./dist/index.cjs", "browser": "./dist/index.js", From 9cb8e9bf35417f496fd3a29fafbbdce19c970de6 Mon Sep 17 00:00:00 2001 From: "Emmanuel .A" Date: Wed, 8 Apr 2026 12:46:17 +0100 Subject: [PATCH 2/3] fix: jest config fie --- jest.config.ts | 2 +- package.json | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/jest.config.ts b/jest.config.ts index 9229656..a37d449 100644 --- a/jest.config.ts +++ b/jest.config.ts @@ -4,7 +4,7 @@ const jestConfig: Config = { clearMocks: true, maxWorkers: 1, testEnvironment: "node", - testMatch: ["**/packages/**/*.test.ts"], + testMatch: ["**/src/**/*.test.ts"], setupFiles: ["dotenv/config"], preset: "ts-jest", moduleNameMapper: { diff --git a/package.json b/package.json index f34cbd8..d7de241 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,11 @@ "test": "jest" }, "devDependencies": { + "@types/jest": "^29.5.12", + "dotenv": "^16.4.5", "eslint": "^8.57.0", + "jest": "^29.7.0", + "ts-jest": "^29.1.2", "tsup": "^8.0.2", "typescript": "^5.3.3" }, From b5a7e27eecf8ad441136d31291189d3983ad55ee Mon Sep 17 00:00:00 2001 From: "Emmanuel .A" Date: Wed, 8 Apr 2026 12:53:34 +0100 Subject: [PATCH 3/3] fix: jest config and lint --- .eslintrc.json | 15 +++++++++++++++ package.json | 3 +++ 2 files changed, 18 insertions(+) create mode 100644 .eslintrc.json diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..850601e --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,15 @@ +{ + "parser": "@typescript-eslint/parser", + "plugins": ["@typescript-eslint"], + "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"], + "env": { + "node": true, + "jest": true + }, + "rules": { + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-unused-vars": ["warn", { "argsIgnorePattern": "^_" }], + "@typescript-eslint/no-var-requires": "off", + "no-constant-condition": "warn" + } +} diff --git a/package.json b/package.json index d7de241..7dd5129 100644 --- a/package.json +++ b/package.json @@ -29,10 +29,13 @@ }, "devDependencies": { "@types/jest": "^29.5.12", + "@typescript-eslint/eslint-plugin": "^7.1.0", + "@typescript-eslint/parser": "^7.1.0", "dotenv": "^16.4.5", "eslint": "^8.57.0", "jest": "^29.7.0", "ts-jest": "^29.1.2", + "ts-node": "^10.9.2", "tsup": "^8.0.2", "typescript": "^5.3.3" },