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