Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix ci #379

Merged
merged 22 commits into from
Feb 24, 2022
Merged
Show file tree
Hide file tree
Changes from 19 commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
9f9e796
Drop support for Ember < 3.24
NullVoxPopuli Feb 15, 2022
4ad7555
Add webpack and ember-auto-import@2 to glimmer/component and update t…
NullVoxPopuli Feb 15, 2022
5aae2cc
Upgrade some dependencies in @glimmer/component used for testing
NullVoxPopuli Feb 15, 2022
3b872ab
Update testem configs
NullVoxPopuli Feb 15, 2022
6e1db8e
Sync dependencies with the 3.24 blueprint
NullVoxPopuli Feb 15, 2022
0d3d7fb
Upgrade node / volta config
NullVoxPopuli Feb 15, 2022
4453191
Lint fix
NullVoxPopuli Feb 15, 2022
1ecf676
types pass now
NullVoxPopuli Feb 16, 2022
b7f8737
Add optional features
NullVoxPopuli Feb 16, 2022
53ff239
Add optional features
NullVoxPopuli Feb 16, 2022
1b2d56e
Update babel fixtures
NullVoxPopuli Feb 16, 2022
137dd4f
Scope isn't present when not set
NullVoxPopuli Feb 16, 2022
25d5384
Upgrade qunit setup for @glimmer/component
NullVoxPopuli Feb 16, 2022
d519bfc
More modernization
NullVoxPopuli Feb 16, 2022
a5010ac
Add embroider/test-setup
NullVoxPopuli Feb 16, 2022
5b0c54f
Migrate to @ember/destroyable and avoid the Ember global
NullVoxPopuli Feb 16, 2022
12b2a76
Re-roll lockfile
NullVoxPopuli Feb 16, 2022
2fcd697
Upgrade ember-cli
NullVoxPopuli Feb 16, 2022
e757dc0
Ember-cli 3.27 is the max version I can use without running in to: ht…
NullVoxPopuli Feb 16, 2022
6e3ba54
Re-add ember 3.12 and 3.16 to glimmer/component try-scenarios
NullVoxPopuli Feb 24, 2022
fe0d39d
Re-remove support for 3.16 and 3.12 because there is *no way* they ac…
NullVoxPopuli Feb 24, 2022
60b5237
Place optional-features in the place where ember test expects them to be
NullVoxPopuli Feb 24, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:

strategy:
matrix:
ember-version: [default, release, beta, canary, lts-3.12, lts-3.16]
ember-version: [default, release, beta, canary, lts-3.28, lts-3.24]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was dropping support tied to the requirements for the @cached decorator, or is it just because/part of the blueprint update? (i.e. are we able to keep the older Ember versions if we wanted to?)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can give it a go -- I was mainly going with the ember support policy, cause I don't know what the glimmer one is

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i guess it's fine 🙃
(assuming we trust the tests)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I wasn't implying that we should do it one way or the other, just wanted to know if it was deliberate/required or out of convince (what could be fine). Although, now that you proved that it works (at least according to the tests), if it doesn't end up hurting anything, I personally would be inclined to keep the support to aid adoption (though we should also include 3.20 in the matrix in that case).

However, I do think it is important to double check and make sure we in fact could support the @cached decorator on all of these versions, at least before we release 2.0 final.


