@ng-atomic/schematics 0.0.1

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 (77) hide show
  1. package/README.md +7 -0
  2. package/collection.json +56 -0
  3. package/package.json +14 -0
  4. package/src/_testing/build-expected-file-paths.d.ts +1 -0
  5. package/src/_testing/build-expected-file-paths.js +11 -0
  6. package/src/_testing/build-expected-file-paths.js.map +1 -0
  7. package/src/_testing/config.d.ts +1 -0
  8. package/src/_testing/config.js +6 -0
  9. package/src/_testing/config.js.map +1 -0
  10. package/src/_testing/create-app-module.d.ts +3 -0
  11. package/src/_testing/create-app-module.js +48 -0
  12. package/src/_testing/create-app-module.js.map +1 -0
  13. package/src/_testing/create-package.d.ts +3 -0
  14. package/src/_testing/create-package.js +14 -0
  15. package/src/_testing/create-package.js.map +1 -0
  16. package/src/_testing/create-workspace.d.ts +42 -0
  17. package/src/_testing/create-workspace.js +40 -0
  18. package/src/_testing/create-workspace.js.map +1 -0
  19. package/src/_testing/index.d.ts +4 -0
  20. package/src/_testing/index.js +8 -0
  21. package/src/_testing/index.js.map +1 -0
  22. package/src/_utilities/add-path-to-routes.d.ts +2 -0
  23. package/src/_utilities/add-path-to-routes.js +29 -0
  24. package/src/_utilities/add-path-to-routes.js.map +1 -0
  25. package/src/_utilities/angular-config.d.ts +4 -0
  26. package/src/_utilities/angular-config.js +18 -0
  27. package/src/_utilities/angular-config.js.map +1 -0
  28. package/src/_utilities/index.d.ts +4 -0
  29. package/src/_utilities/index.js +8 -0
  30. package/src/_utilities/index.js.map +1 -0
  31. package/src/_utilities/overwrite.d.ts +2 -0
  32. package/src/_utilities/overwrite.js +13 -0
  33. package/src/_utilities/overwrite.js.map +1 -0
  34. package/src/_utilities/package-config.d.ts +12 -0
  35. package/src/_utilities/package-config.js +47 -0
  36. package/src/_utilities/package-config.js.map +1 -0
  37. package/src/_utilities/ts-config.d.ts +2 -0
  38. package/src/_utilities/ts-config.js +13 -0
  39. package/src/_utilities/ts-config.js.map +1 -0
  40. package/src/atomic-component/_test/example.atom.ts.expected +15 -0
  41. package/src/atomic-component/files/__name@dasherize__/index.ts.template +1 -0
  42. package/src/atomic-component/index.d.ts +8 -0
  43. package/src/atomic-component/index.js +38 -0
  44. package/src/atomic-component/index.js.map +1 -0
  45. package/src/atomic-component/index.spec.ts +159 -0
  46. package/src/atomic-component/schema.d.ts +20 -0
  47. package/src/atomic-component/schema.js +3 -0
  48. package/src/atomic-component/schema.js.map +1 -0
  49. package/src/atomic-component/schema.json +133 -0
  50. package/src/ng-add/index.d.ts +3 -0
  51. package/src/ng-add/index.js +35 -0
  52. package/src/ng-add/index.js.map +1 -0
  53. package/src/ng-add/schema.json +29 -0
  54. package/src/page/_test/test.module.ts.expected +26 -0
  55. package/src/page/index.d.ts +3 -0
  56. package/src/page/index.js +54 -0
  57. package/src/page/index.js.map +1 -0
  58. package/src/page/index.spec.ts +29 -0
  59. package/src/pages/files/__name@dasherize__/__name@dasherize__.module.ts.template +15 -0
  60. package/src/pages/index.d.ts +3 -0
  61. package/src/pages/index.js +16 -0
  62. package/src/pages/index.js.map +1 -0
  63. package/src/pages/index.spec.ts +17 -0
  64. package/src/pages/schema.d.ts +7 -0
  65. package/src/pages/schema.js +3 -0
  66. package/src/pages/schema.js.map +1 -0
  67. package/src/pages/schema.json +44 -0
  68. package/src/setup/files/atomic/_atom.scss +7 -0
  69. package/src/setup/files/atomic/_component.scss +12 -0
  70. package/src/setup/files/atomic/_molecule.scss +7 -0
  71. package/src/setup/files/atomic/_organism.scss +7 -0
  72. package/src/setup/files/atomic/_page.scss +7 -0
  73. package/src/setup/files/atomic/_template.scss +7 -0
  74. package/src/setup/index.d.ts +2 -0
  75. package/src/setup/index.js +17 -0
  76. package/src/setup/index.js.map +1 -0
  77. package/src/setup/index.spec.ts +37 -0
