Looks like it's not re-copying my files when I click save anywhere on my development files (so I want to re-copy onto the Production folder immediately). Here is the part from my Gruntfile.js.
Location of this file: /development/Gruntfile.js
Where I want to copy some files: /production
[...]
copy: {
watch: {
options: {
livereload: true
},
files: [
{expand: true, src: ['css/*'], dest: '../production/', filter: 'isFile'},
{expand: true, src: ['js/*'], dest: '../production/', filter: 'isFile'},
{expand: true, src: ['js/vendor/*'], dest: '../production/', filter: 'isFile'},
{expand: true, src: ['images/**'], dest: '../production/'},
{expand: true, src: ['public/**'], dest: '../production/'},
{expand: true, src: ['.htaccess', '404.html', 'apple-touch-icon-precomposed.png', 'crossdomain.xml', 'favicon.ico', 'humans.txt', 'index.html', 'index.php', 'LICENSE.md', 'README.md', 'robots.txt'], dest: '../production/'}
]
}
},
php: {
watch: {
options: {
livereload: true,
bin: 'C:/php/php.exe',
ini: 'C:/php/php.ini',
base: '../production',
port: 8000
}
}
},
watch: {
options: {
livereload: true
},
site: {
files: ['*.html', '*.php', 'public/*.html', 'public/*.php'],
tasks: ['php'],
options: {
spawn: false
}
}
}
[...]
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-php');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask('default', ['uglify', 'replace', 'stylus', 'cssmin', 'copy:watch', 'php:watch', 'watch']);
I always need to restart the script, to re-send the files into "production" folder.
Thank You for your help!
UPDATE
I made an alter solution: everything happening in development folder, and if I want I can push to the production folder with command line. This way I see the final product in local PHP webserver in the development folder, not production.
grunt.registerTask('default', ['uglify', 'replace', 'stylus', 'cssmin', 'php:watch', 'watch']);
grunt.registerTask('copytoproduction', ['copy']);