mirror of
https://github.com/discourse/discourse.git
synced 2025-06-06 12:34:42 +08:00
DEV: Make discourse-common
an Ember addon. (#9578)
This is to help with the migration to Ember CLI. In the current running version of Discourse everything should be the same as before, just with a few extra files that are not used. However, using Ember CLI this can be installed as an Ember addon. Co-Authored-By: Jarek Radosz <jradosz@gmail.com>
This commit is contained in:
@ -23,9 +23,6 @@ acc5cbdf8ecb9293a0fa9474ee73baf499c02428
|
|||||||
# Rename wizard from es6 -> js
|
# Rename wizard from es6 -> js
|
||||||
1ac02422011f89716ab27250d39b0e0212e03892
|
1ac02422011f89716ab27250d39b0e0212e03892
|
||||||
|
|
||||||
# Rename discourse-common es6 -> js
|
|
||||||
167503ca4824e37a2e93d74b3f50271556d0ba8e
|
|
||||||
|
|
||||||
# Rename some root files
|
# Rename some root files
|
||||||
11938d58d4b1bea1ff43306450da7b24f05db0a
|
11938d58d4b1bea1ff43306450da7b24f05db0a
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
//= require_tree ./discourse-common
|
//= require_tree ./discourse-common/addon
|
||||||
//= require ./polyfills
|
//= require ./polyfills
|
||||||
//= require_tree ./select-kit
|
//= require_tree ./select-kit
|
||||||
//= require ./discourse/app/app
|
//= require ./discourse/app/app
|
||||||
|
@ -0,0 +1,3 @@
|
|||||||
|
export const INPUT_DELAY = 250;
|
||||||
|
|
||||||
|
export default { environment: Ember.testing ? "test" : "development" };
|
89
app/assets/javascripts/discourse-common/config/ember-try.js
Normal file
89
app/assets/javascripts/discourse-common/config/ember-try.js
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
"use strict";
|
||||||
|
|
||||||
|
const getChannelURL = require("ember-source-channel-url");
|
||||||
|
|
||||||
|
module.exports = async function() {
|
||||||
|
return {
|
||||||
|
useYarn: true,
|
||||||
|
scenarios: [
|
||||||
|
{
|
||||||
|
name: "ember-lts-3.8",
|
||||||
|
npm: {
|
||||||
|
devDependencies: {
|
||||||
|
"ember-source": "~3.8.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "ember-lts-3.12",
|
||||||
|
npm: {
|
||||||
|
devDependencies: {
|
||||||
|
"ember-source": "~3.12.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "ember-release",
|
||||||
|
npm: {
|
||||||
|
devDependencies: {
|
||||||
|
"ember-source": await getChannelURL("release")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "ember-beta",
|
||||||
|
npm: {
|
||||||
|
devDependencies: {
|
||||||
|
"ember-source": await getChannelURL("beta")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "ember-canary",
|
||||||
|
npm: {
|
||||||
|
devDependencies: {
|
||||||
|
"ember-source": await getChannelURL("canary")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// The default `.travis.yml` runs this scenario via `yarn test`,
|
||||||
|
// not via `ember try`. It's still included here so that running
|
||||||
|
// `ember try:each` manually or from a customized CI config will run it
|
||||||
|
// along with all the other scenarios.
|
||||||
|
{
|
||||||
|
name: "ember-default",
|
||||||
|
npm: {
|
||||||
|
devDependencies: {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "ember-default-with-jquery",
|
||||||
|
env: {
|
||||||
|
EMBER_OPTIONAL_FEATURES: JSON.stringify({
|
||||||
|
"jquery-integration": true
|
||||||
|
})
|
||||||
|
},
|
||||||
|
npm: {
|
||||||
|
devDependencies: {
|
||||||
|
"@ember/jquery": "^0.5.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "ember-classic",
|
||||||
|
env: {
|
||||||
|
EMBER_OPTIONAL_FEATURES: JSON.stringify({
|
||||||
|
"application-template-wrapper": true,
|
||||||
|
"default-async-observers": false,
|
||||||
|
"template-only-glimmer-components": false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
npm: {
|
||||||
|
ember: {
|
||||||
|
edition: "classic"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
};
|
||||||
|
};
|
@ -1,3 +1,5 @@
|
|||||||
export const INPUT_DELAY = 250;
|
"use strict";
|
||||||
|
|
||||||
export default { environment: Ember.testing ? "test" : "development" };
|
module.exports = function(/* environment, appConfig */) {
|
||||||
|
return {};
|
||||||
|
};
|
||||||
|
@ -0,0 +1,9 @@
|
|||||||
|
"use strict";
|
||||||
|
|
||||||
|
const EmberAddon = require("ember-cli/lib/broccoli/ember-addon");
|
||||||
|
|
||||||
|
module.exports = function(defaults) {
|
||||||
|
let app = new EmberAddon(defaults, {});
|
||||||
|
|
||||||
|
return app.toTree();
|
||||||
|
};
|
5
app/assets/javascripts/discourse-common/index.js
Normal file
5
app/assets/javascripts/discourse-common/index.js
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
"use strict";
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
name: require("./package").name
|
||||||
|
};
|
54
app/assets/javascripts/discourse-common/package.json
Normal file
54
app/assets/javascripts/discourse-common/package.json
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
{
|
||||||
|
"name": "discourse-common",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "Shared code between discourse apps",
|
||||||
|
"author": "Discourse",
|
||||||
|
"license": "GPLv2",
|
||||||
|
"keywords": [
|
||||||
|
"ember-addon"
|
||||||
|
],
|
||||||
|
"repository": "",
|
||||||
|
"license": "",
|
||||||
|
"author": "",
|
||||||
|
"scripts": {
|
||||||
|
"build": "ember build",
|
||||||
|
"lint:hbs": "ember-template-lint .",
|
||||||
|
"lint:js": "eslint .",
|
||||||
|
"start": "ember serve"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"ember-cli-babel": "^7.13.0",
|
||||||
|
"ember-cli-htmlbars": "^4.2.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@ember/optional-features": "^1.1.0",
|
||||||
|
"@glimmer/component": "^1.0.0",
|
||||||
|
"babel-eslint": "^10.0.3",
|
||||||
|
"broccoli-asset-rev": "^3.0.0",
|
||||||
|
"ember-auto-import": "^1.5.3",
|
||||||
|
"ember-cli": "~3.15.2",
|
||||||
|
"ember-cli-dependency-checker": "^3.2.0",
|
||||||
|
"ember-cli-eslint": "^5.1.0",
|
||||||
|
"ember-cli-inject-live-reload": "^2.0.1",
|
||||||
|
"ember-cli-sri": "^2.1.1",
|
||||||
|
"ember-cli-template-lint": "^1.0.0-beta.3",
|
||||||
|
"ember-cli-uglify": "^3.0.0",
|
||||||
|
"ember-disable-prototype-extensions": "^1.1.3",
|
||||||
|
"ember-export-application-global": "^2.0.1",
|
||||||
|
"ember-load-initializers": "^2.1.1",
|
||||||
|
"ember-maybe-import-regenerator": "^0.1.6",
|
||||||
|
"ember-resolver": "^7.0.0",
|
||||||
|
"ember-source": "~3.15.0",
|
||||||
|
"ember-source-channel-url": "^2.0.1",
|
||||||
|
"ember-try": "^1.4.0",
|
||||||
|
"eslint-plugin-ember": "^7.7.1",
|
||||||
|
"eslint-plugin-node": "^10.0.0",
|
||||||
|
"loader.js": "^4.7.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "8.* || >= 10.*"
|
||||||
|
},
|
||||||
|
"ember": {
|
||||||
|
"edition": "octane"
|
||||||
|
}
|
||||||
|
}
|
0
app/assets/javascripts/discourse-common/vendor/.gitkeep
vendored
Normal file
0
app/assets/javascripts/discourse-common/vendor/.gitkeep
vendored
Normal file
10485
app/assets/javascripts/discourse-common/yarn.lock
Normal file
10485
app/assets/javascripts/discourse-common/yarn.lock
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,4 @@
|
|||||||
//= require ./discourse-common/utils/decorators
|
//= require_tree ./discourse-common/addon
|
||||||
//= require_tree ./discourse-common
|
|
||||||
//= require i18n-patches
|
//= require i18n-patches
|
||||||
//= require_tree ./select-kit
|
//= require_tree ./select-kit
|
||||||
//= require wizard/router
|
//= require wizard/router
|
||||||
|
@ -161,7 +161,7 @@ JS
|
|||||||
end
|
end
|
||||||
|
|
||||||
# We need to strip the app subdirectory to replicate how ember-cli works.
|
# We need to strip the app subdirectory to replicate how ember-cli works.
|
||||||
path || logical_path&.gsub('app/', '')
|
path || logical_path&.gsub('app/', '')&.gsub('addon/', '')
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
@ -11,7 +11,7 @@ class Barber::Precompiler
|
|||||||
def precompiler
|
def precompiler
|
||||||
if !@precompiler
|
if !@precompiler
|
||||||
|
|
||||||
source = File.read("#{Rails.root}/app/assets/javascripts/discourse-common/lib/raw-handlebars.js")
|
source = File.read("#{Rails.root}/app/assets/javascripts/discourse-common/addon/lib/raw-handlebars.js")
|
||||||
transpiler = DiscourseJsProcessor::Transpiler.new(skip_module: true)
|
transpiler = DiscourseJsProcessor::Transpiler.new(skip_module: true)
|
||||||
transpiled = transpiler.perform(source)
|
transpiled = transpiler.perform(source)
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"repository": "git@github.com:discourse/discourse.git",
|
"repository": "git@github.com:discourse/discourse.git",
|
||||||
"author": "Discourse",
|
"author": "Discourse",
|
||||||
"license": "MIT",
|
"license": "GPL-2.0-only",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fortawesome/fontawesome-free": "5.11.2",
|
"@fortawesome/fontawesome-free": "5.11.2",
|
||||||
"@popperjs/core": "v2.0.6",
|
"@popperjs/core": "v2.0.6",
|
||||||
|
Reference in New Issue
Block a user