ember-vite-hmr 1.4.17 → 1.4.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"vite-hot-reload.js","sources":["../../src/instance-initializers/vite-hot-reload.ts"],"sourcesContent":["import ApplicationInstance from '@ember/application/instance';\nimport { debounce, next } from '@ember/runloop';\nimport RouterService from '@ember/routing/router-service';\nimport { Renderer } from '@ember/-internals/glimmer/lib/renderer';\n\n\nfunction patchResolver(application: ApplicationInstance) {\n application.__container__.lookup('service:vite-hot-reload');\n const resolver =\n (application.__registry__.resolver as any)?._fallback ||\n (application.__registry__.fallback?.resolver as any)._fallback ||\n (application.__registry__.fallback?.resolver as any) ||\n application.__registry__.resolver;\n const resolverResolve = resolver.resolve;\n resolver.resolve = function (name: string) {\n name = name.replace(/--hot-version--.*$/, '');\n return resolverResolve.call(this, name);\n };\n}\n\n\nfunction supportErrorRecovery(appInstance: ApplicationInstance) {\n const bodyHtml = window.document.body.cloneNode(true);\n const renderer = appInstance.__container__.lookup('renderer:-dom') as Renderer;\n const router = appInstance.__container__.lookup('service:router') as RouterService;\n const warn = console.warn;\n let scheduleRerender = false;\n async function rerender() {\n if (!scheduleRerender) return;\n scheduleRerender = false;\n const applicationRouter = appInstance.__container__.lookup('route:application') as any;\n applicationRouter._router._toplevelView.destroy();\n applicationRouter._router._toplevelView = null;\n renderer._clearAllRoots();\n window.document.body = bodyHtml.cloneNode(true) as any;\n next(() => {\n const transition = router.refresh();\n applicationRouter.setup(applicationRouter.context, transition);\n });\n }\n import.meta.hot?.on('vite:beforeUpdate', () => debounce(rerender, 100));\n console.warn = function (...args) {\n if (args[0].includes('Attempted to rerender, but the Ember application has had an unrecoverable error occur during render. You should reload the application after fixing the cause of the error.')) {\n scheduleRerender = true;\n }\n warn.call(console, ...args);\n }\n}\n\nexport function initialize(application: ApplicationInstance) {\n patchResolver(application);\n supportErrorRecovery(application);\n}\n\nexport default {\n initialize,\n};\n"],"names":["patchResolver","application","__container__","lookup","resolver","__registry__","_fallback","fallback","resolverResolve","resolve","name","replace","call","supportErrorRecovery","appInstance","bodyHtml","window","document","body","cloneNode","renderer","router","warn","console","scheduleRerender","rerender","applicationRouter","_router","_toplevelView","destroy","_clearAllRoots","next","transition","refresh","setup","context","import","meta","hot","on","debounce","args","includes","initialize"],"mappings":";;AAMA,SAASA,aAAaA,CAACC,WAAgC,EAAE;AACvDA,EAAAA,WAAW,CAACC,aAAa,CAACC,MAAM,CAAC,yBAAyB,CAAC,CAAA;AAC3D,EAAA,MAAMC,QAAQ,GACTH,WAAW,CAACI,YAAY,CAACD,QAAQ,EAAUE,SAAS,IACrD,CAACL,WAAW,CAACI,YAAY,CAACE,QAAQ,EAAEH,QAAQ,EAASE,SAAS,IAC7DL,WAAW,CAACI,YAAY,CAACE,QAAQ,EAAEH,QAAgB,IACpDH,WAAW,CAACI,YAAY,CAACD,QAAQ,CAAA;AACrC,EAAA,MAAMI,eAAe,GAAGJ,QAAQ,CAACK,OAAO,CAAA;AACxCL,EAAAA,QAAQ,CAACK,OAAO,GAAG,UAAUC,IAAY,EAAE;IACzCA,IAAI,GAAGA,IAAI,CAACC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAA;AAC7C,IAAA,OAAOH,eAAe,CAACI,IAAI,CAAC,IAAI,EAAEF,IAAI,CAAC,CAAA;GACxC,CAAA;AACH,CAAA;AAGA,SAASG,oBAAoBA,CAACC,WAAgC,EAAE;EAC9D,MAAMC,QAAQ,GAAGC,MAAM,CAACC,QAAQ,CAACC,IAAI,CAACC,SAAS,CAAC,IAAI,CAAC,CAAA;EACrD,MAAMC,QAAQ,GAAGN,WAAW,CAACZ,aAAa,CAACC,MAAM,CAAC,eAAe,CAAa,CAAA;EAC9E,MAAMkB,MAAM,GAAGP,WAAW,CAACZ,aAAa,CAACC,MAAM,CAAC,gBAAgB,CAAkB,CAAA;AAClF,EAAA,MAAMmB,IAAI,GAAGC,OAAO,CAACD,IAAI,CAAA;EACzB,IAAIE,gBAAgB,GAAG,KAAK,CAAA;EAC5B,eAAeC,QAAQA,GAAG;IACxB,IAAI,CAACD,gBAAgB,EAAE,OAAA;AACvBA,IAAAA,gBAAgB,GAAG,KAAK,CAAA;IACxB,MAAME,iBAAiB,GAAGZ,WAAW,CAACZ,aAAa,CAACC,MAAM,CAAC,mBAAmB,CAAQ,CAAA;AACtFuB,IAAAA,iBAAiB,CAACC,OAAO,CAACC,aAAa,CAACC,OAAO,EAAE,CAAA;AACjDH,IAAAA,iBAAiB,CAACC,OAAO,CAACC,aAAa,GAAG,IAAI,CAAA;IAC9CR,QAAQ,CAACU,cAAc,EAAE,CAAA;IACzBd,MAAM,CAACC,QAAQ,CAACC,IAAI,GAAGH,QAAQ,CAACI,SAAS,CAAC,IAAI,CAAQ,CAAA;AACtDY,IAAAA,IAAI,CAAC,MAAM;AACT,MAAA,MAAMC,UAAU,GAAGX,MAAM,CAACY,OAAO,EAAE,CAAA;MACnCP,iBAAiB,CAACQ,KAAK,CAACR,iBAAiB,CAACS,OAAO,EAAEH,UAAU,CAAC,CAAA;AAChE,KAAC,CAAC,CAAA;AACJ,GAAA;AACAI,EAAAA,MAAM,CAACC,IAAI,CAACC,GAAG,EAAEC,EAAE,CAAC,mBAAmB,EAAE,MAAMC,QAAQ,CAACf,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;AACvEF,EAAAA,OAAO,CAACD,IAAI,GAAI,UAAU,GAAGmB,IAAI,EAAE;IACjC,IAAIA,IAAI,CAAC,CAAC,CAAC,CAACC,QAAQ,CAAC,6KAA6K,CAAC,EAAE;AACnMlB,MAAAA,gBAAgB,GAAG,IAAI,CAAA;AACzB,KAAA;AACAF,IAAAA,IAAI,CAACV,IAAI,CAACW,OAAO,EAAE,GAAGkB,IAAI,CAAC,CAAA;GAC5B,CAAA;AACH,CAAA;AAEO,SAASE,UAAUA,CAAC1C,WAAgC,EAAE;EAC3DD,aAAa,CAACC,WAAW,CAAC,CAAA;EAC1BY,oBAAoB,CAACZ,WAAW,CAAC,CAAA;AACnC,CAAA;AAEA,oBAAe;AACb0C,EAAAA,UAAAA;AACF,CAAC;;;;"}
1
+ {"version":3,"file":"vite-hot-reload.js","sources":["../../src/instance-initializers/vite-hot-reload.ts"],"sourcesContent":["import ApplicationInstance from '@ember/application/instance';\nimport { debounce, next } from '@ember/runloop';\nimport RouterService from '@ember/routing/router-service';\nimport { Renderer } from '@ember/-internals/glimmer/lib/renderer';\n\nfunction patchResolver(application: ApplicationInstance) {\n application.__container__.lookup('service:vite-hot-reload');\n const resolver =\n (application.__registry__.resolver as any)?._fallback ||\n (application.__registry__.fallback?.resolver as any)._fallback ||\n (application.__registry__.fallback?.resolver as any) ||\n application.__registry__.resolver;\n const resolverResolve = resolver.resolve;\n resolver.resolve = function (name: string) {\n name = name.replace(/--hot-version--.*$/, '');\n return resolverResolve.call(this, name);\n };\n}\n\nfunction supportErrorRecovery(appInstance: ApplicationInstance) {\n const bodyHtml = window.document.body.cloneNode(true);\n const renderer = appInstance.__container__.lookup(\n 'renderer:-dom',\n ) as Renderer;\n const router = appInstance.__container__.lookup(\n 'service:router',\n ) as RouterService;\n const warn = console.warn;\n let scheduleRerender = false;\n async function rerender() {\n if (!scheduleRerender) return;\n scheduleRerender = false;\n const applicationRouter = appInstance.__container__.lookup(\n 'route:application',\n ) as any;\n applicationRouter._router._toplevelView.destroy();\n applicationRouter._router._toplevelView = null;\n renderer._clearAllRoots();\n window.document.body = bodyHtml.cloneNode(true) as any;\n next(() => {\n const transition = router.refresh();\n applicationRouter.setup(applicationRouter.context, transition);\n });\n }\n import.meta.hot?.on('vite:beforeUpdate', () => debounce(rerender, 100));\n console.warn = function (...args) {\n if (\n args[0].includes(\n 'Attempted to rerender, but the Ember application has had an unrecoverable error occur during render. You should reload the application after fixing the cause of the error.',\n )\n ) {\n scheduleRerender = true;\n }\n warn.call(console, ...args);\n };\n}\n\nexport function initialize(application: ApplicationInstance) {\n patchResolver(application);\n supportErrorRecovery(application);\n}\n\nexport default {\n initialize,\n};\n"],"names":["patchResolver","application","__container__","lookup","resolver","__registry__","_fallback","fallback","resolverResolve","resolve","name","replace","call","supportErrorRecovery","appInstance","bodyHtml","window","document","body","cloneNode","renderer","router","warn","console","scheduleRerender","rerender","applicationRouter","_router","_toplevelView","destroy","_clearAllRoots","next","transition","refresh","setup","context","import","meta","hot","on","debounce","args","includes","initialize"],"mappings":"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"}
@@ -21,7 +21,7 @@ declare class HotAstProcessor {
21
21
  constructor();
22
22
  reset(): void;
23
23
  transform(env: ASTPluginEnvironment): any;
24
- buildVisitor({ importVar, importBindings, babelProgram }: {
24
+ buildVisitor({ importVar, importBindings, babelProgram, }: {
25
25
  importVar: string;
26
26
  importBindings: Set<string>;
27
27
  babelProgram: Program;
@@ -30,5 +30,5 @@ declare class HotAstProcessor {
30
30
  export declare const hotAstProcessor: HotAstProcessor;
31
31
  export default function hotReplaceAst({ types: t }: {
32
32
  types: BabelTypes;
33
- }): PluginObj;
33
+ }): PluginObj<import("@babel/core").PluginPass>;
34
34
  export {};
@@ -24,7 +24,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.hotAstProcessor = void 0;
27
- exports.default = hotReplaceAst;
28
27
  const core_1 = require("@babel/core");
29
28
  const glimmer = __importStar(require("@glimmer/syntax"));
30
29
  const babel_import_util_1 = require("babel-import-util");
@@ -101,26 +100,31 @@ class HotAstProcessor {
101
100
  transform(env) {
102
101
  if (process.env['EMBER_VITE_HMR_ENABLED'] !== 'true') {
103
102
  return {
104
- visitor: {}
103
+ visitor: {},
105
104
  };
106
105
  }
107
106
  const meta = this.meta;
108
- const importVar = meta.importVar || env.meta.jsutils.bindExpression('null', null, { nameHint: 'template__imports__' });
107
+ const importVar = meta.importVar ||
108
+ env.meta.jsutils.bindExpression('null', null, {
109
+ nameHint: 'template__imports__',
110
+ });
109
111
  meta.importVar = importVar;
110
112
  const findImport = function findImport(specifier) {
111
- return meta.babelProgram.body.find(b => b.type === 'ImportDeclaration' && b.specifiers.some(s => s.local.name === specifier));
113
+ return meta.babelProgram.body.find((b) => b.type === 'ImportDeclaration' &&
114
+ b.specifiers.some((s) => s.local.name === specifier));
112
115
  };
113
116
  return {
114
117
  visitor: Object.assign({}, this.buildVisitor({
115
118
  importVar,
116
119
  importBindings: meta.importBindings,
117
- babelProgram: meta.babelProgram
120
+ babelProgram: meta.babelProgram,
118
121
  })),
119
122
  };
120
123
  }
121
- buildVisitor({ importVar, importBindings, babelProgram }) {
124
+ buildVisitor({ importVar, importBindings, babelProgram, }) {
122
125
  const findImport = function findImport(specifier) {
123
- return babelProgram.body.find(b => b.type === 'ImportDeclaration' && b.specifiers.some(s => s.local.name === specifier));
126
+ return babelProgram.body.find((b) => b.type === 'ImportDeclaration' &&
127
+ b.specifiers.some((s) => s.local.name === specifier));
124
128
  };
125
129
  const findBlockParams = function (expression, p) {
126
130
  if (p.node.type === 'Template') {
@@ -161,14 +165,14 @@ class HotAstProcessor {
161
165
  if (node.original === 'helper' ||
162
166
  node.original === 'component' ||
163
167
  node.original === 'modifier') {
164
- (node.original);
168
+ node.original;
165
169
  const parent = p.parentNode;
166
- if (typeof parent.params[0].original !== 'string') {
170
+ if (typeof parent.params[0].original !==
171
+ 'string') {
167
172
  return;
168
173
  }
169
174
  const original = parent.params[0].original.split('.')[0];
170
- if (original &&
171
- findBlockParams(original, p))
175
+ if (original && findBlockParams(original, p))
172
176
  return;
173
177
  if (original === null || original === void 0 ? void 0 : original.includes('.'))
174
178
  return;
@@ -231,15 +235,20 @@ function hotReplaceAst({ types: t }) {
231
235
  const klass = t.classExpression(path.scope.generateUidIdentifier('Imports'), null, t.classBody([]));
232
236
  const bindings = [...exports.hotAstProcessor.meta.importBindings].sort();
233
237
  for (const local of bindings) {
234
- klass.body.body.push(t.classProperty(t.identifier(local), t.identifier(local), null, [t.decorator(tracked)]));
238
+ klass.body.body.push(t.classProperty(t.identifier(local), t.identifier(local), null, [
239
+ t.decorator(tracked),
240
+ ]));
235
241
  }
236
242
  const newExp = t.newExpression(klass, []);
237
243
  const assign = t.assignmentExpression('=', t.identifier(exports.hotAstProcessor.meta.importVar), newExp);
238
- const varDeclaration = path.node.body.findIndex((e) => e.type === 'VariableDeclaration' && e.declarations[0].id.name === exports.hotAstProcessor.meta.importVar) + 1;
244
+ const varDeclaration = path.node.body.findIndex((e) => e.type === 'VariableDeclaration' &&
245
+ e.declarations[0].id.name ===
246
+ exports.hotAstProcessor.meta.importVar) + 1;
239
247
  const lastImportIndex = path.node.body.findLastIndex((e) => e.type === 'ImportDeclaration') + 1;
240
248
  path.node.body.splice(Math.max(varDeclaration, lastImportIndex), 0, assign);
241
249
  const findImport = function findImport(specifier) {
242
- return path.node.body.find(b => b.type === 'ImportDeclaration' && b.specifiers.some(s => s.local.name === specifier));
250
+ return path.node.body.find((b) => b.type === 'ImportDeclaration' &&
251
+ b.specifiers.some((s) => s.local.name === specifier));
243
252
  };
244
253
  const hotAccepts = [];
245
254
  for (const imp of bindings) {
@@ -256,7 +265,8 @@ function hotReplaceAst({ types: t }) {
256
265
  const ifHot = t.ifStatement(t.memberExpression(t.metaProperty(t.identifier('import'), t.identifier('meta')), t.identifier('hot')), t.blockStatement([...hotAccepts]));
257
266
  path.node.body.push(ifHot);
258
267
  path.scope.crawl();
259
- }
268
+ },
260
269
  },
261
270
  };
262
271
  }
272
+ exports.default = hotReplaceAst;
package/dist/lib/hmr.js CHANGED
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.hmr = hmr;
15
+ exports.hmr = void 0;
16
16
  const path_1 = __importDefault(require("path"));
17
17
  function hmr(enableViteHmrForModes = ['development']) {
18
18
  let conf;
@@ -62,7 +62,7 @@ function hmr(enableViteHmrForModes = ['development']) {
62
62
  transform(source, id) {
63
63
  return __awaiter(this, void 0, void 0, function* () {
64
64
  const resourcePath = id.replace(/\\/g, '/').split('?')[0];
65
- const supportedPaths = ['routers', 'controllers', 'routes'];
65
+ const supportedPaths = ['routers', 'controllers', 'routes', 'templates'];
66
66
  const supportedFileNames = [
67
67
  'route.js',
68
68
  'route.ts',
@@ -76,15 +76,15 @@ function hmr(enableViteHmrForModes = ['development']) {
76
76
  }
77
77
  const name = require(`${process.cwd()}/package.json`).name;
78
78
  if (resourcePath.includes(`/assets/${name}.js`)) {
79
- const result = [
80
- ...source.matchAll(/import \* as [^ ]+ from (.*);/g),
81
- ];
82
- source += result.map(r => {
79
+ const result = [...source.matchAll(/import \* as [^ ]+ from (.*);/g)];
80
+ source += result
81
+ .map((r) => {
83
82
  if (r[1].includes('initializers')) {
84
83
  return `\nimport.meta.hot.accept(${r[1]}, () => window.location.reload());`;
85
84
  }
86
85
  return `\nimport.meta.hot.accept(${r[1]});`;
87
- }).join('');
86
+ })
87
+ .join('');
88
88
  }
89
89
  if (resourcePath.endsWith('.hbs') ||
90
90
  resourcePath.endsWith('.gjs') ||
@@ -96,10 +96,11 @@ function hmr(enableViteHmrForModes = ['development']) {
96
96
  for (const resultElement of result) {
97
97
  const dep = resultElement[1];
98
98
  const resolved = yield this.resolve(dep, resourcePath, {});
99
- let id = resolved.id;
99
+ let id = resolved === null || resolved === void 0 ? void 0 : resolved.id;
100
+ if (!id)
101
+ continue;
100
102
  let appRoot = conf.root + '/app/';
101
- if (id.startsWith(appRoot) &&
102
- !id.startsWith('embroider_virtual:')) {
103
+ if (id.startsWith(appRoot) && !id.startsWith('embroider_virtual:')) {
103
104
  id = 'app/' + id.split(appRoot)[1];
104
105
  }
105
106
  if (id.startsWith('embroider_virtual:')) {
@@ -112,6 +113,9 @@ function hmr(enableViteHmrForModes = ['development']) {
112
113
  }
113
114
  id = '/@fs' + id;
114
115
  }
116
+ if (!id.startsWith('/') && !id.startsWith('.')) {
117
+ id = '/' + id;
118
+ }
115
119
  source = source.replace(`import.meta.hot.accept('${dep}'`, `import.meta.hot.accept('${id}'`);
116
120
  }
117
121
  }
@@ -119,6 +123,10 @@ function hmr(enableViteHmrForModes = ['development']) {
119
123
  !supportedFileNames.some((s) => resourcePath.endsWith(s))) {
120
124
  return source;
121
125
  }
126
+ if (supportedPaths.includes('templates') &&
127
+ supportedPaths.includes('components')) {
128
+ return source;
129
+ }
122
130
  return `${source}
123
131
  if (import.meta.hot && window.emberHotReloadPlugin) {
124
132
  const result = window.emberHotReloadPlugin.canAcceptNew(import.meta.url);
@@ -135,3 +143,4 @@ function hmr(enableViteHmrForModes = ['development']) {
135
143
  },
136
144
  };
137
145
  }
146
+ exports.hmr = hmr;
@@ -78,17 +78,20 @@ if (import.meta.hot) {
78
78
  const m = await this.__import(moduleUrl);
79
79
  const module = {
80
80
  exports: m,
81
- id: moduleUrl.split('?')[0],
81
+ id: moduleUrl.split('?')[0].replace(/http:\/\/.*:[^\/]*\//, ''),
82
82
  version: 0
83
83
  };
84
84
  this._accepting -= 1;
85
85
  if (this._accepting === 0) {
86
86
  setTimeout(() => this.notifyNew(), 0);
87
87
  }
88
- let ok = module.id.includes('/routes/') || module.id.includes('/routers/') || module.id.includes('/controllers/') || module.id.match(/controller\.(js|ts)$/) || module.id.match(/route\.(js|ts|gts)$/);
88
+ let ok = module.id.includes('/routes/') || module.id.includes('/routers/') || module.id.includes('/controllers/') || module.id.includes('/templates/') || module.id.match(/controller\.(js|ts)$/) || module.id.match(/route\.(js|ts|gts)$/);
89
89
  if (!ok) {
90
90
  return false;
91
91
  }
92
+ if (module.id.includes('templates') && module.id.includes('components')) {
93
+ return false;
94
+ }
92
95
  if (ModuleMap.get(module.id)) {
93
96
  this.changed[module.id] = {
94
97
  old: ModuleMap.get(module.id),
@@ -153,7 +156,7 @@ let ViteHotReloadService = (_dec = service(), (_class = class ViteHotReloadServi
153
156
  if (oldModule.exports.default?.prototype && oldModule.exports.default.prototype instanceof Controller) {
154
157
  changed = true;
155
158
  }
156
- if (oldModule.id.startsWith('./templates/') && !oldModule.id.startsWith('./templates/components/')) {
159
+ if (oldModule.id.startsWith('app/templates/') && !oldModule.id.startsWith('app/templates/components/')) {
157
160
  changed = true;
158
161
  }
159
162
  if (oldModule.id.startsWith(`./${podModulePrefix}/`)) {
@@ -193,7 +196,7 @@ let ViteHotReloadService = (_dec = service(), (_class = class ViteHotReloadServi
193
196
  if (oldModule.exports.default?.prototype && oldModule.exports.default.prototype instanceof Controller) {
194
197
  this.router.refresh();
195
198
  }
196
- if (oldModule.id.startsWith('./templates/') && !oldModule.id.startsWith('./templates/components/')) {
199
+ if (oldModule.id.startsWith('app/templates/') && !oldModule.id.startsWith('app/templates/components/')) {
197
200
  this.router.refresh();
198
201
  }
199
202
  if (oldModule.id.startsWith(`./${podModulePrefix}/`)) {
@@ -1 +1 @@
1
- {"version":3,"file":"vite-hot-reload.js","sources":["../../src/services/vite-hot-reload.ts"],"sourcesContent":["import Service, { service } from '@ember/service';\nimport { getOwner } from '@ember/owner';\nimport RouterService from '@ember/routing/router-service';\nimport Router from '@ember/routing/route';\nimport Controller from '@ember/controller';\nimport ApplicationInstance from '@ember/application/instance';\n\nconst ChangeMap = new WeakMap();\n\nfunction getLatestChange(obj: any) {\n while (ChangeMap.has(obj)) {\n obj = ChangeMap.get(obj);\n }\n return obj;\n}\n\nlet modulePrefix!: string;\nlet podModulePrefix!: string;\nif (import.meta.hot) {\n const ModuleMap = new Map();\n\n window.emberHotReloadPlugin = {\n _accepting: 0,\n changed: {},\n subscribers: [],\n version: 1,\n routerVersion: 1,\n moduleDepCallbacks: {},\n versionMap: {},\n\n clear(module: Module) {\n this.moduleDepCallbacks[module.id] = {};\n },\n register(module: Module, dep: string, callback: Function) {\n dep = dep.replace(new RegExp(`^${modulePrefix}/`), './');\n this.moduleDepCallbacks[module.id]![dep] =\n this.moduleDepCallbacks[module.id]![dep] || ([] as Function[]);\n this.moduleDepCallbacks[module.id]![dep]!.push(callback);\n },\n loadNew(oldModule: Module, newModule: Module) {\n this.versionMap[newModule.id] = newModule.version;\n const entry = Object.values(\n requirejs.entries as Record<string, ReqJSEntry>,\n ).find(\n (module) => module.module.exports.default === oldModule.exports.default,\n );\n if (!entry) return;\n entry.module = {\n id: newModule.id,\n exports: newModule.exports,\n version: newModule.version,\n };\n },\n\n __import(moduleUrl: string) {\n return import(/* @vite-ignore */ moduleUrl);\n },\n\n async canAcceptNew(moduleUrl: string) {\n this._accepting += 1;\n const m = await this.__import(moduleUrl);\n const module: Module = {\n exports: m,\n id: moduleUrl.split('?')[0]!,\n version: 0,\n };\n this._accepting -= 1;\n if (this._accepting === 0) {\n setTimeout(() => this.notifyNew(), 0);\n }\n let ok =\n module.id.includes('/routes/') ||\n module.id.includes('/routers/') ||\n module.id.includes('/controllers/') ||\n module.id.match(/controller\\.(js|ts)$/) ||\n module.id.match(/route\\.(js|ts|gts)$/);\n if (!ok) {\n return false;\n }\n\n if (ModuleMap.get(module.id)) {\n this.changed[module.id] = {\n old: ModuleMap.get(module.id),\n new: module,\n };\n }\n module.version = this.version;\n ModuleMap.set(module.id, module);\n return true;\n },\n notifyNew() {\n this.version += 1;\n Object.values(this.changed).forEach((change) => {\n this.loadNew(change.old, change.new);\n this.subscribers.forEach((fn: any) => fn(change.old, change.new));\n });\n this.changed = {};\n },\n subscribe(fn) {\n this.subscribers.push(fn);\n },\n unsubscribe(fn) {\n const idx = this.subscribers.indexOf(fn);\n if (idx >= 0) {\n this.subscribers.splice(idx, 1);\n }\n },\n };\n}\n\nexport default class ViteHotReloadService extends Service {\n declare container: any;\n @service() router!: RouterService;\n\n init(args: any) {\n super.init(args);\n if (!window.emberHotReloadPlugin) return;\n const app = (getOwner(this) as ApplicationInstance)!.application as any;\n modulePrefix = app.modulePrefix;\n podModulePrefix = app.podModulePrefix;\n this.router._router;\n Object.defineProperty(this.router._router, '_routerMicrolib', {\n set(v) {\n const getRoute = v.getRoute;\n v.getRoute = function (name: string) {\n const route = getRoute.call(\n this,\n `${name}--hot-version--${window.emberHotReloadPlugin.routerVersion}`,\n );\n route.fullRouteName = `route:${name}`.replace(\n /--hot-version--.*$/,\n '',\n );\n return route;\n };\n this.___routerMicrolib = v;\n },\n get() {\n return this.___routerMicrolib;\n },\n });\n this.container = (getOwner(this) as any)?.__container__;\n window.emberHotReloadPlugin.subscribe((oldModule, newModule) => {\n let changed = false;\n if (oldModule.exports.default?.prototype && oldModule.exports.default.prototype instanceof Router) {\n changed = true;\n }\n if (oldModule.exports.default?.prototype && oldModule.exports.default.prototype instanceof Controller) {\n changed = true;\n }\n if (oldModule.id.startsWith('./templates/') && !oldModule.id.startsWith('./templates/components/')) {\n changed = true;\n }\n if (oldModule.id.startsWith(`./${podModulePrefix}/`)) {\n changed = true;\n }\n if (!changed) return;\n window.emberHotReloadPlugin.routerVersion += 1;\n const types = [\n 'route',\n 'controller',\n 'template',\n 'modifier',\n 'helper',\n 'component',\n ];\n Object.keys(this.container.cache).forEach((k) => {\n if (types.some((t) => k.startsWith(`${t}:`))) {\n delete this.container.cache[k];\n }\n });\n Object.keys(this.container.factoryManagerCache).forEach((k) => {\n if (types.some((t) => k.startsWith(`${t}:`))) {\n delete this.container.factoryManagerCache[k];\n }\n });\n Object.keys(this.container.registry._resolveCache).forEach((k) => {\n if (types.some((t) => k.startsWith(`${t}:`))) {\n delete this.container.registry._resolveCache[k];\n }\n });\n Object.keys(this.container.validationCache).forEach((k) => {\n if (types.some((t) => k.startsWith(`${t}:`))) {\n delete this.container.validationCache[k];\n }\n });\n Object.keys(this.container.registry.registrations).forEach((k) => {\n if (types.some((t) => k.startsWith(`${t}:`))) {\n delete this.container.registry.registrations[k];\n }\n });\n if (\n oldModule.exports.default?.prototype &&\n oldModule.exports.default.prototype instanceof Router\n ) {\n this.router.refresh();\n }\n if (\n oldModule.exports.default?.prototype &&\n oldModule.exports.default.prototype instanceof Controller\n ) {\n this.router.refresh();\n }\n if (\n oldModule.id.startsWith('./templates/') &&\n !oldModule.id.startsWith('./templates/components/')\n ) {\n this.router.refresh();\n }\n if (oldModule.id.startsWith(`./${podModulePrefix}/`)) {\n this.router.refresh();\n }\n });\n }\n getLatestChange(obj: any) {\n return getLatestChange(obj);\n }\n}\n\n// Don't remove this declaration: this is what enables TypeScript to resolve\n// this service using `Owner.lookup('service:hot-reload')`, as well\n// as to check when you pass the service name as an argument to the decorator,\n// like `@service('hot-reload') declare altName: HotReloadService;`.\ndeclare module '@ember/service' {\n interface Registry {\n 'hot-reload': ViteHotReloadService;\n }\n}\n"],"names":["ChangeMap","WeakMap","getLatestChange","obj","has","get","modulePrefix","podModulePrefix","import","meta","hot","ModuleMap","Map","window","emberHotReloadPlugin","_accepting","changed","subscribers","version","routerVersion","moduleDepCallbacks","versionMap","clear","module","id","register","dep","callback","replace","RegExp","push","loadNew","oldModule","newModule","entry","Object","values","requirejs","entries","find","exports","default","__import","moduleUrl","canAcceptNew","m","split","setTimeout","notifyNew","ok","includes","match","old","new","set","forEach","change","fn","subscribe","unsubscribe","idx","indexOf","splice","ViteHotReloadService","_dec","service","_class","Service","constructor","args","_initializerDefineProperty","_descriptor","init","app","getOwner","application","router","_router","defineProperty","v","getRoute","name","route","call","fullRouteName","___routerMicrolib","container","__container__","prototype","Router","Controller","startsWith","types","keys","cache","k","some","t","factoryManagerCache","registry","_resolveCache","validationCache","registrations","refresh","_applyDecoratedDescriptor","configurable","enumerable","writable","initializer"],"mappings":"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"}
1
+ {"version":3,"file":"vite-hot-reload.js","sources":["../../src/services/vite-hot-reload.ts"],"sourcesContent":["import Service, { service } from '@ember/service';\nimport { getOwner } from '@ember/owner';\nimport RouterService from '@ember/routing/router-service';\nimport Router from '@ember/routing/route';\nimport Controller from '@ember/controller';\nimport ApplicationInstance from '@ember/application/instance';\n\nconst ChangeMap = new WeakMap();\n\nfunction getLatestChange(obj: any) {\n while (ChangeMap.has(obj)) {\n obj = ChangeMap.get(obj);\n }\n return obj;\n}\n\nlet modulePrefix!: string;\nlet podModulePrefix!: string;\nif (import.meta.hot) {\n const ModuleMap = new Map();\n\n window.emberHotReloadPlugin = {\n _accepting: 0,\n changed: {},\n subscribers: [],\n version: 1,\n routerVersion: 1,\n moduleDepCallbacks: {},\n versionMap: {},\n\n clear(module: Module) {\n this.moduleDepCallbacks[module.id] = {};\n },\n register(module: Module, dep: string, callback: Function) {\n dep = dep.replace(new RegExp(`^${modulePrefix}/`), './');\n this.moduleDepCallbacks[module.id]![dep] =\n this.moduleDepCallbacks[module.id]![dep] || ([] as Function[]);\n this.moduleDepCallbacks[module.id]![dep]!.push(callback);\n },\n loadNew(oldModule: Module, newModule: Module) {\n this.versionMap[newModule.id] = newModule.version;\n const entry = Object.values(\n requirejs.entries as Record<string, ReqJSEntry>,\n ).find(\n (module) => module.module.exports.default === oldModule.exports.default,\n );\n if (!entry) return;\n entry.module = {\n id: newModule.id,\n exports: newModule.exports,\n version: newModule.version,\n };\n },\n\n __import(moduleUrl: string) {\n return import(/* @vite-ignore */ moduleUrl);\n },\n\n async canAcceptNew(moduleUrl: string) {\n this._accepting += 1;\n const m = await this.__import(moduleUrl);\n const module: Module = {\n exports: m,\n id: moduleUrl.split('?')[0]!.replace(/http:\\/\\/.*:[^\\/]*\\//, ''),\n version: 0,\n };\n this._accepting -= 1;\n if (this._accepting === 0) {\n setTimeout(() => this.notifyNew(), 0);\n }\n let ok =\n module.id.includes('/routes/') ||\n module.id.includes('/routers/') ||\n module.id.includes('/controllers/') ||\n module.id.includes('/templates/') ||\n module.id.match(/controller\\.(js|ts)$/) ||\n module.id.match(/route\\.(js|ts|gts)$/);\n if (!ok) {\n return false;\n }\n\n if (module.id.includes('templates') && module.id.includes('components')) {\n return false;\n }\n\n if (ModuleMap.get(module.id)) {\n this.changed[module.id] = {\n old: ModuleMap.get(module.id),\n new: module,\n };\n }\n module.version = this.version;\n ModuleMap.set(module.id, module);\n return true;\n },\n notifyNew() {\n this.version += 1;\n Object.values(this.changed).forEach((change) => {\n this.loadNew(change.old, change.new);\n this.subscribers.forEach((fn: any) => fn(change.old, change.new));\n });\n this.changed = {};\n },\n subscribe(fn) {\n this.subscribers.push(fn);\n },\n unsubscribe(fn) {\n const idx = this.subscribers.indexOf(fn);\n if (idx >= 0) {\n this.subscribers.splice(idx, 1);\n }\n },\n };\n}\n\nexport default class ViteHotReloadService extends Service {\n declare container: any;\n @service() router!: RouterService;\n\n init(args: any) {\n super.init(args);\n if (!window.emberHotReloadPlugin) return;\n const app = (getOwner(this) as ApplicationInstance)!.application as any;\n modulePrefix = app.modulePrefix;\n podModulePrefix = app.podModulePrefix;\n this.router._router;\n Object.defineProperty(this.router._router, '_routerMicrolib', {\n set(v) {\n const getRoute = v.getRoute;\n v.getRoute = function (name: string) {\n const route = getRoute.call(\n this,\n `${name}--hot-version--${window.emberHotReloadPlugin.routerVersion}`,\n );\n route.fullRouteName = `route:${name}`.replace(\n /--hot-version--.*$/,\n '',\n );\n return route;\n };\n this.___routerMicrolib = v;\n },\n get() {\n return this.___routerMicrolib;\n },\n });\n this.container = (getOwner(this) as any)?.__container__;\n window.emberHotReloadPlugin.subscribe((oldModule, newModule) => {\n let changed = false;\n if (\n oldModule.exports.default?.prototype &&\n oldModule.exports.default.prototype instanceof Router\n ) {\n changed = true;\n }\n if (\n oldModule.exports.default?.prototype &&\n oldModule.exports.default.prototype instanceof Controller\n ) {\n changed = true;\n }\n if (\n oldModule.id.startsWith('app/templates/') &&\n !oldModule.id.startsWith('app/templates/components/')\n ) {\n changed = true;\n }\n if (oldModule.id.startsWith(`./${podModulePrefix}/`)) {\n changed = true;\n }\n if (!changed) return;\n window.emberHotReloadPlugin.routerVersion += 1;\n const types = [\n 'route',\n 'controller',\n 'template',\n 'modifier',\n 'helper',\n 'component',\n ];\n Object.keys(this.container.cache).forEach((k) => {\n if (types.some((t) => k.startsWith(`${t}:`))) {\n delete this.container.cache[k];\n }\n });\n Object.keys(this.container.factoryManagerCache).forEach((k) => {\n if (types.some((t) => k.startsWith(`${t}:`))) {\n delete this.container.factoryManagerCache[k];\n }\n });\n Object.keys(this.container.registry._resolveCache).forEach((k) => {\n if (types.some((t) => k.startsWith(`${t}:`))) {\n delete this.container.registry._resolveCache[k];\n }\n });\n Object.keys(this.container.validationCache).forEach((k) => {\n if (types.some((t) => k.startsWith(`${t}:`))) {\n delete this.container.validationCache[k];\n }\n });\n Object.keys(this.container.registry.registrations).forEach((k) => {\n if (types.some((t) => k.startsWith(`${t}:`))) {\n delete this.container.registry.registrations[k];\n }\n });\n if (\n oldModule.exports.default?.prototype &&\n oldModule.exports.default.prototype instanceof Router\n ) {\n this.router.refresh();\n }\n if (\n oldModule.exports.default?.prototype &&\n oldModule.exports.default.prototype instanceof Controller\n ) {\n this.router.refresh();\n }\n if (\n oldModule.id.startsWith('app/templates/') &&\n !oldModule.id.startsWith('app/templates/components/')\n ) {\n this.router.refresh();\n }\n if (oldModule.id.startsWith(`./${podModulePrefix}/`)) {\n this.router.refresh();\n }\n });\n }\n getLatestChange(obj: any) {\n return getLatestChange(obj);\n }\n}\n\n// Don't remove this declaration: this is what enables TypeScript to resolve\n// this service using `Owner.lookup('service:hot-reload')`, as well\n// as to check when you pass the service name as an argument to the decorator,\n// like `@service('hot-reload') declare altName: HotReloadService;`.\ndeclare module '@ember/service' {\n interface Registry {\n 'hot-reload': ViteHotReloadService;\n }\n}\n"],"names":["ChangeMap","WeakMap","getLatestChange","obj","has","get","modulePrefix","podModulePrefix","import","meta","hot","ModuleMap","Map","window","emberHotReloadPlugin","_accepting","changed","subscribers","version","routerVersion","moduleDepCallbacks","versionMap","clear","module","id","register","dep","callback","replace","RegExp","push","loadNew","oldModule","newModule","entry","Object","values","requirejs","entries","find","exports","default","__import","moduleUrl","canAcceptNew","m","split","setTimeout","notifyNew","ok","includes","match","old","new","set","forEach","change","fn","subscribe","unsubscribe","idx","indexOf","splice","ViteHotReloadService","_dec","service","_class","Service","constructor","args","_initializerDefineProperty","_descriptor","init","app","getOwner","application","router","_router","defineProperty","v","getRoute","name","route","call","fullRouteName","___routerMicrolib","container","__container__","prototype","Router","Controller","startsWith","types","keys","cache","k","some","t","factoryManagerCache","registry","_resolveCache","validationCache","registrations","refresh","_applyDecoratedDescriptor","configurable","enumerable","writable","initializer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAMA,SAAS,GAAG,IAAIC,OAAO,EAAE,CAAA;AAE/B,SAASC,eAAeA,CAACC,GAAQ,EAAE;AACjC,EAAA,OAAOH,SAAS,CAACI,GAAG,CAACD,GAAG,CAAC,EAAE;AACzBA,IAAAA,GAAG,GAAGH,SAAS,CAACK,GAAG,CAACF,GAAG,CAAC,CAAA;AAC1B,GAAA;AACA,EAAA,OAAOA,GAAG,CAAA;AACZ,CAAA;AAEA,IAAIG,YAAqB,CAAA;AACzB,IAAIC,eAAwB,CAAA;AAC5B,IAAIC,MAAM,CAACC,IAAI,CAACC,GAAG,EAAE;AACnB,EAAA,MAAMC,SAAS,GAAG,IAAIC,GAAG,EAAE,CAAA;EAE3BC,MAAM,CAACC,oBAAoB,GAAG;AAC5BC,IAAAA,UAAU,EAAE,CAAC;IACbC,OAAO,EAAE,EAAE;AACXC,IAAAA,WAAW,EAAE,EAAE;AACfC,IAAAA,OAAO,EAAE,CAAC;AACVC,IAAAA,aAAa,EAAE,CAAC;IAChBC,kBAAkB,EAAE,EAAE;IACtBC,UAAU,EAAE,EAAE;IAEdC,KAAKA,CAACC,MAAc,EAAE;MACpB,IAAI,CAACH,kBAAkB,CAACG,MAAM,CAACC,EAAE,CAAC,GAAG,EAAE,CAAA;KACxC;AACDC,IAAAA,QAAQA,CAACF,MAAc,EAAEG,GAAW,EAAEC,QAAkB,EAAE;AACxDD,MAAAA,GAAG,GAAGA,GAAG,CAACE,OAAO,CAAC,IAAIC,MAAM,CAAE,CAAA,CAAA,EAAGvB,YAAa,CAAA,CAAA,CAAE,CAAC,EAAE,IAAI,CAAC,CAAA;MACxD,IAAI,CAACc,kBAAkB,CAACG,MAAM,CAACC,EAAE,CAAC,CAAEE,GAAG,CAAC,GACtC,IAAI,CAACN,kBAAkB,CAACG,MAAM,CAACC,EAAE,CAAC,CAAEE,GAAG,CAAC,IAAK,EAAiB,CAAA;AAChE,MAAA,IAAI,CAACN,kBAAkB,CAACG,MAAM,CAACC,EAAE,CAAC,CAAEE,GAAG,CAAC,CAAEI,IAAI,CAACH,QAAQ,CAAC,CAAA;KACzD;AACDI,IAAAA,OAAOA,CAACC,SAAiB,EAAEC,SAAiB,EAAE;MAC5C,IAAI,CAACZ,UAAU,CAACY,SAAS,CAACT,EAAE,CAAC,GAAGS,SAAS,CAACf,OAAO,CAAA;AACjD,MAAA,MAAMgB,KAAK,GAAGC,MAAM,CAACC,MAAM,CACzBC,SAAS,CAACC,OACZ,CAAC,CAACC,IAAI,CACHhB,MAAM,IAAKA,MAAM,CAACA,MAAM,CAACiB,OAAO,CAACC,OAAO,KAAKT,SAAS,CAACQ,OAAO,CAACC,OAClE,CAAC,CAAA;MACD,IAAI,CAACP,KAAK,EAAE,OAAA;MACZA,KAAK,CAACX,MAAM,GAAG;QACbC,EAAE,EAAES,SAAS,CAACT,EAAE;QAChBgB,OAAO,EAAEP,SAAS,CAACO,OAAO;QAC1BtB,OAAO,EAAEe,SAAS,CAACf,OAAAA;OACpB,CAAA;KACF;IAEDwB,QAAQA,CAACC,SAAiB,EAAE;AAC1B,MAAA,OAAO,0BAA0BA,SAAS,CAAC,CAAA;KAC5C;IAED,MAAMC,YAAYA,CAACD,SAAiB,EAAE;MACpC,IAAI,CAAC5B,UAAU,IAAI,CAAC,CAAA;MACpB,MAAM8B,CAAC,GAAG,MAAM,IAAI,CAACH,QAAQ,CAACC,SAAS,CAAC,CAAA;AACxC,MAAA,MAAMpB,MAAc,GAAG;AACrBiB,QAAAA,OAAO,EAAEK,CAAC;AACVrB,QAAAA,EAAE,EAAEmB,SAAS,CAACG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAElB,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC;AAChEV,QAAAA,OAAO,EAAE,CAAA;OACV,CAAA;MACD,IAAI,CAACH,UAAU,IAAI,CAAC,CAAA;AACpB,MAAA,IAAI,IAAI,CAACA,UAAU,KAAK,CAAC,EAAE;QACzBgC,UAAU,CAAC,MAAM,IAAI,CAACC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAA;AACvC,OAAA;MACA,IAAIC,EAAE,GACJ1B,MAAM,CAACC,EAAE,CAAC0B,QAAQ,CAAC,UAAU,CAAC,IAC9B3B,MAAM,CAACC,EAAE,CAAC0B,QAAQ,CAAC,WAAW,CAAC,IAC/B3B,MAAM,CAACC,EAAE,CAAC0B,QAAQ,CAAC,eAAe,CAAC,IACnC3B,MAAM,CAACC,EAAE,CAAC0B,QAAQ,CAAC,aAAa,CAAC,IACjC3B,MAAM,CAACC,EAAE,CAAC2B,KAAK,CAAC,sBAAsB,CAAC,IACvC5B,MAAM,CAACC,EAAE,CAAC2B,KAAK,CAAC,qBAAqB,CAAC,CAAA;MACxC,IAAI,CAACF,EAAE,EAAE;AACP,QAAA,OAAO,KAAK,CAAA;AACd,OAAA;AAEA,MAAA,IAAI1B,MAAM,CAACC,EAAE,CAAC0B,QAAQ,CAAC,WAAW,CAAC,IAAI3B,MAAM,CAACC,EAAE,CAAC0B,QAAQ,CAAC,YAAY,CAAC,EAAE;AACvE,QAAA,OAAO,KAAK,CAAA;AACd,OAAA;MAEA,IAAIvC,SAAS,CAACN,GAAG,CAACkB,MAAM,CAACC,EAAE,CAAC,EAAE;AAC5B,QAAA,IAAI,CAACR,OAAO,CAACO,MAAM,CAACC,EAAE,CAAC,GAAG;UACxB4B,GAAG,EAAEzC,SAAS,CAACN,GAAG,CAACkB,MAAM,CAACC,EAAE,CAAC;AAC7B6B,UAAAA,GAAG,EAAE9B,MAAAA;SACN,CAAA;AACH,OAAA;AACAA,MAAAA,MAAM,CAACL,OAAO,GAAG,IAAI,CAACA,OAAO,CAAA;MAC7BP,SAAS,CAAC2C,GAAG,CAAC/B,MAAM,CAACC,EAAE,EAAED,MAAM,CAAC,CAAA;AAChC,MAAA,OAAO,IAAI,CAAA;KACZ;AACDyB,IAAAA,SAASA,GAAG;MACV,IAAI,CAAC9B,OAAO,IAAI,CAAC,CAAA;MACjBiB,MAAM,CAACC,MAAM,CAAC,IAAI,CAACpB,OAAO,CAAC,CAACuC,OAAO,CAAEC,MAAM,IAAK;QAC9C,IAAI,CAACzB,OAAO,CAACyB,MAAM,CAACJ,GAAG,EAAEI,MAAM,CAACH,GAAG,CAAC,CAAA;AACpC,QAAA,IAAI,CAACpC,WAAW,CAACsC,OAAO,CAAEE,EAAO,IAAKA,EAAE,CAACD,MAAM,CAACJ,GAAG,EAAEI,MAAM,CAACH,GAAG,CAAC,CAAC,CAAA;AACnE,OAAC,CAAC,CAAA;AACF,MAAA,IAAI,CAACrC,OAAO,GAAG,EAAE,CAAA;KAClB;IACD0C,SAASA,CAACD,EAAE,EAAE;AACZ,MAAA,IAAI,CAACxC,WAAW,CAACa,IAAI,CAAC2B,EAAE,CAAC,CAAA;KAC1B;IACDE,WAAWA,CAACF,EAAE,EAAE;MACd,MAAMG,GAAG,GAAG,IAAI,CAAC3C,WAAW,CAAC4C,OAAO,CAACJ,EAAE,CAAC,CAAA;MACxC,IAAIG,GAAG,IAAI,CAAC,EAAE;QACZ,IAAI,CAAC3C,WAAW,CAAC6C,MAAM,CAACF,GAAG,EAAE,CAAC,CAAC,CAAA;AACjC,OAAA;AACF,KAAA;GACD,CAAA;AACH,CAAA;AAAC,IAEoBG,oBAAoB,IAAAC,IAAA,GAEtCC,OAAO,EAAE,GAAAC,MAAA,GAFG,MAAMH,oBAAoB,SAASI,OAAO,CAAC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AAAAC,IAAAA,0BAAA,iBAAAC,WAAA,EAAA,IAAA,CAAA,CAAA;AAAA,GAAA;EAIxDC,IAAIA,CAACH,IAAS,EAAE;AACd,IAAA,KAAK,CAACG,IAAI,CAACH,IAAI,CAAC,CAAA;AAChB,IAAA,IAAI,CAACxD,MAAM,CAACC,oBAAoB,EAAE,OAAA;AAClC,IAAA,MAAM2D,GAAG,GAAIC,QAAQ,CAAC,IAAI,CAAC,CAA0BC,WAAkB,CAAA;IACvErE,YAAY,GAAGmE,GAAG,CAACnE,YAAY,CAAA;IAC/BC,eAAe,GAAGkE,GAAG,CAAClE,eAAe,CAAA;IACrC,IAAI,CAACqE,MAAM,CAACC,OAAO,CAAA;IACnB1C,MAAM,CAAC2C,cAAc,CAAC,IAAI,CAACF,MAAM,CAACC,OAAO,EAAE,iBAAiB,EAAE;MAC5DvB,GAAGA,CAACyB,CAAC,EAAE;AACL,QAAA,MAAMC,QAAQ,GAAGD,CAAC,CAACC,QAAQ,CAAA;AAC3BD,QAAAA,CAAC,CAACC,QAAQ,GAAG,UAAUC,IAAY,EAAE;AACnC,UAAA,MAAMC,KAAK,GAAGF,QAAQ,CAACG,IAAI,CACzB,IAAI,EACH,CAAEF,EAAAA,IAAK,kBAAiBpE,MAAM,CAACC,oBAAoB,CAACK,aAAc,EACrE,CAAC,CAAA;AACD+D,UAAAA,KAAK,CAACE,aAAa,GAAI,CAAA,MAAA,EAAQH,IAAK,CAAA,CAAC,CAACrD,OAAO,CAC3C,oBAAoB,EACpB,EACF,CAAC,CAAA;AACD,UAAA,OAAOsD,KAAK,CAAA;SACb,CAAA;QACD,IAAI,CAACG,iBAAiB,GAAGN,CAAC,CAAA;OAC3B;AACD1E,MAAAA,GAAGA,GAAG;QACJ,OAAO,IAAI,CAACgF,iBAAiB,CAAA;AAC/B,OAAA;AACF,KAAC,CAAC,CAAA;IACF,IAAI,CAACC,SAAS,GAAIZ,QAAQ,CAAC,IAAI,CAAC,EAAUa,aAAa,CAAA;IACvD1E,MAAM,CAACC,oBAAoB,CAAC4C,SAAS,CAAC,CAAC1B,SAAS,EAAEC,SAAS,KAAK;MAC9D,IAAIjB,OAAO,GAAG,KAAK,CAAA;AACnB,MAAA,IACEgB,SAAS,CAACQ,OAAO,CAACC,OAAO,EAAE+C,SAAS,IACpCxD,SAAS,CAACQ,OAAO,CAACC,OAAO,CAAC+C,SAAS,YAAYC,MAAM,EACrD;AACAzE,QAAAA,OAAO,GAAG,IAAI,CAAA;AAChB,OAAA;AACA,MAAA,IACEgB,SAAS,CAACQ,OAAO,CAACC,OAAO,EAAE+C,SAAS,IACpCxD,SAAS,CAACQ,OAAO,CAACC,OAAO,CAAC+C,SAAS,YAAYE,UAAU,EACzD;AACA1E,QAAAA,OAAO,GAAG,IAAI,CAAA;AAChB,OAAA;AACA,MAAA,IACEgB,SAAS,CAACR,EAAE,CAACmE,UAAU,CAAC,gBAAgB,CAAC,IACzC,CAAC3D,SAAS,CAACR,EAAE,CAACmE,UAAU,CAAC,2BAA2B,CAAC,EACrD;AACA3E,QAAAA,OAAO,GAAG,IAAI,CAAA;AAChB,OAAA;MACA,IAAIgB,SAAS,CAACR,EAAE,CAACmE,UAAU,CAAE,CAAIpF,EAAAA,EAAAA,eAAgB,CAAE,CAAA,CAAA,CAAC,EAAE;AACpDS,QAAAA,OAAO,GAAG,IAAI,CAAA;AAChB,OAAA;MACA,IAAI,CAACA,OAAO,EAAE,OAAA;AACdH,MAAAA,MAAM,CAACC,oBAAoB,CAACK,aAAa,IAAI,CAAC,CAAA;AAC9C,MAAA,MAAMyE,KAAK,GAAG,CACZ,OAAO,EACP,YAAY,EACZ,UAAU,EACV,UAAU,EACV,QAAQ,EACR,WAAW,CACZ,CAAA;AACDzD,MAAAA,MAAM,CAAC0D,IAAI,CAAC,IAAI,CAACP,SAAS,CAACQ,KAAK,CAAC,CAACvC,OAAO,CAAEwC,CAAC,IAAK;AAC/C,QAAA,IAAIH,KAAK,CAACI,IAAI,CAAEC,CAAC,IAAKF,CAAC,CAACJ,UAAU,CAAE,CAAEM,EAAAA,CAAE,CAAE,CAAA,CAAA,CAAC,CAAC,EAAE;AAC5C,UAAA,OAAO,IAAI,CAACX,SAAS,CAACQ,KAAK,CAACC,CAAC,CAAC,CAAA;AAChC,SAAA;AACF,OAAC,CAAC,CAAA;AACF5D,MAAAA,MAAM,CAAC0D,IAAI,CAAC,IAAI,CAACP,SAAS,CAACY,mBAAmB,CAAC,CAAC3C,OAAO,CAAEwC,CAAC,IAAK;AAC7D,QAAA,IAAIH,KAAK,CAACI,IAAI,CAAEC,CAAC,IAAKF,CAAC,CAACJ,UAAU,CAAE,CAAEM,EAAAA,CAAE,CAAE,CAAA,CAAA,CAAC,CAAC,EAAE;AAC5C,UAAA,OAAO,IAAI,CAACX,SAAS,CAACY,mBAAmB,CAACH,CAAC,CAAC,CAAA;AAC9C,SAAA;AACF,OAAC,CAAC,CAAA;AACF5D,MAAAA,MAAM,CAAC0D,IAAI,CAAC,IAAI,CAACP,SAAS,CAACa,QAAQ,CAACC,aAAa,CAAC,CAAC7C,OAAO,CAAEwC,CAAC,IAAK;AAChE,QAAA,IAAIH,KAAK,CAACI,IAAI,CAAEC,CAAC,IAAKF,CAAC,CAACJ,UAAU,CAAE,CAAEM,EAAAA,CAAE,CAAE,CAAA,CAAA,CAAC,CAAC,EAAE;UAC5C,OAAO,IAAI,CAACX,SAAS,CAACa,QAAQ,CAACC,aAAa,CAACL,CAAC,CAAC,CAAA;AACjD,SAAA;AACF,OAAC,CAAC,CAAA;AACF5D,MAAAA,MAAM,CAAC0D,IAAI,CAAC,IAAI,CAACP,SAAS,CAACe,eAAe,CAAC,CAAC9C,OAAO,CAAEwC,CAAC,IAAK;AACzD,QAAA,IAAIH,KAAK,CAACI,IAAI,CAAEC,CAAC,IAAKF,CAAC,CAACJ,UAAU,CAAE,CAAEM,EAAAA,CAAE,CAAE,CAAA,CAAA,CAAC,CAAC,EAAE;AAC5C,UAAA,OAAO,IAAI,CAACX,SAAS,CAACe,eAAe,CAACN,CAAC,CAAC,CAAA;AAC1C,SAAA;AACF,OAAC,CAAC,CAAA;AACF5D,MAAAA,MAAM,CAAC0D,IAAI,CAAC,IAAI,CAACP,SAAS,CAACa,QAAQ,CAACG,aAAa,CAAC,CAAC/C,OAAO,CAAEwC,CAAC,IAAK;AAChE,QAAA,IAAIH,KAAK,CAACI,IAAI,CAAEC,CAAC,IAAKF,CAAC,CAACJ,UAAU,CAAE,CAAEM,EAAAA,CAAE,CAAE,CAAA,CAAA,CAAC,CAAC,EAAE;UAC5C,OAAO,IAAI,CAACX,SAAS,CAACa,QAAQ,CAACG,aAAa,CAACP,CAAC,CAAC,CAAA;AACjD,SAAA;AACF,OAAC,CAAC,CAAA;AACF,MAAA,IACE/D,SAAS,CAACQ,OAAO,CAACC,OAAO,EAAE+C,SAAS,IACpCxD,SAAS,CAACQ,OAAO,CAACC,OAAO,CAAC+C,SAAS,YAAYC,MAAM,EACrD;AACA,QAAA,IAAI,CAACb,MAAM,CAAC2B,OAAO,EAAE,CAAA;AACvB,OAAA;AACA,MAAA,IACEvE,SAAS,CAACQ,OAAO,CAACC,OAAO,EAAE+C,SAAS,IACpCxD,SAAS,CAACQ,OAAO,CAACC,OAAO,CAAC+C,SAAS,YAAYE,UAAU,EACzD;AACA,QAAA,IAAI,CAACd,MAAM,CAAC2B,OAAO,EAAE,CAAA;AACvB,OAAA;AACA,MAAA,IACEvE,SAAS,CAACR,EAAE,CAACmE,UAAU,CAAC,gBAAgB,CAAC,IACzC,CAAC3D,SAAS,CAACR,EAAE,CAACmE,UAAU,CAAC,2BAA2B,CAAC,EACrD;AACA,QAAA,IAAI,CAACf,MAAM,CAAC2B,OAAO,EAAE,CAAA;AACvB,OAAA;MACA,IAAIvE,SAAS,CAACR,EAAE,CAACmE,UAAU,CAAE,CAAIpF,EAAAA,EAAAA,eAAgB,CAAE,CAAA,CAAA,CAAC,EAAE;AACpD,QAAA,IAAI,CAACqE,MAAM,CAAC2B,OAAO,EAAE,CAAA;AACvB,OAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAA;EACArG,eAAeA,CAACC,GAAQ,EAAE;IACxB,OAAOD,eAAe,CAACC,GAAG,CAAC,CAAA;AAC7B,GAAA;AACF,CAAC,GAAAoE,WAAA,GAAAiC,yBAAA,CAAAtC,MAAA,CAAAsB,SAAA,EAAA,QAAA,EAAA,CAAAxB,IAAA,CAAA,EAAA;EAAAyC,YAAA,EAAA,IAAA;EAAAC,UAAA,EAAA,IAAA;EAAAC,QAAA,EAAA,IAAA;EAAAC,WAAA,EAAA,IAAA;AAAA,CAAA,CAAA,GAAA1C,MAAA,CAAA,EAAA;AAGD;AACA;AACA;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ember-vite-hmr",
3
- "version": "1.4.17",
3
+ "version": "1.4.18",
4
4
  "keywords": [
5
5
  "ember-addon"
6
6
  ],
@@ -34,7 +34,7 @@
34
34
  "start": "concurrently 'npm:start:*'",
35
35
  "start:js": "rollup --config --watch --no-watch.clearScreen",
36
36
  "start:types": "glint --declaration --watch",
37
- "test": "vitest --run",
37
+ "test": "vitest run",
38
38
  "prepack": "pnpm build || echo 'its okay'"
39
39
  },
40
40
  "dependencies": {
@@ -42,7 +42,7 @@
42
42
  "@babel/plugin-transform-typescript": "^7.22.15",
43
43
  "@babel/traverse": "^7.23.2",
44
44
  "@babel/types": "^7.24.0",
45
- "@embroider/addon-shim": "^1.0.0",
45
+ "@embroider/addon-shim": "^1.8.9",
46
46
  "@glimmer/syntax": "^0.88.1",
47
47
  "@types/supports-color": "^8.1.0",
48
48
  "babel-import-util": "^2.0.1",
@@ -51,16 +51,6 @@
51
51
  "semver": "^7.3.5"
52
52
  },
53
53
  "devDependencies": {
54
- "assert-never": "^1.2.1",
55
- "content-tag": "^2.0.1",
56
- "source-map-url": "^0.4.1",
57
- "style-loader": "^4.0.0",
58
- "supports-color": "^9.4.0",
59
- "terser": "^5.7.0",
60
- "thread-loader": "^4.0.2",
61
- "vite": "^5.2.11",
62
- "vitest": "^2.0.5",
63
- "ember-cli-htmlbars": "^6.3.0",
64
54
  "@babel/eslint-parser": "^7.19.1",
65
55
  "@babel/plugin-proposal-class-properties": "^7.16.7",
66
56
  "@babel/plugin-proposal-decorators": "^7.23.2",
@@ -83,11 +73,14 @@
83
73
  "@types/lodash": "^4.14.170",
84
74
  "@types/mini-css-extract-plugin": "^2.5.1",
85
75
  "@types/node": "^20.14.10",
86
- "@types/semver": "^7.3.6",
87
76
  "@types/rsvp": "^4.0.9",
88
- "babel-plugin-ember-template-compilation": "^2.2.2",
77
+ "@types/semver": "^7.3.6",
78
+ "assert-never": "^1.2.1",
89
79
  "babel-import-util": "2.0.3",
80
+ "babel-plugin-ember-template-compilation": "^2.2.2",
90
81
  "concurrently": "^8.0.1",
82
+ "content-tag": "^2.0.1",
83
+ "ember-cli-htmlbars": "^6.3.0",
91
84
  "ember-resolver": "^11.0.1",
92
85
  "ember-source": "^5.10.1",
93
86
  "ember-template-lint": "^5.11.2",
@@ -96,15 +89,27 @@
96
89
  "eslint-plugin-ember": "^12.2.0",
97
90
  "eslint-plugin-n": "^17.9.0",
98
91
  "eslint-plugin-prettier": "^5.0.0",
92
+ "execa": "^9.3.1",
93
+ "fs-extra": "^11.2.0",
94
+ "playwright-chromium": "^1.47.0",
99
95
  "prettier": "^3.0.3",
100
96
  "prettier-plugin-ember-template-tag": "^2.0.2",
97
+ "puppeteer-chromium-resolver": "^23.0.0",
101
98
  "rollup": "^4.18.1",
102
- "typescript": "^5.1.6"
99
+ "source-map-url": "^0.4.1",
100
+ "strip-ansi": "^7.1.0",
101
+ "style-loader": "^4.0.0",
102
+ "supports-color": "^9.4.0",
103
+ "terser": "^5.7.0",
104
+ "thread-loader": "^4.0.2",
105
+ "typescript": "^5.1.6",
106
+ "vite": "^5.2.11",
107
+ "vitest": "^2.0.5"
103
108
  },
104
109
  "peerDependencies": {
105
110
  "@embroider/compat": "*",
106
- "babel-plugin-ember-template-compilation": "^2.2.2",
107
- "babel-import-util": "2.0.3"
111
+ "babel-import-util": "2.0.3",
112
+ "babel-plugin-ember-template-compilation": "^2.2.2"
108
113
  },
109
114
  "engines": {
110
115
  "node": "12.* || 14.* || >= 16"