steps:
- uses: actions/checkout@v2
Expand Down
9 changes: 5 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,11 @@
]
},
"resolutions": {
"amd-name-resolver": "https://github.com/ember-cli/amd-name-resolver.git"
"amd-name-resolver": "https://github.com/ember-cli/amd-name-resolver.git",
"ember-cli-lodash-subset": "2.0.1"
},
"devDependencies": {
"@babel/core": "^7.9.0",
"@babel/core": "^7.17.4",
"@babel/plugin-proposal-class-properties": "^7.8.3",
"@babel/plugin-proposal-decorators": "^7.8.3",
"@babel/preset-env": "^7.9.0",
Expand All @@ -61,7 +62,7 @@
"mkdirp": "^1.0.3",
"npm-run-all": "^4.1.5",
"prettier": "^2.0.2",
"qunit": "^2.9.3",
"qunit": "^2.18.0",
"release-it": "^13.5.7",
"release-it-lerna-changelog": "^2.3.0",
"release-it-yarn-workspaces": "^1.4.0",
Expand Down Expand Up @@ -117,7 +118,7 @@
"npm": false
},
"volta": {
"node": "12.16.1",
"node": "12.22.10",
"yarn": "1.22.4"
}
}
6 changes: 3 additions & 3 deletions packages/@glimmer/babel-preset/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@
},
"dependencies": {
"@babel/plugin-proposal-class-properties": "^7.8.3",
"@babel/plugin-proposal-private-methods": "^7.13.0",
"@babel/plugin-proposal-decorators": "^7.8.3",
"@glimmer/compiler": "0.77.6",
"@glimmer/vm-babel-plugins": "0.77.6",
"@babel/plugin-proposal-private-methods": "^7.13.0",
"@glimmer/compiler": "0.84.0",
"@glimmer/vm-babel-plugins": "0.84.0",
"babel-plugin-debug-macros": "^0.3.4",
"babel-plugin-htmlbars-inline-precompile": "^5.2.0"
},
Expand Down
15 changes: 10 additions & 5 deletions packages/@glimmer/babel-preset/test/fixtures/debug/output.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ import { createTemplateFactory as _createTemplateFactory } from "@glimmer/core";

function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }

function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }

function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }

function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }

