generator-folklore 3.0.26 → 3.0.28

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.
Files changed (49) hide show
  1. package/lib/generators/build/index.js +2 -1
  2. package/lib/generators/eslint/index.js +15 -17
  3. package/lib/generators/eslint/templates/.eslint.config.js +62 -0
  4. package/lib/generators/intl/index.js +1 -1
  5. package/lib/generators/laravel-mediatheque/index.js +1 -1
  6. package/lib/generators/laravel-panneau/index.js +5 -5
  7. package/lib/generators/laravel-panneau/templates/app/Contracts/Entities/Block.php +9 -0
  8. package/lib/generators/laravel-panneau/templates/app/Contracts/{Resources → Entities}/Blocks/Image.php +3 -3
  9. package/lib/generators/laravel-panneau/templates/app/Contracts/{Resources → Entities}/Blocks/Text.php +2 -2
  10. package/lib/generators/laravel-panneau/templates/app/Contracts/Entities/Page.php +9 -0
  11. package/lib/generators/laravel-panneau/templates/app/Contracts/Entities/Pages/Home.php +9 -0
  12. package/lib/generators/laravel-panneau/templates/app/Contracts/Repositories/Pages.php +1 -1
  13. package/lib/generators/laravel-panneau/templates/app/Entities/Block.php +10 -0
  14. package/lib/generators/laravel-panneau/templates/app/{Resources → Entities}/Blocks/ImageBlock.php +5 -5
  15. package/lib/generators/laravel-panneau/templates/app/{Resources → Entities}/Blocks/TextBlock.php +3 -3
  16. package/lib/generators/laravel-panneau/templates/app/Entities/Page.php +10 -0
  17. package/lib/generators/laravel-panneau/templates/app/Entities/Pages/HomePage.php +10 -0
  18. package/lib/generators/laravel-panneau/templates/app/Http/Resources/BlockResource.php +3 -3
  19. package/lib/generators/laravel-panneau/templates/app/Http/Resources/PageResource.php +2 -2
  20. package/lib/generators/laravel-panneau/templates/app/Models/Block.php +6 -6
  21. package/lib/generators/laravel-panneau/templates/app/Models/Page.php +4 -4
  22. package/lib/generators/laravel-panneau/templates/app/Panneau/Http/Resources/BlockResource.php +3 -3
  23. package/lib/generators/laravel-panneau/templates/app/Panneau/Http/Resources/PageResource.php +3 -3
  24. package/lib/generators/laravel-panneau/templates/app/Panneau/Http/Resources/ParentPageResource.php +1 -1
  25. package/lib/generators/laravel-panneau/templates/app/Panneau/Policies/PanneauPolicy.php +1 -1
  26. package/lib/generators/laravel-panneau/templates/app/Panneau/Resources/Blocks.php +1 -1
  27. package/lib/generators/laravel-panneau/templates/app/Repositories/Pages.php +1 -1
  28. package/lib/generators/laravel-project/index.js +2 -2
  29. package/lib/generators/laravel-project/templates/laravel/app/Contracts/Entities/User.php +9 -0
  30. package/lib/generators/laravel-project/templates/laravel/app/Contracts/Repositories/Users.php +1 -1
  31. package/lib/generators/laravel-project/templates/laravel/app/Entities/User.php +10 -0
  32. package/lib/generators/laravel-project/templates/laravel/app/Models/User.php +2 -2
  33. package/lib/generators/laravel-project/templates/laravel/app/Repositories/Users.php +1 -1
  34. package/lib/generators/prettier/index.js +4 -3
  35. package/lib/generators/prettier/templates/prettierrc.json +10 -3
  36. package/lib/generators/react-app/index.js +16 -16
  37. package/lib/generators/stylelint/index.js +2 -2
  38. package/lib/generators/stylelint/templates/stylelintrc +4 -2
  39. package/package.json +2 -2
  40. package/lib/generators/eslint/templates/eslintignore +0 -7
  41. package/lib/generators/eslint/templates/eslintrc +0 -44
  42. package/lib/generators/laravel-panneau/templates/app/Contracts/Resources/Block.php +0 -10
  43. package/lib/generators/laravel-panneau/templates/app/Contracts/Resources/Page.php +0 -10
  44. package/lib/generators/laravel-panneau/templates/app/Contracts/Resources/Pages/Home.php +0 -9
  45. package/lib/generators/laravel-panneau/templates/app/Resources/Block.php +0 -10
  46. package/lib/generators/laravel-panneau/templates/app/Resources/Page.php +0 -10
  47. package/lib/generators/laravel-panneau/templates/app/Resources/Pages/HomePage.php +0 -10
  48. package/lib/generators/laravel-project/templates/laravel/app/Contracts/Resources/User.php +0 -10
  49. package/lib/generators/laravel-project/templates/laravel/app/Resources/User.php +0 -11
