cult-of-coders / grapher

Grapher: Meteor Collection Joins + Reactive GraphQL like queries
https://atmospherejs.com/cultofcoders/grapher
MIT License
275 stars 53 forks source link

[WIP] Update/meteor v3.0 #484

Open bhunjadi opened 8 months ago

bhunjadi commented 8 months ago

I started working on Meteor 3.0 and managed to make some progress on the server-side. I started with links and also started adding types and use them in JS files which might help with this migration.

I managed to get the 4 tests in linker.tests.js working and will update progress here as I continue the work.

I'm replacing all calls to their *Async equivalents so I had to bump the minimal Meteor version to 2.8.1.

Tests todos:

3rd party deps:

Other:

Compatibility with Meteor v2

How to test

# v3
meteor create --release 3.0-beta.0 --bare test
cd test 
meteor npm i --save selenium-webdriver@3.6.0 chromedriver@2.36.0 simpl-schema@1.13.1 chai

# then we also need to add packages that are not published yet
mkdir packages
cd packages

# mongo-collection-instances
git clone -b migration/3.0 https://github.com/Meteor-Community-Packages/mongo-collection-instances.git

# meteortesting:mocha
git clone -b migrate/3.0 https://github.com/Meteor-Community-Packages/meteor-mocha.git meteor-mocha-repo
# copy package into packages
cp -R ./meteor-mocha-repo/package ./meteor-mocha

Package.json in test (see scripts for convenience methods)

{
  "name": "test",
  "private": true,
  "scripts": {
    "start": "meteor run",
    "test": "MONGO_URL= METEOR_PACKAGE_DIRS=\"../:packages\" TEST_BROWSER_DRIVER=chrome meteor test-packages --driver-package meteortesting:mocha --once  --port 3010 ../",
    "test:server": "TEST_CLIENT=0 MONGO_URL= METEOR_PACKAGE_DIRS=\"../:packages\" TEST_BROWSER_DRIVER=chrome meteor test-packages --driver-package meteortesting:mocha --once  --port 3010 ../",
    "test:server:watch": "TEST_CLIENT=0 MONGO_URL= METEOR_PACKAGE_DIRS=\"../:packages\" TEST_BROWSER_DRIVER=chrome meteor test-packages --driver-package meteortesting:mocha  --port 3010 ../"
  },
  "dependencies": {
    "@babel/runtime": "^7.23.5",
    "chai": "^5.1.0",
    "chromedriver": "^2.36.0",
    "meteor-node-stubs": "^1.2.7",
    "selenium-webdriver": "^3.6.0",
    "simpl-schema": "^1.13.1"
  }
}
StorytellerCZ commented 8 months ago

This is most likely going to be a major version update, so minimum version of Meteor 2.8.1 is fine.

StorytellerCZ commented 7 months ago

I'm going to release v1.5 in the coming days, most likely (pester me if I don't). After that the only releases I will do on the 1.x branch will be dependencies updates.

bhunjadi commented 2 months ago

@StorytellerCZ I think this is mostly ready to be released as v2 beta. Todo from my side is to resolve conflicts with master.

Also, we would need denormalize to be published, see the PR here

gothicn commented 2 months ago

Yay! Its wonderful to get back to Meteor and see this amazing package be (almost) ready right away!

StorytellerCZ commented 2 months ago

@bhunjadi thank you very much for your efforts. I will release a beta shortly.

StorytellerCZ commented 2 months ago

Published cultofcoders:grapher@2.0.0-beta.0

StorytellerCZ commented 2 months ago

@bhunjadi I'm unable to push to your branch. Can you please give me the permissions, to make things easier. Thanks!

bhunjadi commented 2 months ago

@StorytellerCZ I have checked this flag "Allow edits and ...". image

Is there anything else that I need to do to allow you to push?