function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
Expand All @@ -23,13 +29,13 @@ if (true
(true && !(false) && deprecate('this is deprecated', false, {
id: 'foo'
}));
let Test = (_class = (_dog = new WeakMap(), _cat = new WeakSet(), class Test {
let Test = (_class = (_dog = /*#__PURE__*/new WeakMap(), _cat = /*#__PURE__*/new WeakSet(), class Test {
constructor() {
_cat.add(this);
_classPrivateMethodInitSpec(this, _cat);

_initializerDefineProperty(this, "bar", _descriptor, this);

_dog.set(this, {
_classPrivateFieldInitSpec(this, _dog, {
writable: true,
value: "dog"
});
Expand All @@ -56,6 +62,5 @@ _createTemplateFactory(
"id": null,
"block": "[[[1,\"Hello, world!\"]],[],false,[]]",
"moduleName": "(unknown template module)",
"scope": null,
"isStrictMode": true
});
});
15 changes: 10 additions & 5 deletions packages/@glimmer/babel-preset/test/fixtures/production/output.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ import { createTemplateFactory as _createTemplateFactory } from "@glimmer/core";

function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }

function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }

function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }

function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }

function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
Expand All @@ -23,13 +29,13 @@ if (false
(false && !(false) && deprecate('this is deprecated', false, {
id: 'foo'
}));
let Test = (_class = (_dog = new WeakMap(), _cat = new WeakSet(), class Test {
let Test = (_class = (_dog = /*#__PURE__*/new WeakMap(), _cat = /*#__PURE__*/new WeakSet(), class Test {
constructor() {
_cat.add(this);
_classPrivateMethodInitSpec(this, _cat);

_initializerDefineProperty(this, "bar", _descriptor, this);

_dog.set(this, {
_classPrivateFieldInitSpec(this, _dog, {
writable: true,
value: "dog"
});
Expand All @@ -56,6 +62,5 @@ _createTemplateFactory(
"id": null,
"block": "[[[1,\"Hello, world!\"]],[],false,[]]",
"moduleName": "(unknown template module)",
"scope": null,
"isStrictMode": true
});
});
2 changes: 1 addition & 1 deletion packages/@glimmer/blueprint/files/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
"qunit-dom": "^1.1.0",
"style-loader": "^1.1.3",
"testem": "^3.0.3",
"typescript": "~3.8.3",
"typescript": "~4.2.3",
"webpack": "^4.42.1",
"webpack-cli": "^3.3.11",
"webpack-dev-server": "^3.10.3"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ export interface Constructor<T> {
}

export default abstract class BaseComponentManager<GlimmerComponent extends BaseComponent>
implements ComponentManager<GlimmerComponent> {
implements ComponentManager<GlimmerComponent>
{
abstract capabilities: ComponentCapabilities;

private owner: unknown;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { DEBUG } from '@glimmer/env';
import Ember from 'ember';
import { set } from '@ember/object';
import { destroy } from '@ember/destroyable';
import { capabilities } from '@ember/component';
import { schedule } from '@ember/runloop';
import { gte } from 'ember-compatibility-helpers';
Expand All @@ -21,14 +21,12 @@ const CAPABILITIES = gte('3.13.0-beta.1')
asyncLifeCycleCallbacks: false,
});

function scheduledDestroyComponent(component: GlimmerComponent, meta: EmberMeta): void {
function scheduledDestroyComponent(component: GlimmerComponent): void {
if (component.isDestroyed) {
return;
}

Ember.destroy(component);

meta.setSourceDestroyed();
destroy(component);
setDestroyed(component);
}

Expand All @@ -46,13 +44,10 @@ class EmberGlimmerComponentManager extends BaseComponentManager<GlimmerComponent
return;
}

const meta = Ember.meta(component);

meta.setSourceDestroying();
setDestroying(component);

schedule('actions', component, component.willDestroy);
schedule('destroy', this, scheduledDestroyComponent, component, meta);
schedule('destroy', this, scheduledDestroyComponent, component);
}
}

Expand Down
8 changes: 4 additions & 4 deletions packages/@glimmer/component/config/ember-try.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,18 @@ module.exports = function () {
useYarn: true,
scenarios: [
{
name: 'ember-lts-3.12',
name: 'ember-lts-3.24',
npm: {
devDependencies: {
'ember-source': '~3.12.0',
'ember-source': '~3.24.0',
},
},
},
{
name: 'ember-lts-3.16',
name: 'ember-lts-3.28',
npm: {
devDependencies: {
'ember-source': '~3.16.0',
'ember-source': '~3.28.0',
},
},
},
Expand Down
6 changes: 6 additions & 0 deletions packages/@glimmer/component/config/optional-features.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"application-template-wrapper": false,
"default-async-observers": true,
"jquery-integration": false,
"template-only-glimmer-components": true
}
9 changes: 8 additions & 1 deletion packages/@glimmer/component/ember-cli-build.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,12 @@ module.exports = function (defaults) {
behave. You most likely want to be modifying `./index.js` or app's build file
*/

return app.toTree();
const { maybeEmbroider } = require('@embroider/test-setup');
return maybeEmbroider(app, {
skipBabel: [
{
package: 'qunit',
},
],
});
};
85 changes: 46 additions & 39 deletions packages/@glimmer/component/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,73 +26,80 @@
"test:all": "ember try:each"
},
"dependencies": {
"@glimmer/env": "^0.1.7",
"@glimmer/util": "0.77.6",
"@glimmer/core": "2.0.0-beta.17",
"@glimmer/env": "^0.1.7",
"@glimmer/util": "0.84.0",
"broccoli-file-creator": "^2.1.1",
"broccoli-merge-trees": "^3.0.2",
"ember-cli-babel": "^7.7.3",
"ember-cli-babel": "^7.23.0",
"ember-cli-get-component-path-option": "^1.0.0",
"ember-cli-is-package-missing": "^1.0.0",
"ember-cli-normalize-entity-name": "^1.0.0",
"ember-cli-path-utils": "^1.0.0",
"ember-cli-string-utils": "^1.1.0",
"ember-cli-typescript": "^3.0.0",
"ember-cli-typescript": "^5.0.0",
"ember-compatibility-helpers": "^1.1.2"
},
"devDependencies": {
"@ember/optional-features": "^0.6.1",
"@ember/optional-features": "^2.0.0",
"@ember/test-helpers": "^2.6.0",
"@embroider/test-setup": "^1.2.0",
"@glimmer/application-test-helpers": "^1.0.0",
"@glimmer/compiler": "0.77.6",
"@glimmer/interfaces": "0.77.6",
"@glimmer/resolver": "^0.3.0",
"@glimmer/compiler": "0.84.0",
"@glimmer/interfaces": "0.84.0",
"@glimmer/resolver": "^0.4.3",
"@glimmer/tracking": "2.0.0-beta.17",
"@glimmer/wire-format": "0.77.6",
"@types/ember": "~3.0.29",
"@types/ember-qunit": "~3.4.3",
"@types/ember-test-helpers": "~1.0.6",
"@types/ember-testing-helpers": "^0.0.3",
"@types/ember__test-helpers": "~0.7.6",
"@glimmer/wire-format": "0.84.0",
"@types/ember": "~4.0.0",
"@types/ember-qunit": "~5.0.0",
"@types/ember-testing-helpers": "^0.0.4",
"@types/ember__destroyable": "^4.0.0",
"@types/ember__test-helpers": "~2.6.1",
"@types/qunit": "^2.5.3",
"@types/rsvp": "^4.0.2",
"babel-eslint": "^8.2.6",
"babel-eslint": "^10.1.0",
"broccoli-asset-rev": "^2.7.0",
"broccoli-funnel": "^2.0.1",
"ember-ajax": "^3.0.0",
"ember-cli": "~3.4.0-beta.1",
"ember-auto-import": "^2.4.0",
"ember-cli": "~3.27.0",
"ember-cli-blueprint-test-helpers": "^0.19.1",
"ember-cli-dependency-checker": "^2.0.0",
"ember-cli-htmlbars": "^2.0.3",
"ember-cli-htmlbars-inline-precompile": "^1.0.3",
"ember-cli-inject-live-reload": "^1.4.1",
"ember-cli-sri": "^2.1.0",
"ember-cli-uglify": "^2.1.0",
"ember-decorators-polyfill": "^1.0.6",
"ember-disable-prototype-extensions": "^1.1.2",
"ember-export-application-global": "^2.0.0",
"ember-load-initializers": "^1.1.0",
"ember-cli-dependency-checker": "^3.2.0",
"ember-cli-htmlbars": "^6.0.0",
"ember-cli-inject-live-reload": "^2.0.2",
"ember-disable-prototype-extensions": "^1.1.3",
"ember-export-application-global": "^2.0.1",
"ember-load-initializers": "^2.1.2",
"ember-maybe-import-regenerator": "^0.1.6",
"ember-qunit": "^4.6.0",
"ember-resolver": "^5.0.0",
"ember-source": "~3.16.0",
"ember-source-channel-url": "^1.0.1",
"ember-try": "^1.0.0-beta.3",
"eslint-plugin-ember": "^5.0.0",
"eslint-plugin-node": "^6.0.1",
"loader.js": "^4.2.3",
"qunit-dom": "^0.7.1",
"typescript": "~3.8.2"
"ember-qunit": "^5.1.1",
"ember-resolver": "^8.0.2",
"ember-source": "~3.24.0",
"ember-source-channel-url": "^3.0.0",
"ember-try": "^1.3.0",
"eslint-config-prettier": "^7.1.0",
"eslint-plugin-ember": "^10.1.1",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-prettier": "^3.3.1",
"loader.js": "^4.7.0",
"npm-run-all": "^4.1.5",
"prettier": "^2.2.1",
"qunit": "^2.13.0",
"qunit-dom": "^2.0.0",
"typescript": "~4.2.3",
"webpack": "^5.69.0"
},
"engines": {
"node": ">= 12.0"
"node": "12.* || 14.* || >= 16"
},
"ember": {
"edition": "octane"
},
"ember-addon": {
"configPath": "tests/dummy/config",
"defaultBlueprint": "install-glimmer-component",
"main": "ember-addon-main.js"
},
"volta": {
"node": "12.16.1",
"node": "12.22.10",
"yarn": "1.22.4"
}
}
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
{
"jquery-integration": false
"application-template-wrapper": false,
"default-async-observers": true,
"jquery-integration": false,
"template-only-glimmer-components": true
}
Empty file.
9 changes: 8 additions & 1 deletion packages/@glimmer/component/test/ember/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,14 @@
{{content-for "body"}}
{{content-for "test-body"}}

<script src="/testem.js" integrity=""></script>
<div id="qunit"></div>
<div id="qunit-fixture">
<div id="ember-testing-container">
<div id="ember-testing"></div>
</div>
</div>

<script src="/testem.js" integrity="" data-embroider-ignore></script>
<script src="{{rootURL}}assets/vendor.js"></script>
<script src="{{rootURL}}assets/test-support.js"></script>
<script src="{{rootURL}}assets/dummy.js"></script>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { module, test } from 'qunit';
import { setupRenderingTest } from 'ember-qunit';
import { render, click } from '@ember/test-helpers';
import hbs from 'htmlbars-inline-precompile';
import { hbs } from 'ember-cli-htmlbars';

module('Integration | Component | glimmer.js guide example', function (hooks) {
setupRenderingTest(hooks);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import GlimmerComponent from '@glimmer/component';
import { module, test } from 'qunit';
import { setupRenderingTest } from 'ember-qunit';
import { render, clearRender, click } from '@ember/test-helpers';
import hbs from 'htmlbars-inline-precompile';
import { hbs } from 'ember-cli-htmlbars';
import { getOwner } from '@ember/application';
import { set, computed } from '@ember/object';

Expand Down