Merge pull request #5159 from consuldemocracy/npm_packages
Allow adding Node packages as dependencies
This commit is contained in:
@@ -24,6 +24,7 @@ public/tenants/*/sitemap.xml
|
||||
public/assets/
|
||||
public/machine_learning/data/
|
||||
public/tenants/*/machine_learning/data/
|
||||
node_modules/
|
||||
|
||||
# Bundler config, cache and gemsets
|
||||
**/.bundle/
|
||||
|
||||
5
.github/dependabot.yml
vendored
5
.github/dependabot.yml
vendored
@@ -5,3 +5,8 @@ updates:
|
||||
schedule:
|
||||
interval: monthly
|
||||
open-pull-requests-limit: 50
|
||||
- package-ecosystem: npm
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: monthly
|
||||
open-pull-requests-limit: 50
|
||||
|
||||
3
.github/workflows/tests.yml
vendored
3
.github/workflows/tests.yml
vendored
@@ -42,7 +42,10 @@ jobs:
|
||||
- name: Setup NPM
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
cache: "npm"
|
||||
node-version-file: ".node-version"
|
||||
- name: Install node packages
|
||||
run: npm clean-install
|
||||
- name: Copy secrets and database files
|
||||
run: for i in config/*.example; do cp "$i" "${i/.example}"; done
|
||||
- name: Setup database
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -26,6 +26,7 @@ tmp/
|
||||
/public/assets/
|
||||
/public/machine_learning/data/
|
||||
/public/tenants/*/machine_learning/data/
|
||||
/node_modules/
|
||||
|
||||
# Bundler config, cache and gemsets
|
||||
.bundle/
|
||||
|
||||
@@ -23,6 +23,7 @@ tests:
|
||||
- bundle --without development
|
||||
- bundle exec rake db:setup
|
||||
- bundle exec rake assets:precompile > /dev/null 2>&1
|
||||
- npm clean-install
|
||||
- bin/knapsack_pro_rspec
|
||||
artifacts:
|
||||
when: on_failure
|
||||
|
||||
1
Capfile
1
Capfile
@@ -5,6 +5,7 @@ require "capistrano/setup"
|
||||
require "capistrano/deploy"
|
||||
|
||||
require "capistrano/bundler"
|
||||
require "capistrano/npm"
|
||||
require "capistrano/rails/assets"
|
||||
require "capistrano/rails/migrations"
|
||||
#require "capistrano/passenger"
|
||||
|
||||
@@ -51,6 +51,9 @@ RUN curl -sL https://github.com/nodenv/node-build/archive/master.tar.gz | tar xz
|
||||
COPY Gemfile* ./
|
||||
RUN bundle install
|
||||
|
||||
COPY package* ./
|
||||
RUN npm install
|
||||
|
||||
# Copy the Rails application into place
|
||||
COPY . .
|
||||
|
||||
|
||||
3
Gemfile
3
Gemfile
@@ -33,8 +33,6 @@ gem "image_processing", "~> 1.12.2"
|
||||
gem "initialjs-rails", "~> 0.2.0.9"
|
||||
gem "invisible_captcha", "~> 2.1.0"
|
||||
gem "jquery-fileupload-rails"
|
||||
gem "jquery-rails", "~> 4.6.0"
|
||||
gem "jquery-ui-rails", "~> 6.0.1"
|
||||
gem "kaminari", "~> 1.2.2"
|
||||
gem "leaflet-rails", "~> 1.9.3"
|
||||
gem "mini_magick", "~> 4.12.0"
|
||||
@@ -96,6 +94,7 @@ end
|
||||
group :development do
|
||||
gem "capistrano", "~> 3.17.3", require: false
|
||||
gem "capistrano-bundler", "~> 2.1.0", require: false
|
||||
gem "capistrano-npm", "~> 1.0.3", require: false
|
||||
gem "capistrano-rails", "~> 1.6.3", require: false
|
||||
gem "capistrano3-delayed-job", "~> 1.7.6"
|
||||
gem "capistrano3-puma", "~> 5.2.0"
|
||||
|
||||
11
Gemfile.lock
11
Gemfile.lock
@@ -120,6 +120,8 @@ GEM
|
||||
sshkit (>= 1.9.0)
|
||||
capistrano-bundler (2.1.0)
|
||||
capistrano (~> 3.1)
|
||||
capistrano-npm (1.0.3)
|
||||
capistrano (>= 3.0.0)
|
||||
capistrano-rails (1.6.3)
|
||||
capistrano (~> 3.1)
|
||||
capistrano-bundler (>= 1.1, < 3)
|
||||
@@ -285,12 +287,6 @@ GEM
|
||||
actionpack (>= 3.1)
|
||||
railties (>= 3.1)
|
||||
sassc
|
||||
jquery-rails (4.6.0)
|
||||
rails-dom-testing (>= 1, < 3)
|
||||
railties (>= 4.2.0)
|
||||
thor (>= 0.14, < 2.0)
|
||||
jquery-ui-rails (6.0.1)
|
||||
railties (>= 3.2.16)
|
||||
json (2.6.3)
|
||||
jwt (2.7.1)
|
||||
kaminari (1.2.2)
|
||||
@@ -692,6 +688,7 @@ DEPENDENCIES
|
||||
cancancan (~> 3.5.0)
|
||||
capistrano (~> 3.17.3)
|
||||
capistrano-bundler (~> 2.1.0)
|
||||
capistrano-npm (~> 1.0.3)
|
||||
capistrano-rails (~> 1.6.3)
|
||||
capistrano3-delayed-job (~> 1.7.6)
|
||||
capistrano3-puma (~> 5.2.0)
|
||||
@@ -724,8 +721,6 @@ DEPENDENCIES
|
||||
initialjs-rails (~> 0.2.0.9)
|
||||
invisible_captcha (~> 2.1.0)
|
||||
jquery-fileupload-rails
|
||||
jquery-rails (~> 4.6.0)
|
||||
jquery-ui-rails (~> 6.0.1)
|
||||
kaminari (~> 1.2.2)
|
||||
knapsack_pro (~> 5.7.0)
|
||||
launchy (~> 2.5.2)
|
||||
|
||||
@@ -43,13 +43,8 @@ Prerequisites: install git, Ruby 3.1.4, CMake, pkg-config, shared-mime-info, Nod
|
||||
```bash
|
||||
git clone https://github.com/consuldemocracy/consuldemocracy.git
|
||||
cd consuldemocracy
|
||||
bundle install
|
||||
cp config/database.yml.example config/database.yml
|
||||
cp config/secrets.yml.example config/secrets.yml
|
||||
bin/rake db:create
|
||||
bin/rake db:migrate
|
||||
bin/setup
|
||||
bin/rake db:dev_seed
|
||||
RAILS_ENV=test rake db:setup
|
||||
```
|
||||
|
||||
Run the app locally:
|
||||
|
||||
@@ -41,13 +41,8 @@ Prerequisitos: tener instalado git, Ruby 3.1.4, CMake, pkg-config, shared-mime-i
|
||||
```bash
|
||||
git clone https://github.com/consuldemocracy/consuldemocracy.git
|
||||
cd consuldemocracy
|
||||
bundle install
|
||||
cp config/database.yml.example config/database.yml
|
||||
cp config/secrets.yml.example config/secrets.yml
|
||||
bin/rake db:create
|
||||
bin/rake db:migrate
|
||||
bin/setup
|
||||
bin/rake db:dev_seed
|
||||
RAILS_ENV=test rake db:setup
|
||||
```
|
||||
|
||||
Para ejecutar la aplicación en local:
|
||||
|
||||
@@ -10,35 +10,46 @@
|
||||
// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
|
||||
// about supported directives.
|
||||
//
|
||||
//= require jquery3
|
||||
//= require jquery_ujs
|
||||
//= require jquery-ui/widgets/datepicker
|
||||
//= require jquery-ui/i18n/datepicker-ar
|
||||
//= require jquery-ui/i18n/datepicker-bs
|
||||
//= require jquery-ui/i18n/datepicker-cs
|
||||
//= require jquery-ui/i18n/datepicker-da
|
||||
//= require jquery-ui/i18n/datepicker-de
|
||||
//= require jquery-ui/i18n/datepicker-el
|
||||
//= require jquery-ui/i18n/datepicker-es
|
||||
//= require jquery-ui/i18n/datepicker-fa
|
||||
//= require jquery-ui/i18n/datepicker-fr
|
||||
//= require jquery-ui/i18n/datepicker-gl
|
||||
//= require jquery-ui/i18n/datepicker-he
|
||||
//= require jquery-ui/i18n/datepicker-hr
|
||||
//= require jquery-ui/i18n/datepicker-id
|
||||
//= require jquery-ui/i18n/datepicker-it
|
||||
//= require jquery-ui/i18n/datepicker-nl
|
||||
//= require jquery-ui/i18n/datepicker-pl
|
||||
//= require jquery-ui/i18n/datepicker-pt-BR
|
||||
//= require jquery-ui/i18n/datepicker-ru
|
||||
//= require jquery-ui/i18n/datepicker-sl
|
||||
//= require jquery-ui/i18n/datepicker-sq
|
||||
//= require jquery-ui/i18n/datepicker-sv
|
||||
//= require jquery-ui/i18n/datepicker-zh-CN
|
||||
//= require jquery-ui/i18n/datepicker-zh-TW
|
||||
//= require jquery-ui/i18n/datepicker-en-GB
|
||||
//= require jquery-ui/widgets/autocomplete
|
||||
//= require jquery-ui/widgets/sortable
|
||||
//= require jquery
|
||||
//= require jquery-ujs
|
||||
//= require jquery-ui/ui/version
|
||||
//= require jquery-ui/ui/data
|
||||
//= require jquery-ui/ui/ie
|
||||
//= require jquery-ui/ui/keycode
|
||||
//= require jquery-ui/ui/position
|
||||
//= require jquery-ui/ui/safe-active-element
|
||||
//= require jquery-ui/ui/scroll-parent
|
||||
//= require jquery-ui/ui/unique-id
|
||||
//= require jquery-ui/ui/widget
|
||||
//= require jquery-ui/ui/widgets/menu
|
||||
//= require jquery-ui/ui/widgets/mouse
|
||||
//= require jquery-ui/ui/widgets/datepicker
|
||||
//= require jquery-ui/ui/i18n/datepicker-ar
|
||||
//= require jquery-ui/ui/i18n/datepicker-bs
|
||||
//= require jquery-ui/ui/i18n/datepicker-cs
|
||||
//= require jquery-ui/ui/i18n/datepicker-da
|
||||
//= require jquery-ui/ui/i18n/datepicker-de
|
||||
//= require jquery-ui/ui/i18n/datepicker-el
|
||||
//= require jquery-ui/ui/i18n/datepicker-es
|
||||
//= require jquery-ui/ui/i18n/datepicker-fa
|
||||
//= require jquery-ui/ui/i18n/datepicker-fr
|
||||
//= require jquery-ui/ui/i18n/datepicker-gl
|
||||
//= require jquery-ui/ui/i18n/datepicker-he
|
||||
//= require jquery-ui/ui/i18n/datepicker-hr
|
||||
//= require jquery-ui/ui/i18n/datepicker-id
|
||||
//= require jquery-ui/ui/i18n/datepicker-it
|
||||
//= require jquery-ui/ui/i18n/datepicker-nl
|
||||
//= require jquery-ui/ui/i18n/datepicker-pl
|
||||
//= require jquery-ui/ui/i18n/datepicker-pt-BR
|
||||
//= require jquery-ui/ui/i18n/datepicker-ru
|
||||
//= require jquery-ui/ui/i18n/datepicker-sl
|
||||
//= require jquery-ui/ui/i18n/datepicker-sq
|
||||
//= require jquery-ui/ui/i18n/datepicker-sv
|
||||
//= require jquery-ui/ui/i18n/datepicker-zh-CN
|
||||
//= require jquery-ui/ui/i18n/datepicker-zh-TW
|
||||
//= require jquery-ui/ui/i18n/datepicker-en-GB
|
||||
//= require jquery-ui/ui/widgets/autocomplete
|
||||
//= require jquery-ui/ui/widgets/sortable
|
||||
//= require jquery-fileupload/basic
|
||||
//= require foundation
|
||||
//= require turbolinks
|
||||
|
||||
@@ -7,9 +7,10 @@
|
||||
@import "font-awesome/path";
|
||||
@import "font-awesome/mixins";
|
||||
@import "font-awesome/core";
|
||||
@import "jquery-ui/autocomplete";
|
||||
@import "jquery-ui/datepicker";
|
||||
@import "jquery-ui/sortable";
|
||||
@import "jquery-ui/themes/base/theme";
|
||||
@import "jquery-ui/themes/base/autocomplete";
|
||||
@import "jquery-ui/themes/base/datepicker";
|
||||
@import "jquery-ui/themes/base/sortable";
|
||||
@import "leaflet";
|
||||
|
||||
@import "foundation_and_overrides";
|
||||
|
||||
16
bin/setup
16
bin/setup
@@ -17,13 +17,21 @@ FileUtils.chdir APP_ROOT do
|
||||
system! "gem install bundler --conservative"
|
||||
system("bundle check") || system!("bundle install")
|
||||
|
||||
# puts "\n== Copying sample files =="
|
||||
# unless File.exist?('config/database.yml')
|
||||
# FileUtils.cp 'config/database.yml.sample', 'config/database.yml'
|
||||
# end
|
||||
# Install JavaScript dependencies
|
||||
system!("npm install")
|
||||
|
||||
puts "\n== Copying sample files =="
|
||||
unless File.exist?("config/database.yml")
|
||||
FileUtils.cp "config/database.yml.example", "config/database.yml"
|
||||
end
|
||||
|
||||
unless File.exist?("config/secrets.yml")
|
||||
FileUtils.cp "config/secrets.yml.example", "config/secrets.yml"
|
||||
end
|
||||
|
||||
puts "\n== Preparing database =="
|
||||
system! "bin/rails db:prepare"
|
||||
system! "RAILS_ENV=test bin/rails db:prepare"
|
||||
|
||||
puts "\n== Removing old logs and tempfiles =="
|
||||
system! "bin/rails log:clear tmp:clear"
|
||||
|
||||
@@ -117,6 +117,8 @@ module Consul
|
||||
|
||||
config.assets.paths << Rails.root.join("app", "assets", "fonts")
|
||||
config.assets.paths << Rails.root.join("vendor", "assets", "fonts")
|
||||
config.assets.paths << Rails.root.join("node_modules", "jquery-ui", "themes", "base")
|
||||
config.assets.paths << Rails.root.join("node_modules")
|
||||
|
||||
# Add lib to the autoload path
|
||||
config.autoload_paths << Rails.root.join("lib")
|
||||
|
||||
33
package-lock.json
generated
Normal file
33
package-lock.json
generated
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"name": "consuldemocracy",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "consuldemocracy",
|
||||
"dependencies": {
|
||||
"jquery": "^3.6.0",
|
||||
"jquery-ui": "^1.12.1",
|
||||
"jquery-ujs": "^1.2.2"
|
||||
}
|
||||
},
|
||||
"node_modules/jquery": {
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz",
|
||||
"integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw=="
|
||||
},
|
||||
"node_modules/jquery-ui": {
|
||||
"version": "1.12.1",
|
||||
"resolved": "https://registry.npmjs.org/jquery-ui/-/jquery-ui-1.12.1.tgz",
|
||||
"integrity": "sha512-K/kDBMXkTky5LH+gqbMvttU1ipqCTaecKyAFjwHjUnPTVfm5I5PZC7We31iNR3yWtAHNqoxkLoit06lR/gKVlA=="
|
||||
},
|
||||
"node_modules/jquery-ujs": {
|
||||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmjs.org/jquery-ujs/-/jquery-ujs-1.2.2.tgz",
|
||||
"integrity": "sha512-8AlF0ww/8mDdrT/Z2Nmv16r9LI2Xw/H3LiHNpPJYp4gnk/zIAfJTnhLcBRm6FZqQ/bWfW/rPl6j16lhO35DvOg==",
|
||||
"dependencies": {
|
||||
"jquery": ">=1.8.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
8
package.json
Normal file
8
package.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"name": "consuldemocracy",
|
||||
"dependencies": {
|
||||
"jquery": "^3.6.0",
|
||||
"jquery-ui": "^1.12.1",
|
||||
"jquery-ujs": "^1.2.2"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user