From 7d840f57eee0129a616eacaabc862db07c97b7bb Mon Sep 17 00:00:00 2001 From: QwertyCode Date: Sat, 10 Jan 2026 22:16:11 +0100 Subject: [PATCH 01/60] ci: update npm publish workflow for improved tagging and versioning --- .github/workflows/npm-publish.yml | 70 +++++++++++++++++++------------ 1 file changed, 43 insertions(+), 27 deletions(-) diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index e702ab9..97764b0 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -1,39 +1,55 @@ -# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created -# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages - -name: Publish packages +name: Publish package to npm on: - workflow_dispatch: - release: - types: [created] push: - branches: - - "release" - paths: - - "packages/next/**" + tags: + - "v*" + +permissions: + id-token: write + contents: read jobs: - publish-npm: - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + publish: runs-on: ubuntu-latest - environment: production + steps: - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v4 - with: - version: 9 + - uses: actions/setup-node@v4 with: node-version: 22 - registry-url: https://registry.npmjs.org/ - cache: 'pnpm' - - name: Build Package + registry-url: https://registry.npmjs.org + + - uses: pnpm/action-setup@v4 + with: + version: 10 + + - run: pnpm install --frozen-lockfile + + # opcjonalnie: build/test + - run: pnpm lint + - run: pnpm typecheck + + - name: Decide dist-tag + id: meta + shell: bash run: | - pnpm install - pnpm run build - working-directory: "packages/next" - - name: Publish Package - run: pnpm publish --no-git-checks - working-directory: "packages/next" + TAG="${GITHUB_REF_NAME}" # e.g. v1.2.3 or v1.2.4-canary.0 + VERSION="${TAG#v}" # strip leading v + echo "version=$VERSION" >> "$GITHUB_OUTPUT" + + if [[ "$VERSION" == *"-canary."* || "$VERSION" == *"-canary"* ]]; then + echo "dist_tag=canary" >> "$GITHUB_OUTPUT" + else + echo "dist_tag=latest" >> "$GITHUB_OUTPUT" + fi + + - name: Set package version (without git tag) + shell: bash + run: | + # jeśli publikujesz tylko jedną paczkę: + npm version "${{ steps.meta.outputs.version }}" --no-git-tag-version + + - name: Publish + run: npm publish --access public --tag "${{ steps.meta.outputs.dist_tag }}" From ab129d98184588279f4acccf3f5b25899ebdd06b Mon Sep 17 00:00:00 2001 From: QwertyCode Date: Sat, 10 Jan 2026 22:17:22 +0100 Subject: [PATCH 02/60] ci: remove version specification for pnpm action in npm publish workflow --- .github/workflows/npm-publish.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index 97764b0..a7c82b9 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -22,9 +22,6 @@ jobs: registry-url: https://registry.npmjs.org - uses: pnpm/action-setup@v4 - with: - version: 10 - - run: pnpm install --frozen-lockfile # opcjonalnie: build/test From 84c896fadcce80ca0918a64618b0ec356a601325 Mon Sep 17 00:00:00 2001 From: QwertyCode Date: Sat, 10 Jan 2026 22:22:06 +0100 Subject: [PATCH 03/60] ci: update npm publish workflow and add checks for linting and typechecking --- .github/workflows/checks.yml | 59 +++++++++++++++++++++++++++++++ .github/workflows/npm-publish.yml | 5 ++- package.json | 6 ++-- 3 files changed, 65 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/checks.yml diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml new file mode 100644 index 0000000..7868d3b --- /dev/null +++ b/.github/workflows/checks.yml @@ -0,0 +1,59 @@ +name: Checks + +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + install-dependencies: + name: Install dependencies + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + node-version: 22 + registry-url: https://registry.npmjs.org + + - uses: pnpm/action-setup@v4 + - run: pnpm install --frozen-lockfile + lint: + name: Lint + runs-on: ubuntu-latest + needs: install-dependencies + + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + node-version: 22 + registry-url: https://registry.npmjs.org + + - uses: pnpm/action-setup@v4 + - run: pnpm install --frozen-lockfile + + - run: pnpm run lint:ci + typecheck: + name: Typecheck + runs-on: ubuntu-latest + needs: install-dependencies + + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + node-version: 22 + registry-url: https://registry.npmjs.org + + - uses: pnpm/action-setup@v4 + - run: pnpm install --frozen-lockfile + + - run: pnpm run typecheck diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index a7c82b9..f35dfac 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -24,9 +24,8 @@ jobs: - uses: pnpm/action-setup@v4 - run: pnpm install --frozen-lockfile - # opcjonalnie: build/test - - run: pnpm lint - - run: pnpm typecheck + - run: pnpm run lint:ci + - run: pnpm run typecheck - name: Decide dist-tag id: meta diff --git a/package.json b/package.json index e1b64fe..4eb9e4d 100644 --- a/package.json +++ b/package.json @@ -5,8 +5,10 @@ "main": "./dist/index.js", "scripts": { "build": "tsup index.tsx --format esm,cjs --dts --out-dir dist --clean", - "fmt": "biome format --write", - "lint": "biome lint --fix --unsafe" + "format": "biome format --write", + "lint": "biome lint --fix", + "lint:ci": "biome lint", + "typecheck": "tsc --noEmit" }, "publishConfig": { "access": "public" From 8074d0097df8e6a1cc96f1235210b1b8b3a14ccb Mon Sep 17 00:00:00 2001 From: QwertyCode Date: Sat, 10 Jan 2026 22:24:54 +0100 Subject: [PATCH 04/60] ci: add job name for clarity in npm publish workflow --- .github/workflows/npm-publish.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index f35dfac..f3e2761 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -11,8 +11,9 @@ permissions: jobs: publish: + name: Publish to npm runs-on: ubuntu-latest - + environment: production steps: - uses: actions/checkout@v4 From 74c3e02907c50a12431ae42ca1b71d5adae203a8 Mon Sep 17 00:00:00 2001 From: QwertyCode Date: Sat, 10 Jan 2026 22:28:01 +0100 Subject: [PATCH 05/60] ci: format npm publish workflow steps for better readability --- .github/workflows/npm-publish.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index f3e2761..07b12cf 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -25,8 +25,12 @@ jobs: - uses: pnpm/action-setup@v4 - run: pnpm install --frozen-lockfile - - run: pnpm run lint:ci - - run: pnpm run typecheck + - name: Lint + run: pnpm run lint:ci + - name: Typecheck + run: pnpm run typecheck + - name: Build + run: pnpm run build - name: Decide dist-tag id: meta From 22e779fae7d233cf65e44cfeaf19bb1ca66eec54 Mon Sep 17 00:00:00 2001 From: QwertyCode Date: Sat, 10 Jan 2026 22:31:23 +0100 Subject: [PATCH 06/60] ci: add npm upgrade step to workflow for consistency --- .github/workflows/npm-publish.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index 07b12cf..21809a5 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -21,6 +21,9 @@ jobs: with: node-version: 22 registry-url: https://registry.npmjs.org + + - name: Upgrade npm + run: npm i -g npm@^11.5.1 - uses: pnpm/action-setup@v4 - run: pnpm install --frozen-lockfile From 86270e4a8bfa4a466364b407e46299dd2ee13d2a Mon Sep 17 00:00:00 2001 From: QwertyCode Date: Sat, 10 Jan 2026 22:34:41 +0100 Subject: [PATCH 07/60] ci: update package.json with repository info, homepage, keywords, author, and license --- package.json | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 4eb9e4d..1f71c0c 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,10 @@ "version": "1.1.1", "description": "", "main": "./dist/index.js", + "repository": { + "url": "https://github.com/useflowtag/next" + }, + "homepage": "https://flowtagdocs.qwerty.ovh/sdk/next", "scripts": { "build": "tsup index.tsx --format esm,cjs --dts --out-dir dist --clean", "format": "biome format --write", @@ -24,9 +28,9 @@ } }, "sideEffects": false, - "keywords": [], - "author": "", - "license": "ISC", + "keywords": ["flowtag", "analytics", "nextjs", "react", "sdk", "ftag"], + "author": "Flowtag Team & Contributors", + "license": "MIT", "packageManager": "pnpm@10.14.0", "peerDependencies": { "next": ">=12.0.0", From d050a9af52d5b79f90efd111f4179f508344a64a Mon Sep 17 00:00:00 2001 From: QwertyCode Date: Sat, 10 Jan 2026 22:40:21 +0100 Subject: [PATCH 08/60] ci: add debug output for determined version and dist-tag in npm publish workflow --- .github/workflows/npm-publish.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index 21809a5..f8aa814 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -48,11 +48,12 @@ jobs: else echo "dist_tag=latest" >> "$GITHUB_OUTPUT" fi + echo "Determined version: $VERSION" + echo "Determined dist-tag: $DIST_TAG" - name: Set package version (without git tag) shell: bash run: | - # jeśli publikujesz tylko jedną paczkę: npm version "${{ steps.meta.outputs.version }}" --no-git-tag-version - name: Publish From d38d536901a15384f56f49649beb31346372d2e5 Mon Sep 17 00:00:00 2001 From: QwertyCode Date: Sat, 10 Jan 2026 22:41:35 +0100 Subject: [PATCH 09/60] ci: add workflow_dispatch trigger to npm publish workflow --- .github/workflows/npm-publish.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index f8aa814..0858c14 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -1,6 +1,7 @@ name: Publish package to npm on: + workflow_dispatch: push: tags: - "v*" From c5510efe069ac99267738a42466178a48c83703c Mon Sep 17 00:00:00 2001 From: QwertyCode Date: Sun, 11 Jan 2026 13:09:03 +0100 Subject: [PATCH 10/60] fix: update homepage URL in package.json --- README.md | Bin 3558 -> 3568 bytes package.json | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b33eb86497736192c62f1e65fc31d909c5f9405a..5f74dc0a167dc3f091fd987389d07b699edb7e4b 100644 GIT binary patch delta 20 bcmaDR{Xu#|5HouULq0 Date: Sun, 11 Jan 2026 13:10:05 +0100 Subject: [PATCH 11/60] fix: add description for the package in package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ca3bba6..c901e98 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@flowtag/next", "version": "1.1.1", - "description": "", + "description": "Flowtag tracking adapter for Next.js", "main": "./dist/index.js", "repository": { "url": "https://github.com/useflowtag/next" From b15127bcb400bd27f541c634a1d620e86a327fc4 Mon Sep 17 00:00:00 2001 From: QwertyCode <167351530+imqwertyc@users.noreply.github.com> Date: Wed, 28 Jan 2026 12:19:29 +0100 Subject: [PATCH 12/60] Create LICENSE --- LICENSE | 201 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 201 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. From 9341e56be633f6589262c8d01a90c3eda0bd8fbe Mon Sep 17 00:00:00 2001 From: QwertyCode <167351530+imqwertyc@users.noreply.github.com> Date: Wed, 28 Jan 2026 12:20:38 +0100 Subject: [PATCH 13/60] Update README.md --- README.md | Bin 3568 -> 1921 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/README.md b/README.md index 5f74dc0a167dc3f091fd987389d07b699edb7e4b..00fe1b09c2e0b3fdb8d343d0c0b277bca5d55d25 100644 GIT binary patch literal 1921 zcmZux&2Hm15WXAmJ4_v*Z~{k4f})2YDVog>5NtLZWVeT6QNXk`mYB#Sm!$0Y)@SIg z=%MF6Lk|V|D1CwU5&8`+CE4uyAWP(M_|5lyGynei*O4RD=*k?A3O14b=)2*7@H^6r zih?hWM~$s)=1et0U_2gOG*LWkdwZiCCy#O`&wBr5QaKfIYHmGU z^Fz$;!ckuDOYmm^`q=1Iaj#89s#FfpK0PcK4F_9WbZJ6VO{1c=MwX`2=}d(hd*qB; z3&2!=h*C>;8B0EpzA~DnoEZBA^f=bl0su`YeuF-{>H4HIi6B0e?Osy*w z!fAYaescEaJm&|s!1ZC9^d_@wXE;wMH<$FRz%4lX)Gih<#@8s5s#cfWXw#SfgWy3G z9&)Cr1&5%(4vjghGMdiy!y#o^Hl5%dbw7THgEk-AiK(|x2$kawRVh&*)jM6_eF{F5 zDe4WQCT$?D3%K9jHFoW(jwqhZKdjf_Q>aj4*~bU|#}8CbXB_A~QrhQ8LO}H*li({K7UEX6Yt= z&>M=1$C#Adsfgw`L3+RM+@xq~p(p#Hm7>@<9a?eI?DkIXdg{jW9OE}N+(dlmY)A*@ ztx0@?T@>RPgIe+!1yhm*bz)Wg!M!0>@@oCb6q=-BRpnVYgMZRAd74ue;8z-54o=Z4 zY|!P@Vy^g};ydVzW)J;##}{2~qK5%T2YUzK_7gUv6V%{!RbzNy8na&}W`~3S E0eftBivR!s literal 3568 zcmb7{-)<9E5XR@aQXhc3(;!tz)x;2?UZ7AF`bUadAWGq)sw&yB7soiU7q3m~XWttZOmPx(2pmx>#^So6&O4+7hEm$Eug z_EW`A#vnM-uWnIG_F>PF5vbnQmF!qH8fj963;kWn>Rf9`@ayO6OkWzs?RqI=U8@$n zgFDY2$4K|@6oKRJSo9>}7=-?rty&-c^eMV)#jtw$RRk&W+AGWLKrLJ1h+!s%JTR4ug zr$$VACHA7Vw6)&m_F9@fv4BV#JvDls>K?emyuIt1dgZ^DG@Z6kBvgUQ!zVK1_e?g4 zc`Dt)skO9L(jorn(@GNL!U~z*Y&S_}uJ2twf1#BJf4_MfUWv_7t&~-jc?7$BD$x0r z?5u=QXxtS7Sf$&hdZME%-NCfZ9?1g4huIpKB;gi$c(+Vt1&fE-+Oae?88OPXh=He> zEKPI=mtFaA9_^`S5mQX8_q!*)gqEXLd|@GE3e#8(WFD(3rT2$zmBu-q@c)%;{Hzra zNOoeUIo3uvdY{uTjtSYrUT__?7@&PD?gdJ>5?Dr$IZJqh6_xJP1BtJ-QVV0&u;;mf z`YPkr#Ro6gIFl}D;*TkT1)?i`loTUhqp}{Y_Y{5tGc2-mfTq{xDsur=G9R%#QMLp5 zBueiH&_>g{=cYbRnQzQkw@%eh?MHj4-hZrnFULI)x}H6~M(&$2*Rp|E{3mIi2w^ht z9_v;wDoux8>hekPrR1q(Qje~*1{1LdpPOsuk;(HGeUPUXbSqt1Y|&4RE_TJ>ai!{y zGyD6Be4LX%bs+p4KY0xHgt~H-1ETuAZOt7BkJ2%q`uyl zJp6zUU{&nVp@k7{4@4Tt!6$Y@-^pMlD1D5F@Pz7iD>CXZ3z>Dc^>Mj#A$^r&W7-8D zi2*(KMHt9#yS}bkRQyyKFteEK(Pzx&vGPjdnNPJ>S|QUS6Ls-E?6ScpBRIMpD%8az zX5~VjN0J(5%S>_REg7&Qfur|ll_i)LNi&+rIFB#|$O}(Z#`CrOkPDhIZ{Psy_?oHC zyn_q1IrcVE$T&sE+1=|qvRXAlv#VrPSEKI`ZsCY)D|y$bdeZaZ&% z7sQsIqC=Yf$EPIdJL9knzW(NOm(v(n^LwPqx%ZpSRYVq*g{Sxoj`{2 Date: Wed, 28 Jan 2026 12:21:12 +0100 Subject: [PATCH 14/60] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 00fe1b0..fc09b21 100644 --- a/README.md +++ b/README.md @@ -65,8 +65,9 @@ Thanks for your interest in contributing to Flowtag! 💛 By contributing, you agree that your contributions will be licensed under the project’s license. ## License -useflowtag/next is licensed under [Apache-2.0 License](https://github.com/useflowtag/next/blob/main/LICENSE) +[useflowtag/next](https://github.com/useflowtag/next) is licensed under [Apache-2.0 License](https://github.com/useflowtag/next/blob/main/LICENSE) --- © 2026 Flowtag. All rights reserved. + From 63f01f6a806a99e203e6fba0f48341f4cd3ffbba Mon Sep 17 00:00:00 2001 From: QwertyCode <167351530+imqwertyc@users.noreply.github.com> Date: Wed, 28 Jan 2026 12:24:38 +0100 Subject: [PATCH 15/60] Create CODE_OF_CONDUCT.md --- CODE_OF_CONDUCT.md | 128 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 CODE_OF_CONDUCT.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..d39a0eb --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,128 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +hello-flowtag@qwerty.ovh. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. From f9b0d2ab388ac76d6675485ca659246f9cd23aee Mon Sep 17 00:00:00 2001 From: QwertyCode Date: Wed, 11 Mar 2026 20:31:02 +0100 Subject: [PATCH 16/60] fix: update default endpoint URL in Flowtag component --- index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.tsx b/index.tsx index 9e7c9df..8ba22e2 100644 --- a/index.tsx +++ b/index.tsx @@ -23,7 +23,7 @@ interface FlowtagProps { function Flowtag(props: FlowtagProps) { const { trackerId, - endpoint = "https://flowtagbeacon.qwerty.ovh/tag.js", + endpoint = "https://flowtagbeacon.qwerty.ovh/", silent = false, syncWithGoogleTag = true, beaconStrategy = "manual", From dc79c83cae3f0b692336380b2a95929fb858fb05 Mon Sep 17 00:00:00 2001 From: QwertyCode Date: Wed, 11 Mar 2026 20:35:12 +0100 Subject: [PATCH 17/60] fix: revert version number to 0.0.0 in package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c901e98..002db55 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@flowtag/next", - "version": "1.1.1", + "version": "0.0.0", "description": "Flowtag tracking adapter for Next.js", "main": "./dist/index.js", "repository": { From c7081de698a85268c51db53911a4bef5b1941d20 Mon Sep 17 00:00:00 2001 From: QwertyCode Date: Wed, 11 Mar 2026 20:39:44 +0100 Subject: [PATCH 18/60] fix: update license from MIT to Apache-2.0 in package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 002db55..a887cf9 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "sideEffects": false, "keywords": ["flowtag", "analytics", "nextjs", "react", "sdk", "ftag"], "author": "Flowtag Team & Contributors", - "license": "MIT", + "license": "Apache-2.0", "packageManager": "pnpm@10.14.0", "peerDependencies": { "next": ">=12.0.0", From 897d374323f96be44a566a97cf860a41058b99e6 Mon Sep 17 00:00:00 2001 From: QwertyCode Date: Fri, 10 Apr 2026 22:30:54 +0200 Subject: [PATCH 19/60] fix: update script source URL in Flowtag component --- index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.tsx b/index.tsx index 8ba22e2..c0967c1 100644 --- a/index.tsx +++ b/index.tsx @@ -32,7 +32,7 @@ function Flowtag(props: FlowtagProps) { return (