@embroider/macros 1.19.4 → 1.19.6

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@embroider/macros",
3
- "version": "1.19.4",
3
+ "version": "1.19.6",
4
4
  "private": false,
5
5
  "description": "Standardized build-time macros for ember apps.",
6
6
  "keywords": [
@@ -33,7 +33,7 @@
33
33
  "lodash": "^4.17.21",
34
34
  "resolve": "^1.20.0",
35
35
  "semver": "^7.3.2",
36
- "@embroider/shared-internals": "3.0.1"
36
+ "@embroider/shared-internals": "3.0.2"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@babel/core": "^7.14.5",
@@ -54,8 +54,8 @@
54
54
  "scenario-tester": "^3.0.1",
55
55
  "typescript": "^5.4.5",
56
56
  "vitest": "^3.2.4",
57
- "@embroider/core": "4.2.7",
58
- "@embroider/test-support": "0.36.0"
57
+ "@embroider/test-support": "0.36.0",
58
+ "@embroider/core": "4.4.2"
59
59
  },
60
60
  "peerDependencies": {
61
61
  "@glint/template": "^1.0.0"
@@ -7,57 +7,17 @@ exports.default = appEmberSatisfies;
7
7
  const semver_1 = require("semver");
8
8
  const error_1 = __importDefault(require("./error"));
9
9
  const evaluate_json_1 = require("./evaluate-json");
10
- const url_1 = require("url");
11
- const module_1 = require("module");
12
- const path_1 = require("path");
13
- const find_up_1 = __importDefault(require("find-up"));
14
- const packageName = 'ember-source';
15
10
  const CACHE = new Map();
16
- /**
17
- * NOTE: Since there will only ever be one app ember version, we can cache the result of looking it up.
18
- * (partly to save disk i/o)
19
- */
20
11
  function getAppEmberVersion(state) {
12
+ var _a, _b;
21
13
  let appRoot = state.packageCache.appRoot;
22
14
  if (CACHE.has(appRoot)) {
23
15
  return CACHE.get(appRoot);
24
16
  }
25
- let root = state.packageCache.get(appRoot);
26
- if (!(root === null || root === void 0 ? void 0 : root.hasDependency(packageName))) {
27
- CACHE.set(appRoot, false);
28
- return false;
29
- }
30
- /**
31
- * This version can, and often is a range (^6.4.0),
32
- * and using a range for the first parameter of satisfies will cause a failure to always occur.
33
- * So we must resolve the actual version on disk.
34
- */
35
- let resolvedInfo = state.packageCache.resolve(packageName, root);
36
- let version = resolvedInfo.version;
37
- /**
38
- * But, if the version is "clean", we can avoid a disk hit
39
- * (which is helpful for corporate machines which intercept every disk i/o behavior)
40
- */
41
- let cleanedVersion = String((0, semver_1.coerce)(version, { includePrerelease: true }));
42
- /**
43
- * these are the same, so we don't need to ask the disk what was installed
44
- */
45
- if (cleanedVersion === version) {
46
- CACHE.set(appRoot, version);
47
- return version;
48
- }
49
- const appURL = (0, url_1.pathToFileURL)(appRoot);
50
- const require = (0, module_1.createRequire)(appURL);
51
- const emberSourceEntry = require.resolve(packageName, {
52
- paths: [appRoot],
53
- });
54
- const emberSourceManifestPath = find_up_1.default.sync('package.json', { cwd: (0, path_1.dirname)(emberSourceEntry) });
55
- if (!emberSourceManifestPath) {
56
- throw new Error(`We resolved an ember-source package, but could not find its package.json`);
57
- }
58
- const emberSourceManifest = require(emberSourceManifestPath);
59
- CACHE.set(appRoot, emberSourceManifest.version);
60
- return emberSourceManifest.version;
17
+ let app = state.packageCache.get(appRoot);
18
+ let version = (_b = (_a = app.dependencies.find(d => d.name === 'ember-source')) === null || _a === void 0 ? void 0 : _a.version) !== null && _b !== void 0 ? _b : false;
19
+ CACHE.set(appRoot, version);
20
+ return version;
61
21
  }
62
22
  function appEmberSatisfies(path, state) {
63
23
  if (path.node.arguments.length !== 1) {
@@ -67,20 +27,12 @@ function appEmberSatisfies(path, state) {
67
27
  if (range.type !== 'StringLiteral') {
68
28
  throw (0, error_1.default)((0, evaluate_json_1.assertArray)(path.get('arguments'))[0], `the only argument to appEmberSatisfies must be a string literal`);
69
29
  }
70
- try {
71
- let appEmberVersion = getAppEmberVersion(state);
72
- if (!appEmberVersion) {
73
- return false;
74
- }
75
- return (0, semver_1.satisfies)(appEmberVersion, range.value, {
76
- includePrerelease: true,
77
- });
78
- }
79
- catch (err) {
80
- if (err.code !== 'MODULE_NOT_FOUND') {
81
- throw err;
82
- }
30
+ let appEmberVersion = getAppEmberVersion(state);
31
+ if (!appEmberVersion) {
83
32
  return false;
84
33
  }
34
+ return (0, semver_1.satisfies)(appEmberVersion, range.value, {
35
+ includePrerelease: true,
36
+ });
85
37
  }
86
38
  //# sourceMappingURL=app-ember-satisfies.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-ember-satisfies.js","sourceRoot":"","sources":["app-ember-satisfies.ts"],"names":[],"mappings":"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","sourcesContent":["import type { NodePath } from '@babel/traverse';\nimport type { types as t } from '@babel/core';\nimport type State from './state';\nimport { satisfies, coerce } from 'semver';\nimport error from './error';\nimport { assertArray } from './evaluate-json';\nimport { pathToFileURL } from 'url';\nimport { createRequire } from 'module';\nimport { dirname } from 'path';\nimport findUp from 'find-up';\n\nconst packageName = 'ember-source';\nconst CACHE = new Map<string, string | false>();\n/**\n * NOTE: Since there will only ever be one app ember version, we can cache the result of looking it up.\n * (partly to save disk i/o)\n */\nfunction getAppEmberVersion(state: State): string | false {\n let appRoot = state.packageCache.appRoot;\n\n if (CACHE.has(appRoot)) {\n return CACHE.get(appRoot)!;\n }\n\n let root = state.packageCache.get(appRoot);\n\n if (!root?.hasDependency(packageName)) {\n CACHE.set(appRoot, false);\n return false;\n }\n\n /**\n * This version can, and often is a range (^6.4.0),\n * and using a range for the first parameter of satisfies will cause a failure to always occur.\n * So we must resolve the actual version on disk.\n */\n let resolvedInfo = state.packageCache.resolve(packageName, root);\n let version = resolvedInfo.version;\n /**\n * But, if the version is \"clean\", we can avoid a disk hit\n * (which is helpful for corporate machines which intercept every disk i/o behavior)\n */\n let cleanedVersion = String(coerce(version, { includePrerelease: true }));\n\n /**\n * these are the same, so we don't need to ask the disk what was installed\n */\n if (cleanedVersion === version) {\n CACHE.set(appRoot, version);\n return version;\n }\n\n const appURL = pathToFileURL(appRoot);\n const require = createRequire(appURL);\n const emberSourceEntry = require.resolve(packageName, {\n paths: [appRoot],\n });\n const emberSourceManifestPath = findUp.sync('package.json', { cwd: dirname(emberSourceEntry) });\n\n if (!emberSourceManifestPath) {\n throw new Error(`We resolved an ember-source package, but could not find its package.json`);\n }\n const emberSourceManifest = require(emberSourceManifestPath);\n\n CACHE.set(appRoot, emberSourceManifest.version);\n return emberSourceManifest.version;\n}\n\nexport default function appEmberSatisfies(path: NodePath<t.CallExpression>, state: State): boolean {\n if (path.node.arguments.length !== 1) {\n throw error(path, `appEmberSatisfies takes exactly one argument, you passed ${path.node.arguments.length}`);\n }\n const [range] = path.node.arguments;\n if (range.type !== 'StringLiteral') {\n throw error(\n assertArray(path.get('arguments'))[0],\n `the only argument to appEmberSatisfies must be a string literal`\n );\n }\n try {\n let appEmberVersion = getAppEmberVersion(state);\n\n if (!appEmberVersion) {\n return false;\n }\n\n return satisfies(appEmberVersion, range.value, {\n includePrerelease: true,\n });\n } catch (err) {\n if (err.code !== 'MODULE_NOT_FOUND') {\n throw err;\n }\n return false;\n }\n}\n"]}
1
+ {"version":3,"file":"app-ember-satisfies.js","sourceRoot":"","sources":["app-ember-satisfies.ts"],"names":[],"mappings":";;;;;AAsBA,oCAqBC;AAxCD,mCAAmC;AACnC,oDAA4B;AAC5B,mDAA8C;AAE9C,MAAM,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;AAEhD,SAAS,kBAAkB,CAAC,KAAY;;IACtC,IAAI,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC;IAEzC,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;IAC7B,CAAC;IAED,IAAI,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,OAAO,GAAmB,MAAA,MAAA,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,0CAAE,OAAO,mCAAI,KAAK,CAAC;IACtG,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAwB,iBAAiB,CAAC,IAAgC,EAAE,KAAY;IACtF,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,MAAM,IAAA,eAAK,EAAC,IAAI,EAAE,4DAA4D,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9G,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IACpC,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACnC,MAAM,IAAA,eAAK,EACT,IAAA,2BAAW,EAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EACrC,iEAAiE,CAClE,CAAC;IACJ,CAAC;IAED,IAAI,eAAe,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAEhD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAA,kBAAS,EAAC,eAAe,EAAE,KAAK,CAAC,KAAK,EAAE;QAC7C,iBAAiB,EAAE,IAAI;KACxB,CAAC,CAAC;AACL,CAAC","sourcesContent":["import type { NodePath } from '@babel/traverse';\nimport type { types as t } from '@babel/core';\nimport type State from './state';\nimport { satisfies } from 'semver';\nimport error from './error';\nimport { assertArray } from './evaluate-json';\n\nconst CACHE = new Map<string, string | false>();\n\nfunction getAppEmberVersion(state: State): string | false {\n let appRoot = state.packageCache.appRoot;\n\n if (CACHE.has(appRoot)) {\n return CACHE.get(appRoot)!;\n }\n\n let app = state.packageCache.get(appRoot);\n let version: string | false = app.dependencies.find(d => d.name === 'ember-source')?.version ?? false;\n CACHE.set(appRoot, version);\n return version;\n}\n\nexport default function appEmberSatisfies(path: NodePath<t.CallExpression>, state: State): boolean {\n if (path.node.arguments.length !== 1) {\n throw error(path, `appEmberSatisfies takes exactly one argument, you passed ${path.node.arguments.length}`);\n }\n const [range] = path.node.arguments;\n if (range.type !== 'StringLiteral') {\n throw error(\n assertArray(path.get('arguments'))[0],\n `the only argument to appEmberSatisfies must be a string literal`\n );\n }\n\n let appEmberVersion = getAppEmberVersion(state);\n\n if (!appEmberVersion) {\n return false;\n }\n\n return satisfies(appEmberVersion, range.value, {\n includePrerelease: true,\n });\n}\n"]}