@@ -0,0 +1,7 @@
1
+ @import 'host-variable';
2
+ @import 'atomic/component';
3
+
4
+ @mixin atom($host) {
5
+ @include component($host);
6
+ }
7
+
@@ -0,0 +1,12 @@
1
+ @import 'host-variable';
2
+
3
+ @mixin component($host) {
4
+ display: block;
5
+
6
+ @include hvar(--cell, 8px);
7
+
8
+ * {
9
+ --cell: #{hvar(--cell)};
10
+ }
11
+ }
12
+
@@ -0,0 +1,7 @@
1
+ @import 'host-variable';
2
+ @import 'atomic/component';
3
+
4
+ @mixin molecule($host) {
5
+ @include component($host);
6
+ }
7
+
@@ -0,0 +1,7 @@
1
+ @import 'host-variable';
2
+ @import 'atomic/component';
3
+
4
+ @mixin organism($host) {
5
+ @include component($host);
6
+ }
7
+
@@ -0,0 +1,7 @@
1
+ @import 'host-variable';
2
+ @import 'atomic/component';
3
+
4
+ @mixin page($host) {
5
+ @include component($host);
6
+ }
7
+
@@ -0,0 +1,7 @@
1
+ @import 'host-variable';
2
+ @import 'atomic/component';
3
+
4
+ @mixin template($host) {
5
+ @include component($host);
6
+ }
7
+
@@ -0,0 +1,2 @@
1
+ import { Rule } from '@angular-devkit/schematics';
2
+ export declare const setup: (options: any) => Rule;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setup = void 0;
4
+ const schematics_1 = require("@angular-devkit/schematics");
5
+ const _utilities_1 = require("../_utilities");
6
+ exports.setup = (options) => schematics_1.chain([
7
+ _utilities_1.addSchematicsConfig(options, 'atom'),
8
+ _utilities_1.addSchematicsConfig(options, 'molecule'),
9
+ _utilities_1.addSchematicsConfig(options, 'organism'),
10
+ _utilities_1.addSchematicsConfig(options, 'template'),
11
+ _utilities_1.setDefaultCollection(),
12
+ _utilities_1.addStyleIncludePath(options),
13
+ (host) => host.exists(`${options.stylesDir}/atomic`) ? schematics_1.noop() : addStyleFiles(options),
14
+ _utilities_1.addPathsToTsConfig(options),
15
+ ]);
16
+ const addStyleFiles = (options) => schematics_1.mergeWith(schematics_1.apply(schematics_1.url('./files'), [schematics_1.template({}), schematics_1.move(options.stylesDir)]));
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/schematics/src/setup/index.ts"],"names":[],"mappings":";;;AAAA,2DAA4G;AAC5G,8CAAmH;AAEtG,QAAA,KAAK,GAAG,CAAC,OAAY,EAAQ,EAAE,CAAC,kBAAK,CAAC;IAClD,gCAAmB,CAAC,OAAO,EAAE,MAAM,CAAC;IACpC,gCAAmB,CAAC,OAAO,EAAE,UAAU,CAAC;IACxC,gCAAmB,CAAC,OAAO,EAAE,UAAU,CAAC;IACxC,gCAAmB,CAAC,OAAO,EAAE,UAAU,CAAC;IACxC,iCAAoB,EAAE;IACtB,gCAAmB,CAAC,OAAO,CAAC;IAC5B,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,iBAAI,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC;IAC5F,+BAAkB,CAAC,OAAO,CAAC;CAC3B,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,CAAC,OAAY,EAAE,EAAE,CAAC,sBAAS,CAAC,kBAAK,CAAC,gBAAG,CAAC,SAAS,CAAC,EAAE,CAAC,qBAAQ,CAAC,EAAE,CAAC,EAAE,iBAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing';
2
+ import { COLLECTION_PATH, createWorkspace } from '../_testing';
3
+ import { get } from 'lodash';
4
+
5
+ describe('Setup Schematics', () => {
6
+ const runner = new SchematicTestRunner('@ng-atomic/schematics', COLLECTION_PATH);
7
+ let tree: UnitTestTree;
8
+
9
+ beforeEach(async () => {
10
+ tree = await createWorkspace(runner, tree);
11
+ });
12
+
13
+ it('should create component files', async () => {
14
+ const options = {project: 'app', name: 'pages'};
15
+ const host = await runner.runSchematicAsync('setup', options, tree).toPromise();
16
+ const angularJson = JSON.parse(host.read('/angular.json').toString('utf-8'));
17
+ expect(get(angularJson, 'cli.defaultCollection')).toEqual('angular-atomic-schematics');
18
+ const schematicsJson = get(angularJson, 'projects.app.schematics');
19
+
20
+ for (const type of ['atom', 'molecule', 'organism', 'template']) {
21
+ expect(get(schematicsJson, `angular-atomic-schematics:${type}`))
22
+ .toEqual({path: `src/app/_shared/components/${type}s`});
23
+ }
24
+
25
+ const architectJson = get(angularJson, 'projects.app.architect');
26
+ expect(get(architectJson, 'build.options.stylePreprocessorOptions.includePaths'))
27
+ .toContain('src/styles');
28
+
29
+ for (const type of ['component', 'atom', 'molecule', 'organism', 'template', 'page']) {
30
+ expect(host.files).toContain(`/src/styles/atomic/_${type}.scss`);
31
+ }
32
+
33
+ const tsconfigJson = JSON.parse(host.read('/tsconfig.json').toString('utf-8'));
34
+ expect(get(tsconfigJson, 'compilerOptions.paths.@components')).toContain('src/app/_shared/components');
35
+ expect(get(tsconfigJson, 'compilerOptions.paths.@components/*')).toContain('src/app/_shared/components/*');
36
+ });
37
+ });