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 sandstorm-app-market to Meteor v 2.3.5 #143

Open
wants to merge 12 commits into
base: master
Choose a base branch
from

Conversation

gischer
Copy link

@gischer gischer commented Aug 30, 2022

While doing this I also:

  • removed digilord:faker. This was known to cause build issues. I didn't replace it since there's no active code in the repository that uses it as far as I can see.
  • Changed all modules to use ES5. I strongly prefer this anyway, but I don't know how else to get npm-style imports working correctly.
  • Moved simpl-schema, underscore, and meteor-node-stubs to using their npm versions, as the Meteor-specific packages are well out of date. The Meteor community as a whole has moved in this direction.
  • Added a line to make-bundle.sh that will add the above packages via the meteor npm subcommand. I also add the @babel/runtime this way. It seems required these days.

This isn't a small change, and I'm not entirely certain you'll want them. I have a burning need for at least this much, though, so I will probably keep using this fork, and you are welcome to them if you want them.

I endorse the idea of converting this app to be a Sandstorm app, by the way, but that seemed way too much for a PR, and not something I would have the time for right now, either.

… and all the files to modules with import

and expoert statements, since I don't know how else to do it.
…uild, so the replalcement, faker-js/faker has

not been added.
…e. This module

tries to adapt those changes for the purpopses of the App Market.
… to it. Also, adding default objects

appears to work differently now in SimpleSchema, so a modification for the sake of adding a ratings object
to each app was made.
…pMarket object is

defined in /imports/lib/appMarket.js and extended in /client/lib/appMarket.js  When we switched
to using modules this became a bit awkward and required two imports.
Copy link
Collaborator

@ocdtrekkie ocdtrekkie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am seeing Meteor 2.7.3 here, not 2.3.5. This may mean Kenton will need to migrate the Mongo database somehow when deploying this update, but it wouldn't present the same level of a problem as updating Sandstorm itself, considering we aren't auto-updating this code out to other people's servers.

@gischer
Copy link
Author

gischer commented Aug 30, 2022

Crap. I just checked and you are correct. Ergh, I don't know how that happened, I thought I was super careful to specify 2.3.5 Garrr.

@gischer
Copy link
Author

gischer commented Aug 30, 2022

I'm checking now if I can just change the meteor version with meteor update --release 2.5.3 If so, I will just do that and check it in.

@gischer
Copy link
Author

gischer commented Aug 30, 2022

Ok, I just pushed a change that makes this use Meteor 2.5.3 Which I had intended to do all along. I'm not really sure what happened, but things did get kind of hairy there with what might well have been the sabotage of the faker package.

I have built with these changes and it runs.

@ocdtrekkie
Copy link
Collaborator

I feel like an awful person, but s/2.5.3/2.3.5 if you're trying to meet Sandstorm's version.

That being said, it may be worth just asking @kentonv what he'd like to release. As it stands our app market is nearly a static site now and I'm unsure how much the Meteor version actually affects the final product on apps.sandstorm.io.

But I'm really glad to see work on this because I want to try doing some app market stuff and I often get lost in bitrot.

@gischer
Copy link
Author

gischer commented Sep 2, 2022

Well, I'm not normally dyslexic, but I guess it can land on anyone. I'll be happy to change it, but I'm also willing to wait for @kentonv to say he needs it.

@kentonv
Copy link
Member

kentonv commented Nov 12, 2022

So...

Believe it or not, apps.sandstorm.io today is being served as a totally static web site. There is no Meteor server nor any MongoDB running behind it. I was able to pull that off because the only features that needed the server and database were the ratings and reviews... I just removed those. The actual app database is read directly from app-index.sandstorm.io, which is technically also static content (updated whenever a new app is published).

I specifically did this so I could get away with never touching it again. :) No server means no possibility of security issues.

I appreciate the intent to help here, and I'm fine with merging this to help anyone else who wants to run their own app store instances, but I'm inclined not to touch the official store deployment, just on the "if it ain't broke don't fix it" principle. :)

@ocdtrekkie Please feel free to take ownership of this repo and merge changes as you see fit.

@kentonv
Copy link
Member

kentonv commented Nov 12, 2022

This is where I removed the need for a server BTW: 784906c

@ocdtrekkie
Copy link
Collaborator

I guess that means we can safely go with the 2.7.3 flavor, @gischer, since there's no longer a production Mongo database to worry about here.

@gischer
Copy link
Author

gischer commented Nov 15, 2022 via email

@ocdtrekkie
Copy link
Collaborator

@gischer Depending on your needs/goals, I think it'd be ideal to transition the official app store to that model some day as well, if you'd like to work within the official repo here, we probably could accommodate that. Considering that the official market now operates as a static site, presumably it could be replaced by a Sandstorm app using the static web publishing feature.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants