Go to file
Ahmad Amireh bd648c6835 babel independence: canvas-rce
refs FOO-2697
flag = none

remove the reliance on @instructure/ui-babel-preset and instead define
babel config for the 3 targets we need:

1. ESM, used while working on the RCE or on canvas (webpack) -- get this
   by running "npm run build:es"
2. optimized ESM, used when we deploy, get it by running
   "NODE_ENV=production npm run build:es"
3. CJS, used in Canvas's jest build since we cannot use ESM there yet

changes:

- babel, mocha and jest configs were ported
- testcafe/demo webpack builds are not reconfigured for babel as they
  aren't working currently, team is aware
- mocha common options are now in a config file
- stopped staging files in a canvas/ directory as it isn't used by
  canvas today (lib/ and es/ are)

test plan:

look at the delta for the optimized ESM target provided in the initial
patchset and verify the changes look ok

Change-Id: Iafb89b70431b970774b1a4250588115799f5d230
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283996
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2022-03-16 14:34:10 +00:00
.github update github pr auto-assignees 2020-09-24 20:00:41 +00:00
.storybook webpack: remove support for virtual i18n! modules 2022-03-10 21:38:10 +00:00
.vscode Add configurations to enable remote IDE debugging with rdebug-ide 2021-09-16 18:33:11 +00:00
Gemfile.d Upgrade stormbreaker to 0.0.8 2022-03-11 22:58:37 +00:00
app exclude duplicate tools from find_external_tool 2022-03-15 22:58:26 +00:00
bin fix bin/rubocop to work when pwd != rails root 2021-10-19 22:40:09 +00:00
build Additional selenium 4 cleanup 2022-03-14 15:02:37 +00:00
config Refactor PacePlan to CoursePace 2022-03-15 19:10:16 +00:00
db/migrate Refactor PacePlan to CoursePace 2022-03-15 19:10:16 +00:00
doc Add notification field for users CSV 2022-03-11 08:26:21 +00:00
docker-compose Additional selenium 4 cleanup 2022-03-14 15:02:37 +00:00
engines RuboCop: Style/StringLiterals, Style/StringLiteralsInInterpolation 2021-11-25 14:03:06 +00:00
gems Start logging unexpected responses in kaltura 2022-03-11 02:42:06 +00:00
hooks Fix git pre-commit hook 2022-03-10 22:50:42 +00:00
jest babel independence: k5uploader & js-utils 2022-03-11 21:00:09 +00:00
lib Refactor PacePlan to CoursePace 2022-03-15 19:10:16 +00:00
log Update parallel_runtime_rspec.log from build 264 2021-10-25 16:59:25 +00:00
packages babel independence: canvas-rce 2022-03-16 14:34:10 +00:00
public Commit proper core_en translation file 2022-02-28 21:47:21 +00:00
script Upgrade to Selenium 4 2022-03-09 15:28:31 +00:00
spec (instui8) port Metric and Progress 2022-03-16 14:28:25 +00:00
tmp Alpine canvas-lms based image 2020-07-15 17:21:56 +00:00
ui (instui8) port Metric and Progress 2022-03-16 14:28:25 +00:00
ui-build webpack: remove support for virtual i18n! modules 2022-03-10 21:38:10 +00:00
.codeclimate.yml disable ESLint in code climate 2017-02-14 17:47:39 +00:00
.dive-ci Spec: Add dive build 2020-03-26 14:52:06 +00:00
.dockerignore modernize canvas_quizzes 2021-01-14 22:45:10 +00:00
.editorconfig Add EditorConfig configuration file to help maintain code style 2016-11-15 20:08:55 +00:00
.eslintignore rename frontend_build -> ui-build 2021-10-21 19:13:02 +00:00
.eslintrc.js babel independence: k5uploader & js-utils 2022-03-11 21:00:09 +00:00
.git-blame-ignore-revs rubocop: add .git-blame-ignore-revs 2021-11-29 20:56:29 +00:00
.gitignore update .gitignore 2022-03-05 01:37:33 +00:00
.gitmessage prepend some blank lines to .gitmessage 2019-08-09 16:12:53 +00:00
.groovylintrc.json fix linter rules 2021-05-19 15:43:33 +00:00
.i18nignore Don't try to extract translations from vendor 2022-03-03 17:48:51 +00:00
.i18nrc rename some things 2021-04-06 01:12:49 +00:00
.lintstagedrc.js Initial pace plans import 2021-09-01 19:58:33 +00:00
.npmrc
.nvmrc upgrade to node14 2021-01-27 15:33:52 +00:00
.prettierrc restore prettier rules to match pre-2.0 defaults 2021-02-09 17:03:14 +00:00
.rspec spec: automatically require spec_helper 2021-10-26 17:39:19 +00:00
.rubocop.yml rubocop: disable Style/HashLikeCase 2022-03-15 16:59:27 +00:00
.sentryignore Add support for uploading JS sources and maps to Sentry 2022-02-18 22:33:59 +00:00
.stylelintrc modernize canvas_quizzes 2021-01-14 22:45:10 +00:00
.travis.yml
CONTRIBUTING.md Remove more freenode references 2021-06-02 16:18:53 +00:00
COPYRIGHT
Dockerfile Allow using rails 6.1 in jenkins 2022-02-16 21:49:00 +00:00
Dockerfile.githook Add precommit hook for auto fixing files 2018-11-27 21:07:31 +00:00
Dockerfile.jenkins Allow using rails 6.1 in jenkins 2022-02-16 21:49:00 +00:00
Dockerfile.jenkins-cache babel independence: k5uploader & js-utils 2022-03-11 21:00:09 +00:00
Dockerfile.jenkins.final simplify Dockerfile template generation 2020-12-10 17:28:58 +00:00
Dockerfile.jenkins.karma-builder Properly support ruby 2.7 2021-06-11 21:06:37 +00:00
Dockerfile.jenkins.karma-runner remove translations/_core_en.js in production try 2 2022-02-18 00:08:38 +00:00
Dockerfile.jenkins.linters-final remove need to mount .git directory as volume for Linters 2021-05-10 18:57:42 +00:00
Dockerfile.jenkins.linters-runner stop using buildkit for linters image 2021-04-12 19:19:32 +00:00
Dockerfile.jenkins.ruby-runner purge pulsar from canvas 2022-01-03 20:37:22 +00:00
Dockerfile.jenkins.webpack-builder split yarn from webpack-builder into yarn-runner 2020-12-14 18:49:51 +00:00
Dockerfile.jenkins.webpack-cache use _core_en as en translations for pre-merge build 2022-02-18 02:06:59 +00:00
Dockerfile.jenkins.yarn-runner upgrade & dedupe node packages 2021-06-21 19:46:52 +00:00
Dockerfile.package-translations babel independence: k5uploader & js-utils 2022-03-11 21:00:09 +00:00
Gemfile RuboCop: Style/StringLiterals, Style/StringLiteralsInInterpolation 2021-11-25 14:03:06 +00:00
Jenkinsfile start saving master karma image during main build 2022-03-09 15:59:23 +00:00
Jenkinsfile.axe Increment Jenkinsfile.axe RSPEC_PROCESSES to 6 2021-11-30 07:10:28 +00:00
Jenkinsfile.cassandra fix docker sync job 2021-10-01 15:11:55 +00:00
Jenkinsfile.contract-tests convert contract tests to using docker bridge network 2021-06-15 16:37:49 +00:00
Jenkinsfile.coverage Upgrade to Selenium 4 2022-03-09 15:28:31 +00:00
Jenkinsfile.coverage-js allow canvas javascript coverage report to run outside of main build 2022-03-10 14:52:42 +00:00
Jenkinsfile.crystalball Enable all rspec tests to generate crystalball map coverage 2022-02-01 17:23:26 +00:00
Jenkinsfile.dive fix jenkins file linter issues autofixable 2021-05-18 16:48:15 +00:00
Jenkinsfile.docker-smoke Revert "asset install in Dockerfile" 2021-06-29 13:36:09 +00:00
Jenkinsfile.docker-sync Additional selenium 4 cleanup 2022-03-14 15:02:37 +00:00
Jenkinsfile.dynamodb fix docker sync job 2021-10-01 15:11:55 +00:00
Jenkinsfile.js remove translations/_core_en.js in production try 2 2022-02-18 00:08:38 +00:00
Jenkinsfile.master-bouncer-check-all fix docker sync job 2021-10-01 15:11:55 +00:00
Jenkinsfile.package-translations More translations build improvements 2021-06-30 15:32:09 +00:00
Jenkinsfile.parallel_logs fix jenkins file linter issues autofixable 2021-05-18 16:48:15 +00:00
Jenkinsfile.postgres update copyright disclaimer 2021-10-01 15:44:27 +00:00
Jenkinsfile.redis improve readability jenkins redis 2021-11-18 20:17:08 +00:00
Jenkinsfile.rspecq filter tests on parent 2022-03-14 17:35:40 +00:00
Jenkinsfile.selenium.flakey_spec_catcher Upgrade to Selenium 4 2022-03-09 15:28:31 +00:00
Jenkinsfile.selenium.performance.chrome Upgrade to Selenium 4 2022-03-09 15:28:31 +00:00
Jenkinsfile.test-subbuild fix jenkins file linter issues autofixable 2021-05-18 16:48:15 +00:00
Jenkinsfile.vendored-gems purge pulsar from canvas 2022-01-03 20:37:22 +00:00
Jenkinsfile.xbrowser fix docker sync job 2021-10-01 15:11:55 +00:00
LICENSE
README.md Update README.md since Canvas is still modern 2016-12-15 03:18:28 +00:00
Rakefile RuboCop: Style/StringLiterals, Style/StringLiteralsInInterpolation 2021-11-25 14:03:06 +00:00
bower.json Move k5uplodaer to /packages 2019-05-10 18:30:51 +00:00
code_of_conduct.md
config.ru RuboCop: Style/StringLiterals, Style/StringLiteralsInInterpolation 2021-11-25 14:03:06 +00:00
docker-compose.new-jenkins-flakey-spec-catcher.yml update fsc to go into the plugin directory to do tests 2020-06-17 14:58:09 +00:00
docker-compose.new-jenkins-js.yml remove translations/_core_en.js in production try 2 2022-02-18 00:08:38 +00:00
docker-compose.new-jenkins-package-translations.yml Create shared translation infrastructure for packages 2019-11-06 22:42:03 +00:00
docker-compose.new-jenkins-selenium.yml Additional selenium 4 cleanup 2022-03-14 15:02:37 +00:00
docker-compose.new-jenkins.consumer.yml Bump rails 2021-12-23 15:26:13 +00:00
docker-compose.new-jenkins.vendored-gems.yml extract canvas::redis to canvas_cache 2021-03-02 14:38:55 +00:00
docker-compose.new-jenkins.yml Don't override CANVAS_RAILS6_0 in compose 2022-02-17 16:34:04 +00:00
docker-compose.spring.yml bring docker spring (without mutagen) up to date 2022-02-02 22:08:20 +00:00
docker-compose.yml Revert "asset install in Dockerfile" 2021-06-29 13:36:09 +00:00
gulpfile.js replace node-sass with dart-sass 2021-07-15 17:35:35 +00:00
issue_template.md Update community urls to reflect platform move 2020-08-12 20:17:02 +00:00
jest.config.js clean up i18n! stragglers 2022-03-10 21:38:19 +00:00
karma.conf.js re-enable canvas javascript coverage report 2022-02-28 15:36:57 +00:00
package.json Convert DashboardCard to TypeScript 2022-03-14 18:38:12 +00:00
tsconfig.json show TS where to find @canvas/ packages 2021-11-30 14:39:27 +00:00
webpack.config.js move crystalball webpack config into ui-build 2022-01-12 20:19:41 +00:00
yarn.lock babel independence: canvas-rce 2022-03-16 14:34:10 +00:00

README.md

Canvas LMS

Canvas is a modern, open-source LMS developed and maintained by Instructure Inc. It is released under the AGPLv3 license for use by anyone interested in learning more about or using learning management systems.

Please see our main wiki page for more information

Installation

Detailed instructions for installation and configuration of Canvas are provided on our wiki.