quick question, I think. If I want to delete an app that I created with $> meteor create myapp; do I just remove the myapp directory?
thanks
Yes, just remove the directory. Meteor stores everything in a .meteor folder under your app's directory.
EDIT: that's not entirely true, Meteor also has a local cache of packages you've installed (so it doesn't have to fetch them later). This usually goes to your home folder and works in much the same way as npm. But it's not necessary to delete this in order to remove the meteor application, they are unrelated.
If you use Cloud 9 service (c9.io) you can create a meteor workspace with whatever npm/Atomoshphere packages that you normally work with, then clone it as a starting point for a new project. Your concerns and other peoples opinions are rendered moot.
Related
Probably a silly question, but I cannot find any good advice on the internet so far, so hopefully you guys have some good advice. I would like to use GIT for version control and use it to deploy changes to my websites to the server(s). It's easy when I use NodeJS, but a bit more complicated when using a CMS system, to my opinion.
When I use NodeJS
When I use NodeJS it's quite easy to have a node_modules folder which contains all the external libraries which I will install on deployment. The rest(my own files) will be saved on Github and deployed to my server if changed. Obviously I will not store the node_modules folder on my Github account or send it to my server (node modules will be installed on the server, on deployment). So it's pretty easy to keep those two (third-party an my own files) seperated.
When I use Wordpress, Magento or something similar
Now it gets complicated. Mostly because CMS systems like Wordpress have a folder structure like wp_content/themes/theme_name/, so your own theme files are more or less entangled with the core structure, instead of separated like NodeJS. And it doesn't seem right to commit all my core files to my Github account as well or send all those core files to my server on every deploy (I would prefer to install them using composer or something, serverside), because I'll never touch the core files, obviously.
So is there any advice? Is there a better whey to handle this? Maybe change a configuration file with the path to my theme folder or something?
The best way to do this is to move your wp-content folder outside of your standard installation. I tend to have a folder called "wp" with the basic WordPress installation in it and a folder called "wp-content" at the same level for my content files. You can then tell WordPress that your content folder is elsewhere with the following:
define('WP_CONTENT_DIR', dirname(__FILE__) . '/content');
That goes into wp-content.php which you can also take out of the main WordPress install (and thus add to git) and place at the same level as your folders.
To make things even better consider looking at composer https://getcomposer.org/ and using that to bring in WordPress core and plugins https://wpackagist.org/ is your friend here. This guide got me started on using composer with WordPress and its a good start https://roots.io/using-composer-with-wordpress/ you can pull in your theme from git as well via composer which is great for when you deploy etc... Capistrano for example can run composer on a server :)
I recently updated my Meteor App to 1.3 and also want to migrate to the "new style" of coding, meaning ES2015, React, later on Apollo/GraphQL.
First I only want to use the import syntax. But when I meteor add Ecmascript it will then hang on meteor:
Building for web.browser /
takes forever.
Any ideas why?
I had the same issue. In my case this is how I got it fixed. May be it is the same for you.
I had multiple third party libraries in client/lib folder.
To use ES6 syntax, I added 'ecmascript' to my .meteor/packages file and after that issuing the meteor command would just hang.
During trial and error, I figured out that
deleting the client/lib directory made meteor to start
.
For the libraries my application depends on, I went to https://atmospherejs.com, searched for the meteor specific package name for the dependency and added these to .meteor/packages file.
e.g: Instead of copying the datatables.js and datatables.css inside client/lib folder, add 'menway:jquery-datatables' to .meteor/packages or issue the command meteor add menway:jquery-datatables
What's the proper way to handle having multiple developers on a Meteor application? On each computer that I want to develop the app on I have to follow these steps to get it running after cloning from the repo:
Rename my-app/ to app/
Run meteor create my-app
Move all files from app/ into my-app/
Delete the auto generated my-app.*files
Re-add all packages (jquery, iron:router, etc...)
Note that I'm not including the .meteor/local directory in the repository.
I feel like I'm missing something obvious but it's not making itself apparent.
Push to the repo all files at the same level as the .meteor directory. Nothing to rename or meteor create. Yes, packages do need to be added, but the list of packages is specified in a file inside .meteor.
Just include the full .meteor/ directory in your repository. That way whenever the repo is cloned they will get the right version of meteor, a list of all the installed packages (which are downloaded at runtime) and any settings they need to run the app.
As far as I'm aware there is nothing in the .meteor/ directory that can't be shared across to different developers.
Is there some specific folder in Meteor file structure which is simply ignored by Meteor? (meteor bundle and meteor deploy etc)
Or better yet: is there a kind of .meteorignore file where we can list files for Meteor to ignore?
There's no such file as .meteorignore yet.
Currently the only reliable way to hide a file from Meteor is to make it hidden (add a dot to the beginning of name). You can hide the whole directory, which is useful if you need specific filenames for things like Grunt tasks.
For example if you create a directory called .hammerTime, then Meteor can't touch this.
Update:
As of Meteor v1.5.2.1, there is support for a .meteorignore file. It works exactly the same as a .gitignore.
As of Meteor v1.5.2.1, there is support for a .meteorignore file. It works exactly the same as a .gitignore.
You can use them in any directory of your project and are fully integrated with the file watching system.
I tried replicating the todos application without using the example meteor terminal commentlets
Steps, i followed, (I'm using Ubuntu 12.04 build)
In terminal - meteor create todos
-- created the todos
a default *.html, *.css, *.js create underneath to the todos folder,
i deleted and replaced the actual todo artifacts into to it (e.g. client, server, public folders to the root) -> tried running the app - UI appears but the functionality breaks
I just wanna know what is ideal way create a app something similar structure as todos app.
This might help other folks to create a larger applications... currently i stuck in single *.js.
There's also a .meteor directory per project. Did you copy that too?
I've used a vagrant (https://github.com/pixelhandler/vagrant-dev-env) to install all of the dependencies and have an app running fine.
I just used 'meteor create myapp' like the docs say.
My bad i found it, just use this commentlet on terminal
meteor list --using
the above commentlet will list you out all the packages used for the current meteor project
Just add those project to the newly create meteor project and write your own structure, i found another way struture the project which i post as soon as possible...
meteor list --using
underscore
backbone
spiderable
accounts-ui
accounts-weibo
accounts-google
accounts-facebook
accounts-password
accounts-twitter
jquery
preserve-inputs
intersting fact is todo example comes two version one with secure and non secure packages - out-of-box build release with 0.4.2, and 0.5.0 respectively...