@@ -70,6 +70,7 @@ module.exports = class AppGenerator extends _generator.default {
70
70
  this.packageJson.merge({
71
71
  scripts,
72
72
  build: {
73
+ typescript: true,
73
74
  outputPath: (0, _utils.ensureLeadingDotSlash)(buildPath),
74
75
  srcPath: (0, _utils.ensureLeadingDotSlash)(srcPath),
75
76
  htmlPath: (0, _utils.ensureLeadingDotSlash)(htmlPath),
@@ -80,7 +81,7 @@ module.exports = class AppGenerator extends _generator.default {
80
81
  },
81
82
  dependencies() {
82
83
  this.addDevDependencies({
83
- '@folklore/cli': '^0.1.9'
84
+ '@folklore/cli': '^0.1.28'
84
85
  });
85
86
  }
86
87
  };
@@ -14,28 +14,26 @@ module.exports = class EslintGenerator extends _generator.default {
14
14
  }
15
15
  get writing() {
16
16
  return {
17
- eslintrc() {
18
- const srcPath = this.templatePath('eslintrc');
19
- const destPath = this.destinationPath('.eslintrc');
20
- this.fs.copy(srcPath, destPath);
21
- },
22
- eslintignore() {
23
- const srcPath = this.templatePath('eslintignore');
24
- const destPath = this.destinationPath('.eslintignore');
17
+ eslintConfig() {
18
+ const srcPath = this.templatePath('.eslint.config.js');
19
+ const destPath = this.destinationPath('eslint.config.js');
25
20
  this.fs.copy(srcPath, destPath);
26
21
  },
27
22
  dependencies() {
28
23
  this.addDevDependencies({
29
- 'babel-preset-airbnb': '^5.0.0',
30
24
  '@babel/eslint-parser': '^7.18.9',
31
- eslint: '^8.0.0',
32
- 'eslint-config-airbnb': '^19.0.4',
33
- 'eslint-config-prettier': '^9.1.0',
34
- 'eslint-plugin-prettier': '^5.1.3',
35
- 'eslint-plugin-import': '^2.26.0',
36
- 'eslint-plugin-jsx-a11y': '^6.6.1',
37
- 'eslint-plugin-react': '^7.30.1',
38
- 'eslint-plugin-formatjs': '^4.2.2'
25
+ '@babel/preset-typescript': '^7.26.0',
26
+ '@eslint-react/eslint-plugin': '^1.53.0',
27
+ 'eslint-plugin-react': '^7.37.5',
28
+ eslint: '^9.36.0',
29
+ 'eslint-config-prettier': '^10.1.8',
30
+ 'eslint-plugin-formatjs': '^5.4.0',
31
+ 'eslint-plugin-import': '^2.32.0',
32
+ 'eslint-plugin-jsx-a11y': '^6.10.2',
33
+ 'eslint-plugin-prettier': '^5.5.4',
34
+ 'eslint-plugin-react': '^7.37.5',
35
+ typescript: '^5.7.3',
36
+ 'typescript-eslint': '^8.25.0'
39
37
  });
40
38
  }
41
39
  };
@@ -0,0 +1,62 @@
1
+ const reactPlugin = require('eslint-plugin-react');
2
+ const formatjs = require('eslint-plugin-formatjs');
3
+ const globals = require('globals');
4
+ const babelParser = require('@babel/eslint-parser');
5
+ const importPlugin = require('eslint-plugin-import');
6
+ const js = require('@eslint/js');
7
+ const tseslint = require('typescript-eslint');
8
+ const eslintPluginPrettierRecommended = require('eslint-plugin-prettier/recommended');
9
+ const eslintReact = require('@eslint-react/eslint-plugin');
10
+
11
+ module.exports = tseslint.config(
12
+ {
13
+ files: ['**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx'],
14
+ },
15
+ {
16
+ ignores: ['**/*.config.js'],
17
+ },
18
+ {
19
+ settings: {
20
+ react: {
21
+ defaultVersion: '19',
22
+ },
23
+ },
24
+ languageOptions: {
25
+ globals: {
26
+ ...Object.keys(globals.browser).reduce(
27
+ (map, key) => ({
28
+ ...map,
29
+ [key.trim()]: globals.browser[key],
30
+ }),
31
+ {},
32
+ ),
33
+ },
34
+ },
35
+ },
36
+ {
37
+ languageOptions: {
38
+ parser: babelParser,
39
+ parserOptions: {
40
+ ecmaVersion: 'latest',
41
+ requireConfigFile: false,
42
+ babelOptions: {
43
+ presets: ['@babel/preset-react', '@babel/preset-typescript'],
44
+ },
45
+ },
46
+ },
47
+ },
48
+ js.configs.recommended,
49
+ tseslint.configs.recommended,
50
+ eslintReact.configs['recommended-typescript'],
51
+ importPlugin.flatConfigs.typescript,
52
+ importPlugin.flatConfigs.recommended,
53
+ formatjs.configs.recommended,
54
+ reactPlugin.configs.flat.recommended,
55
+ reactPlugin.configs.flat['jsx-runtime'],
56
+ eslintPluginPrettierRecommended,
57
+ {
58
+ rules: {
59
+ 'formatjs/no-literal-string-in-jsx': 'off',
60
+ },
61
+ },
62
+ );
@@ -68,7 +68,7 @@ module.exports = class IntlGenerator extends _generator.default {
68
68
  },
69
69
  dependencies() {
70
70
  this.addDevDependencies({
71
- '@folklore/cli': '^0.1.9'
71
+ '@folklore/cli': '^0.1.28'
72
72
  });
73
73
  }
74
74
  };
@@ -55,7 +55,7 @@ module.exports = class LaravelMediathequeGenerator extends _generator.default {
55
55
  composerJSON() {
56
56
  this.composerJson.merge({
57
57
  require: {
58
- 'folklore/laravel-folklore': 'v1.x-dev',
58
+ 'folklore/laravel-folklore': 'v1.1.x-dev',
59
59
  'folklore/laravel-mediatheque': 'v1.1.x-dev'
60
60
  }
61
61
  });
@@ -53,11 +53,11 @@ module.exports = class LaravelPanneauGenerator extends _generator.default {
53
53
  },
54
54
  packageJSON() {
55
55
  this.addDependencies({
56
- '@panneau/app': '^2.0.0',
57
- '@panneau/core': '^2.0.0',
58
- '@panneau/data': '^2.0.0',
59
- '@panneau/field-text': '^2.0.0',
60
- '@panneau/field-localized': '^2.0.0'
56
+ '@panneau/app': '^3.0.293',
57
+ '@panneau/core': '^3.0.292',
58
+ '@panneau/data': '^3.0.292',
59
+ '@panneau/field-text': '^3.0.293',
60
+ '@panneau/field-localized': '^3.0.293'
61
61
  });
62
62
  },
63
63
  config() {
@@ -0,0 +1,9 @@
1
+ <?php
2
+
3
+ namespace App\Contracts\Entities;
4
+
5
+ use Folklore\Contracts\Entities\Block as BaseBlock;
6
+
7
+ interface Block extends BaseBlock
8
+ {
9
+ }
@@ -1,9 +1,9 @@
1
1
  <?php
2
2
 
3
- namespace App\Contracts\Resources\Blocks;
3
+ namespace App\Contracts\Entities\Blocks;
4
4
 
5
- use App\Contracts\Resources\Block as BaseBlock;
6
- use Folklore\Contracts\Resources\Image as ImageContract;
5
+ use App\Contracts\Entities\Block as BaseBlock;
6
+ use Folklore\Contracts\Entities\Image as ImageContract;
7
7
 
8
8
  interface Image extends BaseBlock
9
9
  {
@@ -1,8 +1,8 @@
1
1
  <?php
2
2
 
3
- namespace App\Contracts\Resources\Blocks;
3
+ namespace App\Contracts\Entities\Blocks;
4
4
 
5
- use App\Contracts\Resources\Block as BaseBlock;
5
+ use App\Contracts\Entities\Block as BaseBlock;
6
6
 
7
7
  interface Text extends BaseBlock
8
8
  {
@@ -0,0 +1,9 @@
1
+ <?php
2
+
3
+ namespace App\Contracts\Entities;
4
+
5
+ use Folklore\Contracts\Entities\Page as BasePage;
6
+
7
+ interface Page extends BasePage
8
+ {
9
+ }
@@ -0,0 +1,9 @@
1
+ <?php
2
+
3
+ namespace App\Contracts\Entities\Pages;
4
+
5
+ use App\Contracts\Entities\Page as BasePage;
6
+
7
+ interface Home extends BasePage
8
+ {
9
+ }
@@ -3,7 +3,7 @@
3
3
  namespace App\Contracts\Repositories;
4
4
 
5
5
  use Folklore\Contracts\Repositories\Pages as BasePages;
6
- use App\Contracts\Resources\Page as PageResource;
6
+ use App\Contracts\Entities\Page as PageResource;
7
7
 
8
8
  interface Pages extends BasePages
9
9
  {
@@ -0,0 +1,10 @@
1
+ <?php
2
+
3
+ namespace App\Entities;
4
+
5
+ use Folklore\Entities\Block as BaseBlock;
6
+ use App\Contracts\Entities\Block as BlockContract;
7
+
8
+ class Block extends BaseBlock implements BlockContract
9
+ {
10
+ }
@@ -1,11 +1,11 @@
1
1
  <?php
2
2
 
3
- namespace App\Resources\Blocks;
3
+ namespace App\Entities\Blocks;
4
4
 
5
- use App\Resources\Block;
6
- use App\Contracts\Resources\Blocks\Image as ImageBlockContract;
7
- use Folklore\Contracts\Resources\Image as ImageContract;
8
- use Folklore\Resources\Image;
5
+ use App\Entities\Block;
6
+ use App\Contracts\Entities\Blocks\Image as ImageBlockContract;
7
+ use Folklore\Contracts\Entities\Image as ImageContract;
8
+ use Folklore\Entities\Image;
9
9
 
10
10
  class ImageBlock extends Block implements ImageBlockContract
11
11
  {
@@ -1,9 +1,9 @@
1
1
  <?php
2
2
 
3
- namespace App\Resources\Blocks;
3
+ namespace App\Entities\Blocks;
4
4
 
5
- use App\Resources\Block;
6
- use App\Contracts\Resources\Blocks\Text as TextBlockContract;
5
+ use App\Entities\Block;
6
+ use App\Contracts\Entities\Blocks\Text as TextBlockContract;
7
7
 
8
8
  class TextBlock extends Block implements TextBlockContract
9
9
  {
@@ -0,0 +1,10 @@
1
+ <?php
2
+
3
+ namespace App\Entities;
4
+
5
+ use Folklore\Entities\Page as BasePage;
6
+ use App\Contracts\Entities\Page as PageContract;
7
+
8
+ class Page extends BasePage implements PageContract
9
+ {
10
+ }
@@ -0,0 +1,10 @@
1
+ <?php
2
+
3
+ namespace App\Entities\Pages;
4
+
5
+ use App\Entities\Page;
6
+ use App\Contracts\Entities\Pages\Home as HomePageContract;
7
+
8
+ class HomePage extends Page implements HomePageContract
9
+ {
10
+ }
@@ -3,10 +3,10 @@
3
3
  namespace App\Http\Resources;
4
4
 
5
5
  use Illuminate\Http\Resources\Json\JsonResource;
6
- use Folklore\Contracts\Resources\HasBlocks;
6
+ use Folklore\Contracts\Entities\HasBlocks;
7
7
  use Folklore\Http\Resources\LocalizedResource;
8
- use App\Contracts\Resources\Blocks\Text as TextBlock;
9
- use App\Contracts\Resources\Blocks\ImageBlock as ImageBlock;
8
+ use App\Contracts\Entities\Blocks\Text as TextBlock;
9
+ use App\Contracts\Entities\Blocks\ImageBlock as ImageBlock;
10
10
  use Folklore\Http\Resources\MediaResource;
11
11
 
12
12
  class BlockResource extends JsonResource
@@ -3,8 +3,8 @@
3
3
  namespace App\Http\Resources;
4
4
 
5
5
  use Illuminate\Http\Resources\Json\JsonResource;
6
- use App\Contracts\Resources\Page;
7
- use App\Contracts\Resources\Pages\Home as HomePage;
6
+ use App\Contracts\Entities\Page;
7
+ use App\Contracts\Entities\Pages\Home as HomePage;
8
8
  use Folklore\Http\Resources\MediaResource;
9
9
  use Folklore\Contracts\Resources\HasBlocks;
10
10
 
@@ -2,8 +2,8 @@
2
2
 
3
3
  namespace App\Models;
4
4
 
5
- use App\Contracts\Resources\Block as BlockContract;
6
- use App\Resources\Block as BlockResource;
5
+ use App\Contracts\Entities\Block as BlockContract;
6
+ use App\Entities\Block as BlockResource;
7
7
  use Folklore\Models\Block as BaseBlock;
8
8
  use Illuminate\Database\Eloquent\Factories\HasFactory;
9
9
 
@@ -11,13 +11,13 @@ class Block extends BaseBlock
11
11
  {
12
12
  use HasFactory;
13
13
 
14
- protected $typedResources = [
15
- 'text' => \App\Resources\Blocks\TextBlock::class,
16
- 'image' => \App\Resources\Blocks\ImageBlock::class,
14
+ protected $entitiesByType = [
15
+ 'text' => \App\Entities\Blocks\TextBlock::class,
16
+ 'image' => \App\Entities\Blocks\ImageBlock::class,
17
17
  ];
18
18
 
19
19
  public function toResource(): BlockContract
20
20
  {
21
- return $this->toTypedResource() ?? new BlockResource($this);
21
+ return $this->toTypedEntity() ?? new BlockResource($this);
22
22
  }
23
23
  }
@@ -2,8 +2,8 @@
2
2
 
3
3
  namespace App\Models;
4
4
 
5
- use App\Contracts\Resources\Page as PageContract;
6
- use App\Resources\Page as PageResource;
5
+ use App\Contracts\Entities\Page as PageContract;
6
+ use App\Entities\Page as PageResource;
7
7
  use Folklore\Models\Page as BasePage;
8
8
  use Illuminate\Database\Eloquent\Factories\HasFactory;
9
9
 
@@ -11,13 +11,13 @@ class Page extends BasePage
11
11
  {
12
12
  use HasFactory;
13
13
 
14
- protected $typedResources = [
14
+ protected $entitiesByType = [
15
15
  'home' => \App\Resources\Pages\HomePage::class,
16
16
  ];
17
17
 
18
18
  public function toResource(): PageContract
19
19
  {
20
- return $this->toTypedResource() ?? new PageResource($this);
20
+ return $this->toTypedEntity() ?? new PageResource($this);
21
21
  }
22
22
 
23
23
  public function blocks()
@@ -3,10 +3,10 @@
3
3
  namespace App\Panneau\Http\Resources;
4
4
 
5
5
  use Illuminate\Http\Resources\Json\JsonResource;
6
- use Folklore\Contracts\Resources\HasBlocks;
6
+ use Folklore\Contracts\Entities\HasBlocks;
7
7
  use Folklore\Http\Resources\LocalizedResource;
8
- use App\Contracts\Resources\Blocks\Text as TextBlock;
9
- use App\Contracts\Resources\Blocks\Image as ImageBlock;
8
+ use App\Contracts\Entities\Blocks\Text as TextBlock;
9
+ use App\Contracts\Entities\Blocks\Image as ImageBlock;
10
10
  use Folklore\Http\Resources\MediaResource;
11
11
 
12
12
  class BlockResource extends JsonResource
@@ -4,10 +4,10 @@ namespace App\Panneau\Http\Resources;
4
4
 
5
5
  use Illuminate\Http\Resources\Json\JsonResource;
6
6
  use Folklore\Http\Resources\MediaResource;
7
- use App\Contracts\Resources\Page;
8
- use Folklore\Contracts\Resources\HasBlocks;
7
+ use App\Contracts\Entities\Page;
8
+ use Folklore\Contracts\Entities\HasBlocks;
9
9
  use Folklore\Http\Resources\LocalizedResource;
10
- use App\Contracts\Resources\Pages\Home as HomePage;
10
+ use App\Contracts\Entities\Pages\Home as HomePage;
11
11
 
12
12
  class PageResource extends JsonResource
13
13
  {
@@ -4,7 +4,7 @@ namespace App\Panneau\Http\Resources;
4
4
 
5
5
  use Illuminate\Http\Resources\Json\JsonResource;
6
6
  use Folklore\Http\Resources\MediaResource;
7
- use App\Contracts\Resources\Page;
7
+ use App\Contracts\Entities\Page;
8
8
  use Folklore\Http\Resources\LocalizedResource;
9
9
 
10
10
  class ParentPageResource extends JsonResource
@@ -3,7 +3,7 @@
3
3
  namespace App\Panneau\Policies;
4
4
 
5
5
  use Illuminate\Auth\Access\HandlesAuthorization;
6
- use App\Contracts\Resources\User;
6
+ use App\Contracts\Entities\User;
7
7
 
8
8
  class PanneauPolicy
9
9
  {
@@ -6,7 +6,7 @@ use Panneau\Support\Resource;
6
6
 
7
7
  class Blocks extends Resource
8
8
  {
9
- public static $repository = \App\Contracts\Repositories\Blocks::class;
9
+ public static $repository = \App\Contracts\Entities\Blocks::class;
10
10
 
11
11
  public static $jsonResource = \App\Panneau\Http\Resources\BlockResource::class;
12
12
 
@@ -6,7 +6,7 @@ use Folklore\Repositories\Pages as BasePages;
6
6
  use App\Contracts\Repositories\Pages as PagesContract;
7
7
  use Folklore\Models\Page as PageBaseModel;
8
8
  use App\Models\Page as PageModel;
9
- use App\Contracts\Resources\Page as PageContract;
9
+ use App\Contracts\Entities\Page as PageContract;
10
10
 
11
11
  class Pages extends BasePages implements PagesContract
12
12
  {
@@ -301,12 +301,12 @@ module.exports = class LaravelProjectGenerator extends _generator.default {
301
301
  composerJSON() {
302
302
  this.composerJson.merge({
303
303
  require: {
304
- 'folklore/laravel-folklore': 'v1.x-dev',
304
+ 'folklore/laravel-folklore': 'v1.1.x-dev',
305
305
  'folklore/laravel-locale': 'v8.x-dev',
306
306
  'folklore/laravel-image': 'v1.x-dev'
307
307
  },
308
308
  'require-dev': {
309
- 'laravel/telescope': '^4.12.0'
309
+ 'laravel/telescope': '^5.0'
310
310
  },
311
311
  extra: {
312
312
  laravel: {
@@ -0,0 +1,9 @@
1
+ <?php
2
+
3
+ namespace App\Contracts\Entities;
4
+
5
+ use Folklore\Contracts\Entities\User as BaseUser;
6
+
7
+ interface User extends BaseUser
8
+ {
9
+ }
@@ -3,7 +3,7 @@
3
3
  namespace App\Contracts\Repositories;
4
4
 
5
5
  use Folklore\Contracts\Repositories\Users as BaseUsers;
6
- use App\Contracts\Resources\User as UserResource;
6
+ use App\Contracts\Entities\User as UserResource;
7
7
 
8
8
  interface Users extends BaseUsers
9
9
  {
@@ -0,0 +1,10 @@
1
+ <?php
2
+
3
+ namespace App\Entities;
4
+
5
+ use App\Contracts\Entities\User as UserContract;
6
+ use Folklore\Entities\User as BaseUser;
7
+
8
+ class User extends BaseUser implements UserContract
9
+ {
10
+ }
@@ -6,8 +6,8 @@ namespace App\Models;
6
6
  use Folklore\Models\User as BaseUser;
7
7
  use Illuminate\Database\Eloquent\Factories\HasFactory;
8
8
  use Laravel\Sanctum\HasApiTokens;
9
- use App\Contracts\Resources\User as UserContract;
10
- use App\Resources\User as UserResource;
9
+ use App\Contracts\Entities\User as UserContract;
10
+ use App\Entities\User as UserResource;
11
11
 
12
12
  class User extends BaseUser
13
13
  {
@@ -6,7 +6,7 @@ use Folklore\Repositories\Users as BaseUsers;
6
6
  use App\Contracts\Repositories\Users as UsersContract;
7
7
  use Illuminate\Database\Eloquent\Model;
8
8
  use App\Models\User as UserModel;
9
- use App\Contracts\Resources\User as UserContract;
9
+ use App\Contracts\Entities\User as UserContract;
10
10
 
11
11
  class Users extends BaseUsers implements UsersContract
12
12
  {
@@ -25,9 +25,10 @@ module.exports = class PrettierGenerator extends _generator.default {
25
25
  },
26
26
  dependencies() {
27
27
  this.addDevDependencies({
28
- prettier: '^3.2.5',
29
- '@prettier/plugin-php': '^0.22.2',
30
- '@trivago/prettier-plugin-sort-imports': '^4.1.1'
28
+ prettier: '^3.6.2',
29
+ '@prettier/plugin-php': '^0.24.0',
30
+ '@trivago/prettier-plugin-sort-imports': '^5.2.2',
31
+ 'stylelint-prettier': '^5.0.3'
31
32
  });
32
33
  }
33
34
  };
@@ -5,12 +5,19 @@
5
5
  "trailingComma": "all",
6
6
  "tabWidth": 4,
7
7
  "importOrder": [
8
- "styles\\.s?css$",
9
8
  "<THIRD_PARTY_MODULES>",
10
9
  "^[./](.*)?/(utils|hooks|lib)",
11
10
  "^[./].*(?<!(\\.[a-z]+))$",
12
- "\\.s?css$",
11
+ "\\.scss$",
13
12
  "\\.[a-z]+$"
14
13
  ],
15
- "importOrderSeparation": true
14
+ "importOrderSeparation": true,
15
+ "overrides": [
16
+ {
17
+ "files": "*.svg",
18
+ "options": {
19
+ "parser": "html"
20
+ }
21
+ }
22
+ ]
16
23
  }
@@ -88,25 +88,25 @@ module.exports = class ReactAppGenerator extends _generator.default {
88
88
  },
89
89
  dependencies() {
90
90
  this.addDependencies({
91
- react: '^18.0.0',
92
- 'react-dom': '^18.0.0',
93
- 'prop-types': '^15.0.0',
94
- 'react-intl': '^6.0.0',
95
- 'wouter': '^3.0.0',
96
- 'react-helmet': '^6.0.0',
97
- classnames: '^2.3.1',
98
- '@folklore/routes': '^0.2.31',
99
- '@folklore/fonts': '^0.0.13',
100
- '@folklore/forms': '^0.0.22',
101
- '@folklore/fetch': '^0.1.15',
102
- '@folklore/hooks': '^0.0.42',
103
- '@folklore/tracking': '^0.0.16',
91
+ react: '^19.1.1',
92
+ 'react-dom': '^19.1.1',
93
+ 'react-intl': '^7.1.1',
94
+ wouter: '^3.7.1',
95
+ 'react-helmet': '^6.1.0',
96
+ classnames: '^2.5.1',
97
+ '@folklore/routes': '^0.2.43',
98
+ '@folklore/fonts': '^0.0.16',
99
+ '@folklore/forms': '^0.0.29',
100
+ '@folklore/fetch': '^0.1.21',
101
+ '@folklore/hooks': '^0.0.75',
102
+ '@folklore/tracking': '^0.0.33',
104
103
  // Polyfills
105
104
  intl: '^1.2.5',
106
- '@formatjs/intl-locale': '^3.0.5',
107
- '@formatjs/intl-pluralrules': '^5.1.2',
105
+ '@formatjs/intl-locale': '^4.2.11',
106
+ '@formatjs/intl-pluralrules': '^5.4.4',
108
107
  'intersection-observer': '^0.12.2',
109
- 'resize-observer-polyfill': '^1.5.1'
108
+ 'resize-observer-polyfill': '^1.5.1',
109
+ 'sanitize.css': '^13.0.0'
110
110
  });
111
111
  }
112
112
  };
@@ -31,9 +31,9 @@ module.exports = class StylelintGenerator extends _generator.default {
31
31
  },
32
32
  dependencies() {
33
33
  this.addDevDependencies({
34
- stylelint: '^16.2.1',
34
+ stylelint: '^16.24.0',
35
35
  'stylelint-config-idiomatic-order': '^10.0.0',
36
- 'stylelint-config-standard': '^37.0.0'
36
+ 'stylelint-config-standard': '^39.0.0'
37
37
  });
38
38
  }
39
39
  };
@@ -1,9 +1,11 @@
1
1
  {
2
2
  "extends": [
3
3
  "stylelint-config-idiomatic-order",
4
- "stylelint-config-standard"
4
+ "stylelint-config-standard",
5
+ "stylelint-prettier/recommended"
5
6
  ],
6
7
  "rules": {
8
+ "order/properties-alphabetical-order": null,
7
9
  "declaration-property-value-no-unknown": true,
8
10
  "alpha-value-notation": "number",<% if (camelCase) {%>
9
11
  "selector-class-pattern": [
@@ -12,7 +14,7 @@
12
14
  "message": "Selector should be written in camel-case (selector-class-pattern)"
13
15
  }
14
16
  ],<% } %>
15
- "max-nesting-depth": 4,
17
+ "max-nesting-depth": [4, { "ignoreAtRules": ["each", "media", "supports", "include"] }],
16
18
  "import-notation": ["string", "url"]
17
19
  }
18
20
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "generator-folklore",
3
- "version": "3.0.26",
3
+ "version": "3.0.28",
4
4
  "description": "Yeoman generator for projects at Folklore",
5
5
  "keywords": [
6
6
  "yeoman-generator"
@@ -40,5 +40,5 @@
40
40
  "yeoman-generator": "5.9.0",
41
41
  "yeoman-remote": "^1.0.1"
42
42
  },
43
- "gitHead": "a04cfaacb364f3b35307d65d8778b078dace4491"
43
+ "gitHead": "92aaca1c13705e1ffe87c14add800189ef04b5da"
44
44
  }
@@ -1,7 +0,0 @@
1
- /lib
2
- /dist
3
- /es
4
- */*/lib/
5
- */*/dist/
6
- */*/es/
7
- node_modules
@@ -1,44 +0,0 @@
1
- {
2
- "extends": ["airbnb", "prettier"],
3
- "plugins": ["formatjs"],
4
- "parser": "@babel/eslint-parser",
5
- "parserOptions": {
6
- "ecmaVersion": "latest",
7
- "requireConfigFile": false,
8
- "babelOptions": {
9
- "presets": ["@babel/preset-react"]
10
- }
11
- },
12
- "env": {
13
- "browser": true,
14
- "node": true,
15
- "commonjs": true,
16
- "jest": true
17
- },
18
- "rules": {
19
- "react/jsx-indent": ["error", 4],
20
- "react/jsx-indent-props": ["error", 4],
21
- "react/function-component-definition": [
22
- "error",
23
- {
24
- "namedComponents": [
25
- "arrow-function",
26
- "function-declaration",
27
- "function-expression"
28
- ],
29
- "unnamedComponents": "function-expression"
30
- }
31
- ],
32
- "no-console": [
33
- "error",
34
- {
35
- "allow": ["warn", "error"]
36
- }
37
- ],
38
- "formatjs/enforce-default-message": ["error", "literal"],
39
- "formatjs/no-camel-case": ["error"]
40
- },
41
- "globals": {
42
- "__DEV__": true
43
- }
44
- }
@@ -1,10 +0,0 @@
1
- <?php
2
-
3
- namespace App\Contracts\Resources;
4
-
5
- use Folklore\Contracts\Resources\Block as BaseBlock;
6
-
7
- interface Block extends BaseBlock
8
- {
9
-
10
- }
@@ -1,10 +0,0 @@
1
- <?php
2
-
3
- namespace App\Contracts\Resources;
4
-
5
- use Folklore\Contracts\Resources\Page as BasePage;
6
-
7
- interface Page extends BasePage
8
- {
9
-
10
- }
@@ -1,9 +0,0 @@
1
- <?php
2
-
3
- namespace App\Contracts\Resources\Pages;
4
-
5
- use App\Contracts\Resources\Page as BasePage;
6
-
7
- interface Home extends BasePage
8
- {
9
- }
@@ -1,10 +0,0 @@
1
- <?php
2
-
3
- namespace App\Resources;
4
-
5
- use Folklore\Resources\Block as BaseBlock;
6
- use App\Contracts\Resources\Block as BlockContract;
7
-
8
- class Block extends BaseBlock implements BlockContract
9
- {
10
- }
@@ -1,10 +0,0 @@
1
- <?php
2
-
3
- namespace App\Resources;
4
-
5
- use Folklore\Resources\Page as BasePage;
6
- use App\Contracts\Resources\Page as PageContract;
7
-
8
- class Page extends BasePage implements PageContract
9
- {
10
- }
@@ -1,10 +0,0 @@
1
- <?php
2
-
3
- namespace App\Resources\Pages;
4
-
5
- use App\Resources\Page;
6
- use App\Contracts\Resources\Pages\Home as HomePageContract;
7
-
8
- class HomePage extends Page implements HomePageContract
9
- {
10
- }
@@ -1,10 +0,0 @@
1
- <?php
2
-
3
- namespace App\Contracts\Resources;
4
-
5
- use Folklore\Contracts\Resources\User as BaseUser;
6
-
7
- interface User extends BaseUser
8
- {
9
-
10
- }
@@ -1,11 +0,0 @@
1
- <?php
2
-
3
- namespace App\Resources;
4
-
5
- use Folklore\Resources\User as BaseUser;
6
- use App\Contracts\Resources\User as UserContract;
7
-
8
- class User extends BaseUser implements UserContract
9
- {
10
-
11
- }