@ember/app-blueprint 0.8.1 → 0.8.2

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.
@@ -2,8 +2,8 @@
2
2
  "solution": {
3
3
  "@ember/app-blueprint": {
4
4
  "impact": "patch",
5
- "oldVersion": "0.8.0",
6
- "newVersion": "0.8.1",
5
+ "oldVersion": "0.8.1",
6
+ "newVersion": "0.8.2",
7
7
  "tagName": "latest",
8
8
  "constraints": [
9
9
  {
@@ -14,5 +14,5 @@
14
14
  "pkgJSONPath": "./package.json"
15
15
  }
16
16
  },
17
- "description": "## Release (2025-07-22)\n\n* @ember/app-blueprint 0.8.1 (patch)\n\n#### :bug: Bug Fix\n* `@ember/app-blueprint`\n * [#53](https://github.com/ember-cli/ember-app-blueprint/pull/53) Use @embroider/router ([@NullVoxPopuli](https://github.com/NullVoxPopuli))\n\n#### Committers: 1\n- [@NullVoxPopuli](https://github.com/NullVoxPopuli)\n"
17
+ "description": "## Release (2025-09-03)\n\n* @ember/app-blueprint 0.8.2 (patch)\n\n#### :bug: Bug Fix\n* `@ember/app-blueprint`\n * [#56](https://github.com/ember-cli/ember-app-blueprint/pull/56) Make sure that `npm run lint` doesn't fail on a newly generated app ([@pichfl](https://github.com/pichfl))\n\n#### Committers: 1\n- Florian Pichler ([@pichfl](https://github.com/pichfl))\n"
18
18
  }
package/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## Release (2025-09-03)
4
+
5
+ * @ember/app-blueprint 0.8.2 (patch)
6
+
7
+ #### :bug: Bug Fix
8
+ * `@ember/app-blueprint`
9
+ * [#56](https://github.com/ember-cli/ember-app-blueprint/pull/56) Make sure that `npm run lint` doesn't fail on a newly generated app ([@pichfl](https://github.com/pichfl))
10
+
11
+ #### Committers: 1
12
+ - Florian Pichler ([@pichfl](https://github.com/pichfl))
13
+
3
14
  ## Release (2025-07-22)
4
15
 
5
16
  * @ember/app-blueprint 0.8.1 (patch)
@@ -3,15 +3,30 @@ import { assert } from '@ember/debug';
3
3
 
4
4
  const config = loadConfigFromMeta('<%= name %>') as unknown;
5
5
 
6
- assert("config is not an object", typeof config === "object" && config !== null);
7
- assert("modulePrefix was not detected on your config", "modulePrefix" in config && typeof config.modulePrefix === 'string')
8
- assert("locationType was not detected on your config", "locationType" in config && typeof config.locationType === 'string')
9
- assert("rootURL was not detected on your config", "rootURL" in config && typeof config.rootURL === 'string')
10
- assert("APP was not detected on your config", "APP" in config && typeof config.APP === 'object')
6
+ assert(
7
+ 'config is not an object',
8
+ typeof config === 'object' && config !== null
9
+ );
10
+ assert(
11
+ 'modulePrefix was not detected on your config',
12
+ 'modulePrefix' in config && typeof config.modulePrefix === 'string'
13
+ );
14
+ assert(
15
+ 'locationType was not detected on your config',
16
+ 'locationType' in config && typeof config.locationType === 'string'
17
+ );
18
+ assert(
19
+ 'rootURL was not detected on your config',
20
+ 'rootURL' in config && typeof config.rootURL === 'string'
21
+ );
22
+ assert(
23
+ 'APP was not detected on your config',
24
+ 'APP' in config && typeof config.APP === 'object'
25
+ );
11
26
 
12
27
  export default config as {
13
- modulePrefix: string,
14
- locationType: string,
15
- rootURL: string,
16
- APP: Record<string, unknown>
28
+ modulePrefix: string;
29
+ locationType: string;
30
+ rootURL: string;
31
+ APP: Record<string, unknown>;
17
32
  } & Record<string, unknown>;
@@ -2,8 +2,8 @@ import { pageTitle } from 'ember-page-title';
2
2
  <% if (welcome) {%>import { WelcomePage } from 'ember-welcome-page';<% } %>
3
3
 
4
4
  <template>
5
- {{pageTitle "<%= namespace %>"}}
6
- <% if (welcome) { %>
5
+ {{pageTitle "<%= namespace %>"}}<% if (welcome) { %>
6
+
7
7
  {{outlet}}
8
8
 
9
9
  {{! The following component displays Ember's default welcome message. }}
@@ -2,8 +2,8 @@ import { pageTitle } from 'ember-page-title';
2
2
  <% if (welcome) {%>import { WelcomePage } from 'ember-welcome-page';<% } %>
3
3
 
4
4
  <template>
5
- {{pageTitle "<%= namespace %>"}}
6
- <% if (welcome) { %>
5
+ {{pageTitle "<%= namespace %>"}}<% if (welcome) { %>
6
+
7
7
  {{outlet}}
8
8
 
9
9
  {{! The following component displays Ember's default welcome message. }}
@@ -1,31 +1,16 @@
1
1
  {
2
2
  "extends": "@ember/app-tsconfig",
3
- "include": [
4
- "app", "tests", "types"
5
- ],
3
+ "include": ["app", "tests", "types"],
6
4
  "glint": {
7
- "environment": [
8
- "ember-loose",
9
- "ember-template-imports"
10
- ]
5
+ "environment": ["ember-loose", "ember-template-imports"]
11
6
  },
12
7
  "compilerOptions": {
13
8
  "allowJs": true,
14
9
  "paths": {
15
- "<%= name %>/tests/*": [
16
- "./tests/*"
17
- ],
18
- "<%= name %>/*": [
19
- "./app/*"
20
- ],
21
- "*": [
22
- "./types/*"
23
- ]
10
+ "<%= name %>/tests/*": ["./tests/*"],
11
+ "<%= name %>/*": ["./app/*"],
12
+ "*": ["./types/*"]
24
13
  },
25
- "types": [
26
- "ember-source/types",
27
- "@embroider/core/virtual",
28
- "vite/client"
29
- ]
30
- },
14
+ "types": ["ember-source/types", "@embroider/core/virtual", "vite/client"]
15
+ }
31
16
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ember/app-blueprint",
3
- "version": "0.8.1",
3
+ "version": "0.8.2",
4
4
  "description": "Blueprint for next generation of Ember apps",
5
5
  "keywords": [
6
6
  "ember-blueprint"
@@ -52,12 +52,6 @@ describe('basic functionality', function () {
52
52
  );
53
53
  });
54
54
 
55
- it('successfully lints', async function () {
56
- let result = await project.execa('pnpm', ['lint']);
57
-
58
- console.log(result.stdout);
59
- });
60
-
61
55
  it('successfully builds', async function () {
62
56
  let result = await project.execa('pnpm', ['build']);
63
57
 
package/tests/helpers.mjs CHANGED
@@ -19,6 +19,30 @@ export const emberCli = findEmber();
19
19
 
20
20
  const appName = 'test-app';
21
21
 
22
+ export function newProject({ name = appName, flags = [] } = {}) {
23
+ let dir;
24
+
25
+ beforeAll(async () => {
26
+ const tmpDir = (await tmp.dir()).path;
27
+ dir = join(tmpDir, name);
28
+ await execa({
29
+ cwd: tmpDir,
30
+ })`${localEmberCli} new ${name} -b ${blueprintPath} --skip-git --pnpm ${flags}`;
31
+ });
32
+
33
+ return {
34
+ appName: () => name,
35
+ dir: () => dir,
36
+ $: (...args) => execa({ cwd: dir })(...args),
37
+ execa: (program, args, options = {}) => {
38
+ return execa(program, args, {
39
+ cwd: dir,
40
+ ...options,
41
+ });
42
+ },
43
+ };
44
+ }
45
+
22
46
  export function newProjectWithFixtures({
23
47
  flags = [],
24
48
  fixturePath,
@@ -0,0 +1,27 @@
1
+ import { describe, it, expect } from 'vitest';
2
+
3
+ import { newProject } from './helpers.mjs';
4
+
5
+ describe('linting & formatting', function () {
6
+ describe('JavaScript', function () {
7
+ let project = newProject();
8
+
9
+ it('yields output for JavaScript without errors', async function () {
10
+ let { exitCode } = await project.execa('pnpm', ['lint']);
11
+
12
+ expect(exitCode).to.equal(0);
13
+ });
14
+ });
15
+
16
+ describe('TypeScript', function () {
17
+ let project = newProject({
18
+ flags: ['--typescript'],
19
+ });
20
+
21
+ it('yields output for JavaScript without errors', async function () {
22
+ let { exitCode } = await project.execa('pnpm', ['lint']);
23
+
24
+ expect(exitCode).to.equal(0);
25
+ });
26
+ });
27
+ });