Skip to content
This repository has been archived by the owner on Sep 11, 2022. It is now read-only.

Commit

Permalink
fix: bundle with rollup to output proper JS files
Browse files Browse the repository at this point in the history
  • Loading branch information
favna committed Jun 19, 2021
1 parent 30d85c7 commit f864c32
Show file tree
Hide file tree
Showing 9 changed files with 122 additions and 27 deletions.
8 changes: 1 addition & 7 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,4 @@ coverage/
*.iml

# Generated files

## API Bundle
generated/api/

## TypeScript Bundle
generated/ts/saelem.d.ts
generated/ts/saelem.graphql
generated/
2 changes: 1 addition & 1 deletion codegen.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
overwrite: true
schema: http://localhost:8284/
generates:
./generated/ts/saelem.d.ts:
./generated/ts/saelem.ts:
plugins:
- typescript
- typescript-resolvers
Expand Down
Empty file removed generated/.gitkeep
Empty file.
23 changes: 14 additions & 9 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,13 @@
"description": "GraphQL Horoscope API for Skyra",
"author": "@skyra",
"license": "MIT",
"types": "generated/ts/saelem.d.ts",
"main": "generated/ts/saelem.d.ts",
"type": "module",
"main": "generated/ts/saelem.cjs",
"module": "generated/ts/saelem.mjs",
"types": "generated/ts/saelem.d.ts",
"exports": {
"import": "./generated/ts/saelem.d.ts",
"require": "./generated/ts/saelem.d.ts"
"import": "./generated/ts/saelem.cjs",
"require": "./generated/ts/saelem.mjs"
},
"imports": {
"#utils/*": "./generated/api/lib/utils/*.js",
Expand All @@ -32,10 +33,13 @@
"cz": "git-cz",
"update": "yarn upgrade-interactive --latest",
"sversion": "standard-version",
"precodegen": "node scripts/clean-generated.mjs",
"codegen": "graphql-codegen",
"postcodegen": "run-s typescript:** graphql:**",
"typescript:replace-invalid-code": "replace-in-file /}\\;/g } generated/ts/saelem.d.ts --isRegex",
"graphql:replace-query": "replace-in-file \"type Query \" \"type SaelemQuery \" generated/ts/saelem.graphql",
"postcodegen": "run-s typescript:*",
"typescript:replace-invalid-code": "replace-in-file /}\\;/g } generated/ts/saelem.ts --isRegex",
"typescript:use-type-import": "replace-in-file /import/g \"import type\" generated/ts/saelem.ts --isRegex",
"typescript:compile": "rollup -c scripts/rollup.config.mjs",
"typescript:cleanup": "node scripts/postcodegen.mjs",
"prepublishOnly": "yarn build",
"prepare": "husky install .github/husky"
},
Expand Down Expand Up @@ -77,6 +81,8 @@
"pretty-quick": "^3.1.1",
"reflect-metadata": "^0.1.13",
"replace-in-file": "^6.2.0",
"rollup": "^2.52.1",
"rollup-plugin-typescript2": "^0.30.0",
"standard-version": "^9.3.0",
"streamsearch": "^0.1.2",
"ts-jest": "^27.0.3",
Expand All @@ -86,8 +92,7 @@
"utility-types": "^3.10.0"
},
"files": [
"generated/ts/saelem.d.ts",
"generated/ts/saelem.graphql"
"generated/ts"
],
"engines": {
"node": ">=14",
Expand Down
9 changes: 9 additions & 0 deletions scripts/clean-generated.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { rm } from 'node:fs/promises';

const tsDir = new URL('../generated/ts/', import.meta.url);

const options = { force: true, recursive: true };

await Promise.all([
rm(tsDir, options) //
]);
9 changes: 9 additions & 0 deletions scripts/postcodegen.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { rm } from 'node:fs/promises';

const saelemTsFile = new URL('../generated/ts/saelem.ts', import.meta.url);

const options = { force: true, recursive: true };

await Promise.all([
rm(saelemTsFile, options) //
]);
29 changes: 29 additions & 0 deletions scripts/rollup.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import typescript from 'rollup-plugin-typescript2';
import { fileURLToPath } from 'url';

const rootDir = new URL('../', import.meta.url);
const tsDir = new URL('generated/ts/', rootDir);

const tsconfigFile = new URL('tsconfig.generated.json', rootDir);
const inputFile = new URL('saelem.ts', tsDir);
const cjsOutputFile = new URL('saelem.cjs', tsDir);
const mjsOutputFile = new URL('saelem.mjs', tsDir);

export default {
input: fileURLToPath(inputFile),
output: [
{
file: fileURLToPath(cjsOutputFile),
format: 'cjs',
exports: 'named',
sourcemap: true
},
{
file: fileURLToPath(mjsOutputFile),
format: 'es',
exports: 'named',
sourcemap: true
}
],
plugins: [typescript({ tsconfig: fileURLToPath(tsconfigFile) })]
};
4 changes: 4 additions & 0 deletions tsconfig.generated.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"extends": "./tsconfig.base.json",
"files": ["generated/ts/saelem.ts"]
}
65 changes: 55 additions & 10 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1396,6 +1396,14 @@
resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570"
integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=

