Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update build tools in Monorepo #1192

Draft
wants to merge 8 commits into
base: 5.0
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions lerna.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
{
"packages": [
"packages/*"
],
"version": "5.0.0-dev"
}
35 changes: 22 additions & 13 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,15 @@
"name": "root",
"private": true,
"type": "module",
"workspaces": {
"packages": ["packages/*"],
"nohoist": [
"**/@types/jest",
"**/@types/jest/**",
"**/@types",
"**/@types/**"
]
},
"devDependencies": {
"husky": "^8.0.3",
"lerna": "^4.0.0",
Expand All @@ -12,23 +21,23 @@
},
"lint-staged": {
"*.{js,md,html}": [
"npm run standard",
"yarn run standard",
"git add"
],
"packages/core/**/*.ts": [
"npm run ts-standard::core",
"yarn run ts-standard::core",
"git add"
],
"packages/bolt-connection/**/*.ts": [
"npm run ts-standard::bolt-connection",
"yarn run ts-standard::bolt-connection",
"git add"
],
"packages/neo4j-driver-lite/**/*.ts": [
"npm run ts-standard::neo4j-driver-lite",
"yarn run ts-standard::neo4j-driver-lite",
"git add"
],
"packages/neo4j-driver/**/*.ts": [
"npm run ts-standard::neo4j-driver",
"yarn run ts-standard::neo4j-driver",
"git add"
],
"packages/testkit-backend/deno/**/*.{ts,js}": [
Expand Down Expand Up @@ -58,14 +67,14 @@
"lerna": "lerna",
"prepare": "husky install",
"lint-staged": "lint-staged",
"lint": "npm run lint::core && npm run lint::bolt-connection && npm run lint::bolt-connection && npm run lint::neo4j-driver-lite && npm run lint::neo4j-driver && npm run lint::testkit-backend && npm run lint::benchkit-backend",
"lint::core": "npm run ts-standard::core -- packages/core/src/ && npm run ts-standard::core -- packages/core/test/",
"lint::bolt-connection": "npm run ts-standard::bolt-connection -- packages/bolt-connection/types/ && npm run standard -- packages/bolt-connection/src/ && npm run standard -- packages/bolt-connection/test/",
"lint::neo4j-driver-lite": "npm run ts-standard::neo4j-driver-lite -- packages/neo4j-driver-lite/src/ && npm run ts-standard::neo4j-driver-lite -- packages/neo4j-driver-lite/test/",
"lint::neo4j-driver": "npm run ts-standard::neo4j-driver -- packages/neo4j-driver/types/ && npm run ts-standard::neo4j-driver -- packages/neo4j-driver/test/types/ && npm run standard -- packages/neo4j-driver/src/ && npm run standard -- packages/neo4j-driver/test/**/*.js",
"lint::testkit-backend": "npm run standard -- packages/testkit-backend/src/**/*.js",
"lint::benchkit-backend": "npm run standard -- packages/benchkit-backend/src/**/*.js",
"ts-standard": "npm run ts-standard::core && npm run ts-standard::bolt-connection && npm run ts-standard::neo4j-driver-lite && npm run ts-standard::neo4j-driver",
"lint": "yarn run lint::core && yarn run lint::bolt-connection && yarn run lint::bolt-connection && yarn run lint::neo4j-driver-lite && yarn run lint::neo4j-driver && yarn run lint::testkit-backend && yarn run lint::benchkit-backend",
"lint::core": "yarn run ts-standard::core -- packages/core/src/ && yarn run ts-standard::core -- packages/core/test/",
"lint::bolt-connection": "yarn run ts-standard::bolt-connection -- packages/bolt-connection/types/ && yarn run standard -- packages/bolt-connection/src/ && yarn run standard -- packages/bolt-connection/test/",
"lint::neo4j-driver-lite": "yarn run ts-standard::neo4j-driver-lite -- packages/neo4j-driver-lite/src/ && yarn run ts-standard::neo4j-driver-lite -- packages/neo4j-driver-lite/test/",
"lint::neo4j-driver": "yarn run ts-standard::neo4j-driver -- packages/neo4j-driver/types/ && yarn run ts-standard::neo4j-driver -- packages/neo4j-driver/test/types/ && yarn run standard -- packages/neo4j-driver/src/ && yarn run standard -- packages/neo4j-driver/test/**/*.js",
"lint::testkit-backend": "yarn run standard -- packages/testkit-backend/src/**/*.js",
"lint::benchkit-backend": "yarn run standard -- packages/benchkit-backend/src/**/*.js",
"ts-standard": "yarn run ts-standard::core && yarn run ts-standard::bolt-connection && yarn run ts-standard::neo4j-driver-lite && yarn run ts-standard::neo4j-driver",
"ts-standard::core": "ts-standard --fix --project ./packages/core/tsconfig.json",
"ts-standard::bolt-connection": "ts-standard --fix --project ./packages/bolt-connection/tsconfig.json",
"ts-standard::neo4j-driver-lite": "ts-standard --fix --project ./packages/neo4j-driver-lite/tsconfig.json",
Expand Down
7 changes: 4 additions & 3 deletions packages/bolt-connection/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,12 @@
"main": "lib/index.js",
"types": "types/index.d.ts",
"scripts": {
"postinstall": "yarn run build",
"build": "tsc",
"test": "jest --passWithNoTests",
"test::watch": "jest --watch",
"test::unit": "npm run test",
"prepare": "npm run build",
"test::unit": "yarn run test",
"prepare": "yarn run build",
"clean": "rm -fr node_modules lib"
},
"repository": {
Expand All @@ -31,7 +32,7 @@
},
"homepage": "https://github.com/neo4j/neo4j-javascript-driver#readme",
"devDependencies": {
"@types/jest": "^29.5.3",
"@types/jest": "^29.5.10",
"fast-check": "^3.10.0",
"jest": "^29.6.2",
"lolex": "^6.0.0",
Expand Down
7 changes: 4 additions & 3 deletions packages/core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,16 @@
"main": "lib/index.js",
"types": "types/index.d.ts",
"scripts": {
"postinstall": "yarn run build",
"build": "tsc -p tsconfig.build.json",
"build::es6": "tsc -p tsconfig.build.json --target ES6 --outdir lib6",
"test": "jest",
"test::watch": "jest --watch",
"test::unit": "npm run test",
"test::unit": "yarn run test",
"test::deno": "deno test --allow-all ./test/deno/",
"predocs": "npm run build && npm run build::es6",
"predocs": "yarn run build && yarn run build::es6",
"docs": "esdoc -c esdoc.json",
"prepare": "npm run build",
"prepare": "yarn run build",
"clean": "rm -fr node_modules lib types"
},
"repository": {
Expand Down
2 changes: 1 addition & 1 deletion packages/neo4j-driver-deno/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"test": "test"
},
"scripts": {
"test": "npm run test::integration",
"test": "yarn run test::integration",
"test::integration": "deno test --allow-all ./test",
"set_version": "deno run --allow-read --allow-write ./versioning.ts --output=. --filename=current.version.ts",
"build": "deno run --allow-read --allow-write --allow-net ./generate.ts"
Expand Down
17 changes: 9 additions & 8 deletions packages/neo4j-driver-lite/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,24 @@
"main": "lib/index.js",
"types": "types/index.d.ts",
"scripts": {
"postinstall": "yarn run build",
"build": "tsc -p tsconfig.build.json",
"build::browser": "rollup --config rollup.config.js && npm run minify",
"build::browser": "rollup --config rollup.config.js && yarn run minify",
"uglify": "uglifyjs --mangle --compress",
"minify": "npm run minify::esm && npm run minify::umd",
"minify::esm": "npm run uglify -- -o lib/browser/neo4j-lite-web.esm.min.js -- lib/browser/neo4j-lite-web.esm.js",
"minify::umd": "npm run uglify -- -o lib/browser/neo4j-lite-web.min.js -- lib/browser/neo4j-lite-web.js",
"minify": "yarn run minify::esm && yarn run minify::umd",
"minify::esm": "yarn run uglify -- -o lib/browser/neo4j-lite-web.esm.min.js -- lib/browser/neo4j-lite-web.esm.js",
"minify::umd": "yarn run uglify -- -o lib/browser/neo4j-lite-web.min.js -- lib/browser/neo4j-lite-web.js",
"test": "jest",
"test::watch": "jest --watch",
"test::integration": "jest -c jest.integration.config.ts",
"test::browser": "jest -c jest.browser.config.ts",
"test::unit": "npm run test",
"test::unit": "yarn run test",
"version::set_version.ts": "sed 's/0.0.0-dev/'$VERSION'/g' src/version.ts > src/version.tmp && mv src/version.tmp src/version.ts",
"versionRelease": "npm version $VERSION --no-git-tag-version && npm run version::set_version.ts",
"versionRelease": "yarn version $VERSION --no-git-tag-version && yarn run version::set_version.ts",
"build::es6": "tsc -p tsconfig.build.json --target ES6 --outdir lib6",
"predocs": "npm run build && npm run build::es6",
"predocs": "yarn run build && yarn run build::es6",
"docs": "esdoc -c esdoc.json",
"prepare": "npm run build && npm run build::browser",
"prepare": "yarn run build && yarn run build::browser",
"clean": "rm -fr node_modules lib types"
},
"unpkg": "lib/browser/neo4j-lite-web.js",
Expand Down
5 changes: 3 additions & 2 deletions packages/neo4j-driver/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
"url": "git://github.com/neo4j/neo4j-javascript-driver.git"
},
"scripts": {
"postinstall": "yarn run build",
"lint": "eslint --fix --ext .js ./",
"test": "gulp test",
"test::unit": "gulp test-nodejs-unit && gulp run-ts-declaration-tests",
Expand All @@ -21,9 +22,9 @@
"run-stress-tests": "gulp run-stress-tests-without-jasmine",
"run-ts-declaration-tests": "gulp run-ts-declaration-tests",
"docs": "esdoc -c esdoc.json",
"versionRelease": "gulp set --x $VERSION && npm version $VERSION --no-git-tag-version",
"versionRelease": "gulp set --x $VERSION && yarn version $VERSION --no-git-tag-version",
"browser": "gulp browser && gulp test-browser",
"prepare": "npm run build",
"prepare": "yarn run build",
"clean": "rm -fr node_modules lib build"
},
"main": "lib/index.js",
Expand Down
3 changes: 2 additions & 1 deletion packages/testkit-backend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,12 @@
},
"type": "module",
"scripts": {
"postinstall": "yarn run build",
"build": "rollup src/index.js --config rollup.config.js",
"start": "node --version | grep -q v10. && node -r esm src/index.js || node --experimental-specifier-resolution=node src/index.js",
"start::deno": "deno run --allow-read --allow-write --allow-net --allow-env --allow-sys --allow-run deno/index.ts",
"clean": "rm -fr node_modules public/index.js",
"prepare": "npm run build",
"prepare": "yarn run build",
"node": "node"
},
"repository": {
Expand Down
5 changes: 4 additions & 1 deletion testkit/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -63,10 +63,13 @@ USER driver
WORKDIR /home/driver
CMD /bin/bash
RUN mkdir /home/driver/.npm_global
RUN npm config set prefix /home/driver/.npm_global

ENV PATH="${PATH}:/home/driver/.npm_global/bin"
RUN npm config set prefix /home/driver/.npm_global
RUN npm install -g yarn

## Versions
RUN node --version
RUN npm --version
RUN /home/driver/.npm_global/bin/yarn --version
RUN deno --version
4 changes: 2 additions & 2 deletions testkit/backend.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@
if session_type is not None:
os.environ["SESSION_TYPE"] = session_type

print("npm run start-testkit-backend")
print("yarn run start-testkit-backend")
with open_proccess_in_driver_repo([
"npm", "run", backend_script
"yarn", "run", backend_script
], env=os.environ) as backend:
if (is_browser()):
time.sleep(5)
Expand Down
8 changes: 3 additions & 5 deletions testkit/build.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,12 @@ def copy_files_to_workdir():

def init_monorepo():
run_in_driver_repo(["rm", "-fr", "node_modules"], env=os.environ)
run_in_driver_repo(["npm", "ci"], env=os.environ)
run_in_driver_repo(["yarn", "install", "--ignore-engines"], env=os.environ)


def clean_and_build():
run_in_driver_repo(["npm", "run", "clean"], env=os.environ)
run_in_driver_repo(["npm", "run", "build"], env=os.environ)
run_in_driver_repo(["npm", "run", "build::deno", "--", "--",
"--output=lib2/"], env=os.environ)
run_in_driver_repo(["yarn", "run", "build::deno", "--", "--",
"--output=lib2/"], env=os.environ)

if is_deno() and is_team_city():
run_in_driver_repo(["diff", "-r", "-u",
Expand Down
4 changes: 2 additions & 2 deletions testkit/integration.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@
if is_deno():
pass
elif is_browser():
run_in_driver_repo(["npm", "run", "test::browser",
run_in_driver_repo(["yarn", "run", "test::browser",
"--", ignore], env=os.environ)
else:
run_in_driver_repo(
["npm", "run", "test::integration", "--", ignore], env=os.environ)
["yarn", "run", "test::integration", "--", ignore], env=os.environ)
2 changes: 1 addition & 1 deletion testkit/stress.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,5 @@
ignore = "--ignore=neo4j-driver-lite"

if not is_deno():
run_in_driver_repo(["npm", "run", "test::stress", "--", ignore],
run_in_driver_repo(["yarn", "run", "test::stress", "--", ignore],
env=os.environ)
6 changes: 3 additions & 3 deletions testkit/unittests.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
else:
ignore = "--ignore=neo4j-driver-lite"

run_in_driver_repo(["npm", "run", "lint"])
run_in_driver_repo(["npm", "run", "test::unit", "--", ignore])
# run_in_driver_repo(["yarn", "run", "lint"])
run_in_driver_repo(["yarn", "run", "test::unit", "--", ignore])

if is_deno():
run_in_driver_repo(["npm" "run", "test::deno"])
run_in_driver_repo(["yarn" "run", "test::deno"])
Loading