@exanderal/stackcraft 0.8.5 → 0.8.7

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.
@@ -13,7 +13,7 @@ export async function setupLinter(config) {
13
13
  await stripApp(config, 'web', NEXTJS_ESLINT_DEPS, [], NEXTJS_SCRIPT_OVERRIDES);
14
14
  }
15
15
  if (config.mobile === 'expo') {
16
- await stripApp(config, 'mobile', [], [], EXPO_SCRIPT_OVERRIDES);
16
+ await stripApp(config, 'mobile', EXPO_ESLINT_DEPS, EXPO_FILES, EXPO_SCRIPT_OVERRIDES);
17
17
  }
18
18
  }
19
19
  async function addBiomeToRoot(config) {
@@ -93,6 +93,8 @@ const NEXTJS_ESLINT_DEPS = [];
93
93
  const NEXTJS_SCRIPT_OVERRIDES = {
94
94
  lint: 'biome check .',
95
95
  };
96
+ const EXPO_ESLINT_DEPS = ['eslint', 'eslint-config-expo'];
97
+ const EXPO_FILES = ['eslint.config.mjs'];
96
98
  const EXPO_SCRIPT_OVERRIDES = {
97
99
  lint: 'biome check .',
98
100
  };
@@ -1 +1 @@
1
- {"version":3,"file":"setup-linter.js","sourceRoot":"","sources":["../../../src/create/scaffolders/setup-linter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-linter.js","sourceRoot":"","sources":["../../../src/create/scaffolders/setup-linter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exanderal/stackcraft",
3
- "version": "0.8.5",
3
+ "version": "0.8.7",
4
4
  "description": "Opinionated full-stack project scaffolding CLI",
5
5
  "type": "module",
6
6
  "bin": {
@@ -6,12 +6,12 @@ describe('HealthController', () => {
6
6
  let controller: HealthController;
7
7
 
8
8
  beforeEach(async () => {
9
- const module: TestingModule = await Test.createTestingModule({
9
+ const moduleRef: TestingModule = await Test.createTestingModule({
10
10
  controllers: [HealthController],
11
11
  providers: [HealthService],
12
12
  }).compile();
13
13
 
14
- controller = module.get<HealthController>(HealthController);
14
+ controller = moduleRef.get<HealthController>(HealthController);
15
15
  });
16
16
 
17
17
  it('returns ok status', () => {
@@ -5,11 +5,11 @@ describe('HealthService', () => {
5
5
  let service: HealthService;
6
6
 
7
7
  beforeEach(async () => {
8
- const module: TestingModule = await Test.createTestingModule({
8
+ const moduleRef: TestingModule = await Test.createTestingModule({
9
9
  providers: [HealthService],
10
10
  }).compile();
11
11
 
12
- service = module.get<HealthService>(HealthService);
12
+ service = moduleRef.get<HealthService>(HealthService);
13
13
  });
14
14
 
15
15
  it('returns ok status', () => {
@@ -16,4 +16,4 @@ async function bootstrap() {
16
16
 
17
17
  await app.listen(process.env.PORT ?? 3000);
18
18
  }
19
- bootstrap();
19
+ void bootstrap();
@@ -6,12 +6,12 @@ describe('HealthController', () => {
6
6
  let controller: HealthController;
7
7
 
8
8
  beforeEach(async () => {
9
- const module: TestingModule = await Test.createTestingModule({
9
+ const moduleRef: TestingModule = await Test.createTestingModule({
10
10
  controllers: [HealthController],
11
11
  providers: [HealthService],
12
12
  }).compile();
13
13
 
14
- controller = module.get<HealthController>(HealthController);
14
+ controller = moduleRef.get<HealthController>(HealthController);
15
15
  });
16
16
 
17
17
  it('returns ok status', () => {
@@ -5,11 +5,11 @@ describe('HealthService', () => {
5
5
  let service: HealthService;
6
6
 
7
7
  beforeEach(async () => {
8
- const module: TestingModule = await Test.createTestingModule({
8
+ const moduleRef: TestingModule = await Test.createTestingModule({
9
9
  providers: [HealthService],
10
10
  }).compile();
11
11
 
12
- service = module.get<HealthService>(HealthService);
12
+ service = moduleRef.get<HealthService>(HealthService);
13
13
  });
14
14
 
15
15
  it('returns ok status', () => {
@@ -1,11 +1,12 @@
1
1
  import FontAwesome from '@expo/vector-icons/FontAwesome';
2
2
  import { Tabs } from 'expo-router';
3
+ import { type ComponentProps } from 'react';
3
4
 
4
5
  import Colors from '@/constants/Colors';
5
6
  import { useColorScheme } from '@/components/useColorScheme';
6
7
 
7
8
  function TabBarIcon(props: {
8
- name: React.ComponentProps<typeof FontAwesome>['name'];
9
+ name: ComponentProps<typeof FontAwesome>['name'];
9
10
  color: string;
10
11
  }) {
11
12
  return <FontAwesome size={28} style={{ marginBottom: -3 }} {...props} />;
@@ -0,0 +1,3 @@
1
+ import expoConfig from 'eslint-config-expo';
2
+
3
+ export default expoConfig;
@@ -8,6 +8,7 @@
8
8
  "ios": "expo start --ios",
9
9
  "web": "expo start --web",
10
10
  "build": "expo export",
11
+ "lint": "eslint .",
11
12
  "typecheck": "tsc --noEmit"
12
13
  },
13
14
  "dependencies": {
@@ -32,6 +33,8 @@
32
33
  },
33
34
  "devDependencies": {
34
35
  "@types/react": "~19.1.0",
36
+ "eslint": "^9.9.0",
37
+ "eslint-config-expo": "~9.2.0",
35
38
  "typescript": "~5.9.2"
36
39
  },
37
40
  "private": true
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  import { useTemplateComponent } from "./TemplateComponent.behaviour";
3
2
 
4
3
  export const TemplateComponent = () => {