Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 9 additions & 7 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,11 @@ jobs:
run: pnpm lint:hbs
- name: Lint (js)
run: pnpm lint:js
- name: Run test
- name: build
run: EMBER_ENV=test pnpm ember build --environment test
- name: test ember debug
run: pnpm ember-debug:test
- name: Run test inspector ui
run: pnpm test
env:
COVERAGE: 'true'
Expand Down Expand Up @@ -107,14 +111,12 @@ jobs:
- name: Set NO_EXTEND_PROTOTYPES
if: matrix.scenario == 'ember-default-no-prototype-extensions'
run: echo "NO_EXTEND_PROTOTYPES==true" >> .GITHUB_ENV
- name: Setup ember-try scenario
run: pnpm ember try:one ${{ matrix.scenario }} --skip-cleanup --- cat package.json
- name: Build
- name: Build Inspector
run: pnpm ember build --environment test
- name: Setup ember-try scenario
run: pnpm ember-debug:try:one ${{ matrix.scenario }} --skip-cleanup --- cat package.json
- name: Run test
# Due to a bug in ember-cli, running `ember test` with `--path` doesn't set `EMBER_ENV=test`
# See https://github.com/ember-cli/ember-cli/issues/8922
run: EMBER_ENV=test pnpm ember test --path dist --filter="Ember Debug"
run: pnpm ember-debug:try:one ${{ matrix.scenario }} --skip-cleanup

build:
name: Build extensions
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@

# dependencies
/node_modules/
/test-apps/*/dist
/test-apps/*/node_modules

# misc
/.env*
Expand Down
5 changes: 3 additions & 2 deletions ember_debug/libs/render-tree.js
Original file line number Diff line number Diff line change
Expand Up @@ -605,8 +605,9 @@ export default class RenderTree {
// EmberWormhole component from ember-wormhole was used to provide
// rendering into a given DOM element prior to built-in in-element.
if (
node.template ===
'ember-wormhole/templates/components/ember-wormhole.hbs'
node.template
?.replace(/\\/g, '/')
.includes('ember-wormhole/templates/components/ember-wormhole.hbs')
) {
this.inElementSupport?.remoteRoots.push(node);
const bounds = node.bounds;
Expand Down
58 changes: 31 additions & 27 deletions ember_debug/object-inspector.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,33 +39,37 @@ if (GlimmerValidator) {
track = GlimmerValidator.track;

// patch tagFor to add debug info, older versions already have _propertyKey
const tagFor = GlimmerValidator.tagFor;
GlimmerValidator.tagFor = function (...args) {
const tag = tagFor.call(this, ...args);
const [obj, key] = args;
if (
(!tag._propertyKey || !tag._object) &&
typeof obj === 'object' &&
typeof key === 'string'
) {
tag._propertyKey = key;
tag._object = obj;
}
return tag;
};
const trackedData = GlimmerValidator.trackedData;
GlimmerValidator.trackedData = function (...args) {
const r = trackedData.call(this, ...args);
if (r.getter && args.length === 2) {
const [key] = args;
const getter = r.getter;
r.getter = function (self) {
GlimmerValidator.tagFor(self, key);
return getter.call(this, self);
};
}
return r;
};
try {
const tagFor = GlimmerValidator.tagFor;
GlimmerValidator.tagFor = function (...args) {
const tag = tagFor.call(this, ...args);
const [obj, key] = args;
if (
(!tag._propertyKey || !tag._object) &&
typeof obj === 'object' &&
typeof key === 'string'
) {
tag._propertyKey = key;
tag._object = obj;
}
return tag;
};
const trackedData = GlimmerValidator.trackedData;
GlimmerValidator.trackedData = function (...args) {
const r = trackedData.call(this, ...args);
if (r.getter && args.length === 2) {
const [key] = args;
const getter = r.getter;
r.getter = function (self) {
GlimmerValidator.tagFor(self, key);
return getter.call(this, self);
};
}
return r;
};
} catch {
// cannot patch
}
} else if (GlimmerReference) {
tagValue = GlimmerReference.value;
tagValidate = GlimmerReference.validate;
Expand Down
1 change: 1 addition & 0 deletions ember_debug/rollup.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ export default {
'utils/version.js',
'port.js',
'utils/ember.js',
'utils/type-check',
'models/profile-node.js',
'libs/promise-assembler.js',
],
Expand Down
2 changes: 2 additions & 0 deletions ember_debug/utils/version.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ export function isInVersionSpecifier(specifier, version) {
let operator = specifier[0];
if (Number.isNaN(+operator)) {
specifier = specifier.slice(1);
} else {
return specifier === version;
}
specifier = cleanupVersion(specifier).split('.');
version2 = cleanupVersion(version).split('.');
Expand Down
21 changes: 20 additions & 1 deletion eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,10 @@ export default ts.config(
'dist/',
'ember_debug/dist/',
'node_modules/',
'test-apps/*/node_modules/',
'test-apps/*/dist/',
'test-apps/*/public/',
'test-apps/tests/helpers/index.ts',
'coverage/',
'!**/.*',
'vendor/',
Expand Down Expand Up @@ -93,6 +97,7 @@ export default ts.config(
...globals.browser,
basicContext: false,
requireModule: false,
chrome: true,
},
},
},
Expand All @@ -113,10 +118,21 @@ export default ts.config(
},
},
{
files: ['tests/**/*-test.{js,gjs,ts,gts}'],
files: [
'tests/**/*-test.{js,gjs,ts,gts}',
'test-apps/*/tests/**/*-test.{js,gjs,ts,gts}',
],
plugins: {
qunit,
},
languageOptions: {
globals: {
...globals.browser,
basicContext: false,
requireModule: false,
chrome: true,
},
},
},
/**
* CJS node files
Expand All @@ -125,15 +141,18 @@ export default ts.config(
files: [
'**/*.cjs',
'config/**/*.js',
'test-apps/*/config/**/*.js',
'lib/*/index.js',
'scripts/**/*.js',
'testem.js',
'test-apps/*/testem.js',
'testem*.js',
'.prettierrc.js',
'.stylelintrc.js',
'.template-lintrc.js',
'babel.config.js',
'ember-cli-build.js',
'test-apps/*/ember-cli-build.js',
'gulpfile.js',
],
plugins: {
Expand Down
4 changes: 3 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,9 @@
"watch-test:inspector-ui": "ember test --serv",
"watch": "pnpm '/watch:/'",
"watch:inspector-ui": "ember build --watch",
"watch:ember-debug": "pnpm --filter ember-debug watch"
"watch:ember-debug": "pnpm --filter ember-debug watch",
"ember-debug:try:one": "pnpm run --sequential --filter '*' ember:try:one",
"ember-debug:test": "pnpm run --sequential --filter '*' ember-debug-test"
},
"dependencies": {
"got": "^11.8.6",
Expand Down
Loading