diff --git a/.github/workflows/build-test-publish.yml b/.github/workflows/build-test-publish.yml index d601ed9..a8098fd 100644 --- a/.github/workflows/build-test-publish.yml +++ b/.github/workflows/build-test-publish.yml @@ -13,9 +13,6 @@ jobs: - name: Install Dependencies run: npm ci - - name: Build - run: npm run build - - name: Run Docker test containers run: | docker compose up mysql pg -d @@ -24,7 +21,15 @@ jobs: - name: Run Tests run: npm test - - name: Publish - run: npm run publish-all + - name: Build & publish core + run: | + npm run build --workspace=core + npm publish --workspace=core env: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + + - name: Install core to drivers, build & publish + run: | + npm install @sqltags/core@latest --workspace=drivers + npm run build --workspace=drivers + npm publish --workspace=drivers diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index e37a8f1..47b1e09 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -13,9 +13,6 @@ jobs: - name: Install Dependencies run: npm ci - - name: Build - run: npm run build - - name: Run Docker test containers run: | docker compose up mysql pg -d @@ -28,3 +25,10 @@ jobs: uses: coverallsapp/github-action@v2 with: path-to-lcov: ./coverage/lcov.info + + - name: Build + run: | + npm install @sqltags/core@latest --workspace=drivers + npm run build --workspaces + env: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/core/package.json b/core/package.json index bc142f8..2c18b2c 100644 --- a/core/package.json +++ b/core/package.json @@ -1,6 +1,6 @@ { "name": "@sqltags/core", - "version": "0.0.20", + "version": "0.0.21", "description": "Safely create & execute parameterized SQL queries using template strings 🔧✨ minimal API and works with any db driver (pg, mysql, sqlite, etc).", "license": "MIT", "author": { @@ -33,14 +33,7 @@ "node": ">=16.5" }, "source": "./index.ts", - "main": "./dist/index.js", - "module": "./dist/index.mjs", - "types": "./dist/index.d.ts", - "exports": { - ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.js", - "types": "./dist/index.d.ts" - } - } + "type": "module", + "main": "./dist/index.mjs", + "types": "./dist/index.d.ts" } diff --git a/drivers/mysql/package.json b/drivers/mysql/package.json index e8a1995..03c96c3 100644 --- a/drivers/mysql/package.json +++ b/drivers/mysql/package.json @@ -1,6 +1,6 @@ { "name": "@sqltags/mysql", - "version": "0.0.20", + "version": "0.0.21", "description": "MySQL driver for sqltags (@sqltags/core) 🔧✨ Safely create & execute parameterized SQL queries using template strings", "license": "MIT", "author": { @@ -28,22 +28,14 @@ "engines": { "node": ">=16.5" }, + "type": "module", "source": "./mysql.ts", - "main": "dist/index.js", - "module": "dist/index.mjs", + "main": "dist/index.mjs", "types": "dist/index.d.ts", - "exports": { - ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.js", - "types": "./dist/index.d.ts" - } - }, "scripts": { "build": "rm -rf dist && parcel build --no-cache" }, "dependencies": { - "mysql2": "^3.7.0", - "@sqltags/core": "0.0.18" + "mysql2": "^3.7.0" } } diff --git a/drivers/postgres/package.json b/drivers/postgres/package.json index 5f79a97..2988899 100644 --- a/drivers/postgres/package.json +++ b/drivers/postgres/package.json @@ -1,6 +1,6 @@ { "name": "@sqltags/pg", - "version": "0.0.20", + "version": "0.0.21", "description": "PostgreSQL driver for SqlTags (@sqltags/core) 🔧✨ Safely create & execute parameterized SQL queries using template strings", "license": "MIT", "author": { @@ -28,22 +28,14 @@ "engines": { "node": ">=16.5" }, + "type": "module", "source": "./postgres.ts", - "main": "dist/index.js", - "module": "dist/index.mjs", + "main": "dist/index.mjs", "types": "dist/index.d.ts", - "exports": { - ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.js", - "types": "./dist/index.d.ts" - } - }, "scripts": { "build": "rm -rf dist && parcel build --no-cache" }, "dependencies": { - "@sqltags/core": "0.0.18", "pg": "^8.11.3", "pg-cursor": "^2.10.3" }, diff --git a/drivers/sqlite/package.json b/drivers/sqlite/package.json index 88ee09c..b66b380 100644 --- a/drivers/sqlite/package.json +++ b/drivers/sqlite/package.json @@ -1,6 +1,6 @@ { "name": "@sqltags/sqlite", - "version": "0.0.20", + "version": "0.0.21", "description": "SQLite driver for sqltags (@sqltags/core) 🔧✨ Safely create & execute parameterized SQL queries using template strings", "license": "MIT", "author": { @@ -28,15 +28,14 @@ "engines": { "node": ">=16.5" }, + "type": "module", "source": "./sqlite.ts", - "main": "dist/index.js", - "module": "dist/index.mjs", + "main": "dist/index.mjs", "types": "dist/index.d.ts", "scripts": { "build": "rm -rf dist && parcel build --no-cache" }, "dependencies": { - "@sqltags/core": "0.0.18", "sqlite3": "^5.1.7" } } diff --git a/package-lock.json b/package-lock.json index cbdaa2f..b1bd7bc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30,7 +30,7 @@ }, "core": { "name": "@sqltags/core", - "version": "0.0.20", + "version": "0.0.21", "license": "MIT", "engines": { "node": ">=16.5" @@ -38,30 +38,20 @@ }, "drivers/mysql": { "name": "@sqltags/mysql", - "version": "0.0.20", + "version": "0.0.21", "license": "MIT", "dependencies": { - "@sqltags/core": "0.0.18", "mysql2": "^3.7.0" }, "engines": { "node": ">=16.5" } }, - "drivers/mysql/node_modules/@sqltags/core": { - "version": "0.0.18", - "resolved": "https://registry.npmjs.org/@sqltags/core/-/core-0.0.18.tgz", - "integrity": "sha512-iwqqlhZqgBfczEk/WDCxU62CsLD+ord3bX+0+xKYOvA/4Qzqu42yT1Bpx1xp633/9bjF26jccrB05bp/Cbikog==", - "engines": { - "node": ">=16.5" - } - }, "drivers/postgres": { "name": "@sqltags/pg", - "version": "0.0.20", + "version": "0.0.21", "license": "MIT", "dependencies": { - "@sqltags/core": "0.0.18", "pg": "^8.11.3", "pg-cursor": "^2.10.3" }, @@ -73,34 +63,17 @@ "node": ">=16.5" } }, - "drivers/postgres/node_modules/@sqltags/core": { - "version": "0.0.18", - "resolved": "https://registry.npmjs.org/@sqltags/core/-/core-0.0.18.tgz", - "integrity": "sha512-iwqqlhZqgBfczEk/WDCxU62CsLD+ord3bX+0+xKYOvA/4Qzqu42yT1Bpx1xp633/9bjF26jccrB05bp/Cbikog==", - "engines": { - "node": ">=16.5" - } - }, "drivers/sqlite": { "name": "@sqltags/sqlite", - "version": "0.0.20", + "version": "0.0.21", "license": "MIT", "dependencies": { - "@sqltags/core": "0.0.18", "sqlite3": "^5.1.7" }, "engines": { "node": ">=16.5" } }, - "drivers/sqlite/node_modules/@sqltags/core": { - "version": "0.0.18", - "resolved": "https://registry.npmjs.org/@sqltags/core/-/core-0.0.18.tgz", - "integrity": "sha512-iwqqlhZqgBfczEk/WDCxU62CsLD+ord3bX+0+xKYOvA/4Qzqu42yT1Bpx1xp633/9bjF26jccrB05bp/Cbikog==", - "engines": { - "node": ">=16.5" - } - }, "node_modules/@ampproject/remapping": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", @@ -3319,63 +3292,6 @@ "@types/pg": "*" } }, - "node_modules/@types/pg/node_modules/pg-types": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-4.0.1.tgz", - "integrity": "sha512-hRCSDuLII9/LE3smys1hRHcu5QGcLs9ggT7I/TCs0IE+2Eesxi9+9RWAAwZ0yaGjxoWICF/YHLOEjydGujoJ+g==", - "dev": true, - "dependencies": { - "pg-int8": "1.0.1", - "pg-numeric": "1.0.2", - "postgres-array": "~3.0.1", - "postgres-bytea": "~3.0.0", - "postgres-date": "~2.0.1", - "postgres-interval": "^3.0.0", - "postgres-range": "^1.1.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@types/pg/node_modules/postgres-array": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-3.0.2.tgz", - "integrity": "sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@types/pg/node_modules/postgres-bytea": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-3.0.0.tgz", - "integrity": "sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==", - "dev": true, - "dependencies": { - "obuf": "~1.1.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@types/pg/node_modules/postgres-date": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-2.0.1.tgz", - "integrity": "sha512-YtMKdsDt5Ojv1wQRvUhnyDJNSr2dGIC96mQVKz7xufp07nfuFONzdaowrMHjlAzY6GDLd4f+LUHHAAM1h4MdUw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@types/pg/node_modules/postgres-interval": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-3.0.0.tgz", - "integrity": "sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, "node_modules/@types/stack-utils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", @@ -6442,9 +6358,9 @@ } }, "node_modules/mysql2": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.7.0.tgz", - "integrity": "sha512-c45jA3Jc1X8yJKzrWu1GpplBKGwv/wIV6ITZTlCSY7npF2YfJR+6nMP5e+NTQhUeJPSyOQAbGDCGEHbAl8HN9w==", + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.7.1.tgz", + "integrity": "sha512-4EEqYu57mnkW5+Bvp5wBebY7PpfyrmvJ3knHcmLkp8FyBu4kqgrF2GxIjsC2tbLNZWqJaL21v/MYH7bU5f03oA==", "dependencies": { "denque": "^2.1.0", "generate-function": "^2.3.1", @@ -6938,6 +6854,24 @@ "integrity": "sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==" }, "node_modules/pg-types": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-4.0.1.tgz", + "integrity": "sha512-hRCSDuLII9/LE3smys1hRHcu5QGcLs9ggT7I/TCs0IE+2Eesxi9+9RWAAwZ0yaGjxoWICF/YHLOEjydGujoJ+g==", + "dev": true, + "dependencies": { + "pg-int8": "1.0.1", + "pg-numeric": "1.0.2", + "postgres-array": "~3.0.1", + "postgres-bytea": "~3.0.0", + "postgres-date": "~2.0.1", + "postgres-interval": "^3.0.0", + "postgres-range": "^1.1.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pg/node_modules/pg-types": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", @@ -6952,6 +6886,41 @@ "node": ">=4" } }, + "node_modules/pg/node_modules/postgres-array": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", + "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/pg/node_modules/postgres-bytea": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", + "integrity": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pg/node_modules/postgres-date": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", + "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pg/node_modules/postgres-interval": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", + "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", + "dependencies": { + "xtend": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/pgpass": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", @@ -7006,38 +6975,42 @@ "dev": true }, "node_modules/postgres-array": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", - "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-3.0.2.tgz", + "integrity": "sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==", + "dev": true, "engines": { - "node": ">=4" + "node": ">=12" } }, "node_modules/postgres-bytea": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", - "integrity": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-3.0.0.tgz", + "integrity": "sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==", + "dev": true, + "dependencies": { + "obuf": "~1.1.2" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, "node_modules/postgres-date": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", - "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-2.0.1.tgz", + "integrity": "sha512-YtMKdsDt5Ojv1wQRvUhnyDJNSr2dGIC96mQVKz7xufp07nfuFONzdaowrMHjlAzY6GDLd4f+LUHHAAM1h4MdUw==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, "node_modules/postgres-interval": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", - "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", - "dependencies": { - "xtend": "^4.0.0" - }, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-3.0.0.tgz", + "integrity": "sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, "node_modules/postgres-range": { @@ -8229,7 +8202,7 @@ } }, "test": { - "name": "@sqltags/test", + "name": "@sqlcore/tests", "extraneous": true } } diff --git a/tsconfig.json b/tsconfig.json index 3a250f7..a7b21b7 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,8 +2,8 @@ "compilerOptions": { "lib": ["ESNext", "DOM"], "target": "ESNext", - "module": "NodeNext", - "moduleResolution": "nodenext", + "module": "ESNext", + "moduleResolution": "Bundler", "esModuleInterop": true, "noEmit": true, "strict": true,