"@rollup/pluginutils@^4.1.0":
version "4.1.0"
resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.1.0.tgz#0dcc61c780e39257554feb7f77207dceca13c838"
integrity sha512-TrBhfJkFxA+ER+ew2U2/fHbebhLT/l/2pRk0hfj9KusXUuRXd2v0R58AfaZK9VXDQ4TogOSEmICVrQAA3zFnHQ==
dependencies:
estree-walker "^2.0.1"
picomatch "^2.2.2"

"@samverschueren/stream-to-observable@^0.3.0":
version "0.3.1"
resolved "https://registry.yarnpkg.com/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz#a21117b19ee9be70c379ec1877537ef2e1c63301"
Expand Down Expand Up @@ -2932,6 +2940,11 @@ common-tags@1.8.0, common-tags@^1.8.0:
resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937"
integrity sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==

commondir@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=

compare-func@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3"
Expand Down Expand Up @@ -3800,6 +3813,11 @@ estraverse@^5.1.0, estraverse@^5.2.0:
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==

estree-walker@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==

esutils@^2.0.2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
Expand Down Expand Up @@ -3997,6 +4015,15 @@ fill-range@^7.0.1:
dependencies:
to-regex-range "^5.0.1"

find-cache-dir@^3.3.1:
version "3.3.1"
resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880"
integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==
dependencies:
commondir "^1.0.1"
make-dir "^3.0.2"
pkg-dir "^4.1.0"

find-node-modules@^2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/find-node-modules/-/find-node-modules-2.1.2.tgz#57565a3455baf671b835bc6b2134a9b938b9c53c"
Expand Down Expand Up @@ -4137,7 +4164,7 @@ fs.realpath@^1.0.0:
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=

fsevents@^2.3.2, fsevents@~2.3.1:
fsevents@^2.3.2, fsevents@~2.3.1, fsevents@~2.3.2:
version "2.3.2"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
Expand Down Expand Up @@ -6013,7 +6040,7 @@ lru-cache@^6.0.0:
dependencies:
yallist "^4.0.0"

make-dir@^3.0.0:
make-dir@^3.0.0, make-dir@^3.0.2:
version "3.1.0"
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
Expand Down Expand Up @@ -6693,7 +6720,7 @@ path-type@^4.0.0:
resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==

picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3:
picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3:
version "2.3.0"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==
Expand Down Expand Up @@ -6732,7 +6759,7 @@ pirates@^4.0.1:
dependencies:
node-modules-regexp "^1.0.0"

pkg-dir@^4.2.0:
pkg-dir@^4.1.0, pkg-dir@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
Expand Down Expand Up @@ -7154,7 +7181,7 @@ resolve-global@1.0.0, resolve-global@^1.0.0:
dependencies:
global-dirs "^0.1.1"

resolve@^1.1.6, resolve@^1.10.0, resolve@^1.20.0:
resolve@1.20.0, resolve@^1.1.6, resolve@^1.10.0, resolve@^1.20.0:
version "1.20.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
Expand Down Expand Up @@ -7202,6 +7229,24 @@ rimraf@^3.0.0, rimraf@^3.0.2:
dependencies:
glob "^7.1.3"

rollup-plugin-typescript2@^0.30.0:
version "0.30.0"
resolved "https://registry.yarnpkg.com/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.30.0.tgz#1cc99ac2309bf4b9d0a3ebdbc2002aecd56083d3"
integrity sha512-NUFszIQyhgDdhRS9ya/VEmsnpTe+GERDMmFo0Y+kf8ds51Xy57nPNGglJY+W6x1vcouA7Au7nsTgsLFj2I0PxQ==
dependencies:
"@rollup/pluginutils" "^4.1.0"
find-cache-dir "^3.3.1"
fs-extra "8.1.0"
resolve "1.20.0"
tslib "2.1.0"

rollup@^2.52.1:
version "2.52.1"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.52.1.tgz#dd1cc178d70cf35c48d943fc06fdc32d546e6876"
integrity sha512-/SPqz8UGnp4P1hq6wc9gdTqA2bXQXGx13TtoL03GBm6qGRI6Hm3p4Io7GeiHNLl0BsQAne1JNYY+q/apcY933w==
optionalDependencies:
fsevents "~2.3.2"

run-async@^2.2.0, run-async@^2.4.0:
version "2.4.1"
resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455"
Expand Down Expand Up @@ -7933,6 +7978,11 @@ ts-node@^9:
source-map-support "^0.5.17"
yn "3.1.1"

tslib@2.1.0, tslib@~2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a"
integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==

tslib@2.x, tslib@^2, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.2.0, tslib@~2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.2.0.tgz#fb2c475977e35e241311ede2693cee1ec6698f5c"
Expand All @@ -7953,11 +8003,6 @@ tslib@~2.0.1:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c"
integrity sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==

tslib@~2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a"
integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==

tsscmp@1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb"
Expand Down

0 comments on commit f864c32

Please sign in to comment.