Skip to content
This repository was archived by the owner on Oct 29, 2024. It is now read-only.

[WIP] Remove dependency on webpack rails #12

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
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
71 changes: 9 additions & 62 deletions lib/generators/vueport/install_generator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,68 +2,16 @@ module Vueport
class InstallGenerator < ::Rails::Generators::Base
source_root File.expand_path('../template', __FILE__)

desc 'Install extras for using Vue with WebpackRails'
desc 'Install a local node rendering service for Vueport'

def add_webpack_rails
gem 'webpack-rails'
gem 'foreman'
end

def add_to_gitignore
append_to_file '.gitignore' do
<<-EOF.strip_heredoc
# Added by vueport
/node_modules
/public/webpack
/npm-debug.log

/renderer/node_modules
/renderer/npm-debug.log
/renderer/bundle.server.js
EOF
end
end

def copy_package_json
copy_file 'package.json'
end

def copy_eslint
copy_file '.eslintrc.js'
copy_file '.eslintignore'
end

def copy_config_files
directory 'vueport', 'config/vueport'
end

def copy_renderer_files
directory 'renderer'
end

def update_procfile
copy_file 'Procfile.dev'
copy_file 'Procfile'
end

def create_setup_files
directory 'webpack'
copy_file '.babelrc'
empty_directory 'app/components'
end

def run_npm_install
if yarn? && yes?("Would you like me to run 'yarn' for you? [y/N]")
run 'yarn'
run 'cd renderer && yarn'
elsif !yarn? && yes?("Would you like me to run 'npm install' for you? [y/N]")
run 'npm i'
run 'cd renderer && npm i'
def add_gems
gem_group :development do
gem 'foreman'
end
end

def run_bundle_install
run 'bundle install' if yes?("Would you like me to run 'bundle install' for you? [y/N]")
def install_renderer
plugin 'vue-renderer', :git => 'git://github.com/samtgarson/vue-renderer.git'
end

# rubocop:disable Metrics/MethodLength
Expand All @@ -72,12 +20,11 @@ def whats_next
say 'All done!', :green

say ''
say "I've added a few things here and there to set you up using Vue in your Rails app."
say "Now you're already to create your first Vue component in app/components."
say "I've installed foreman and a vue-rendering service in a local git submodule"
say ''

say 'To run the webpack-dev-server and rails server:'
say 'foreman start -f Procfile.dev', :yellow
say 'You\'ll need to run yarn from ./vue-renderer to install its dependencies:'
say 'cd vueport-renderer && yarn', :yellow
say ''

say 'For more info, see the README.md for this gem at:'
Expand Down
3 changes: 0 additions & 3 deletions lib/generators/vueport/template/.babelrc

This file was deleted.

4 changes: 0 additions & 4 deletions lib/generators/vueport/template/.eslintignore

This file was deleted.

33 changes: 0 additions & 33 deletions lib/generators/vueport/template/.eslintrc.js

This file was deleted.

2 changes: 0 additions & 2 deletions lib/generators/vueport/template/Procfile

This file was deleted.

2 changes: 0 additions & 2 deletions lib/generators/vueport/template/Procfile.dev

This file was deleted.

43 changes: 0 additions & 43 deletions lib/generators/vueport/template/package.json

This file was deleted.

28 changes: 0 additions & 28 deletions lib/generators/vueport/template/renderer/.eslintrc.js

This file was deleted.

34 changes: 0 additions & 34 deletions lib/generators/vueport/template/renderer/index.js

This file was deleted.

17 changes: 0 additions & 17 deletions lib/generators/vueport/template/renderer/package.json

This file was deleted.

21 changes: 21 additions & 0 deletions lib/generators/vueport/template/server.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// Note: You must restart bin/webpack-dev-server for changes to take effect

/* eslint global-require: 0 */

const webpack = require('webpack')
const merge = require('webpack-merge')
const CompressionPlugin = require('compression-webpack-plugin')
const sharedConfig = require('./shared.js')

module.exports = merge(sharedConfig, {
output: { filename: 'bundle.server.js' },

plugins: [
new webpack.optimize.UglifyJsPlugin(),
new CompressionPlugin({
asset: '[path].gz[query]',
algorithm: 'gzip',
test: /\.(js|css|svg|eot|ttf|woff|woff2)$/
})
]
})
46 changes: 0 additions & 46 deletions lib/generators/vueport/template/vueport/build.js

This file was deleted.

25 changes: 0 additions & 25 deletions lib/generators/vueport/template/vueport/config.js

This file was deleted.

Loading