@ng-atomic/schematics 1.5.0 → 2.0.0
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 +6 -4
- package/src/_testing/build-expected-file-paths.js +2 -1
- package/src/_testing/build-expected-file-paths.js.map +1 -1
- package/src/_testing/config.js +3 -2
- package/src/_testing/config.js.map +1 -1
- package/src/_utilities/add-path-to-routes.js +8 -6
- package/src/_utilities/add-path-to-routes.js.map +1 -1
- package/src/_utilities/angular-config.js +7 -4
- package/src/_utilities/angular-config.js.map +1 -1
- package/src/_utilities/ts-config.js +2 -1
- package/src/_utilities/ts-config.js.map +1 -1
- package/src/atomic-component/_test/example.atom.scss +1 -1
- package/src/atomic-component/index.js +19 -22
- package/src/atomic-component/index.js.map +1 -1
- package/src/atomic-component/index.spec.ts +2 -2
- package/src/atomic-component/schema.json +1 -1
- package/src/index.d.ts +6 -0
- package/src/index.js +10 -0
- package/src/index.js.map +1 -0
- package/src/ng-add/index.js +3 -3
- package/src/ng-add/index.js.map +1 -1
- package/src/ng-add/schema.json +2 -2
- package/src/page/_test/{test.module.ts.expected → example.module.ts} +5 -5
- package/src/page/_test/example.page.scss +6 -0
- package/src/page/_test/example.page.ts +15 -0
- package/src/page/index.js +11 -8
- package/src/page/index.js.map +1 -1
- package/src/page/index.spec.ts +17 -9
- package/src/pages/index.js +2 -1
- package/src/pages/index.js.map +1 -1
- package/src/setup/index.js +2 -1
- package/src/setup/index.js.map +1 -1
- package/src/setup/index.spec.ts +5 -5
- package/src/style-header/_test/example.scss +1 -1
- package/src/style-header/index.js +2 -2
- package/src/style-header/index.js.map +1 -1
- package/src/style-header/index.spec.ts +1 -1
- package/src/style-header/schema.json +1 -1
package/package.json
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ng-atomic/schematics",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"schematics": "./collection.json",
|
|
5
5
|
"ng-add": {
|
|
6
6
|
"save": "devDependencies"
|
|
7
7
|
},
|
|
8
|
-
"main": "src/index.js",
|
|
9
|
-
"typings": "src/index.d.ts",
|
|
8
|
+
"main": "./src/index.js",
|
|
9
|
+
"typings": "./src/index.d.ts",
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@angular/core": "
|
|
11
|
+
"@angular/core": "12.2.16",
|
|
12
|
+
"@angular/common": "12.2.16",
|
|
13
|
+
"@angular/router": "12.2.16",
|
|
12
14
|
"string-template": "^1.0.0"
|
|
13
15
|
},
|
|
14
16
|
"peerDependencies": {}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.buildExpectedFilePaths = void 0;
|
|
4
|
-
|
|
4
|
+
const buildExpectedFilePaths = (path, name, rootPath, type) => [
|
|
5
5
|
`${path}/${name}.module.ts`,
|
|
6
6
|
`${path}/${name}.${type}.scss`,
|
|
7
7
|
`${path}/${name}.${type}.spec.ts`,
|
|
8
8
|
`${path}/${name}.${type}.ts`,
|
|
9
9
|
`${path}/index.ts`,
|
|
10
10
|
].map(path => `${rootPath}/src/app/${path}`);
|
|
11
|
+
exports.buildExpectedFilePaths = buildExpectedFilePaths;
|
|
11
12
|
//# sourceMappingURL=build-expected-file-paths.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-expected-file-paths.js","sourceRoot":"","sources":["../../../../../libs/schematics/src/_testing/build-expected-file-paths.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"build-expected-file-paths.js","sourceRoot":"","sources":["../../../../../libs/schematics/src/_testing/build-expected-file-paths.ts"],"names":[],"mappings":";;;AAAO,MAAM,sBAAsB,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,QAAgB,EAAE,IAAY,EAAE,EAAE,CAAC;IACpG,GAAG,IAAI,IAAI,IAAI,YAAY;IAC3B,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO;IAC9B,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,UAAU;IACjC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK;IAC5B,GAAG,IAAI,WAAW;CACnB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,QAAQ,YAAY,IAAI,EAAE,CAAC,CAAC;AANhC,QAAA,sBAAsB,0BAMU"}
|
package/src/_testing/config.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.COLLECTION_PATH = void 0;
|
|
4
|
-
const
|
|
5
|
-
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const path_1 = tslib_1.__importDefault(require("path"));
|
|
6
|
+
exports.COLLECTION_PATH = path_1.default.join(__dirname, '../../collection.json');
|
|
6
7
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../libs/schematics/src/_testing/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../libs/schematics/src/_testing/config.ts"],"names":[],"mappings":";;;;AAAA,wDAAwB;AAEX,QAAA,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC"}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.addPathToRoutes = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
4
5
|
const ast_utils_1 = require("@nrwl/workspace/src/utils/ast-utils");
|
|
5
|
-
const
|
|
6
|
-
const isVariableDeclaration = (n) => n.kind ===
|
|
7
|
-
const isIdentifier = (n) => n.kind ===
|
|
8
|
-
const isArrayLiteralExpression = (n) => n.kind ===
|
|
6
|
+
const typescript_1 = tslib_1.__importDefault(require("typescript"));
|
|
7
|
+
const isVariableDeclaration = (n) => n.kind === typescript_1.default.SyntaxKind.VariableDeclaration;
|
|
8
|
+
const isIdentifier = (n) => n.kind === typescript_1.default.SyntaxKind.Identifier;
|
|
9
|
+
const isArrayLiteralExpression = (n) => n.kind === typescript_1.default.SyntaxKind.ArrayLiteralExpression;
|
|
9
10
|
const matchText = (n, text) => n.getText() === text;
|
|
10
11
|
const hasMatchTextChild = (n, text) => {
|
|
11
12
|
return n.getChildren().findIndex(c => (isIdentifier(c) && matchText(c, text))) !== -1;
|
|
12
13
|
};
|
|
13
14
|
const isRoutesVariableDeclaration = (n) => isVariableDeclaration(n) && hasMatchTextChild(n, 'routes');
|
|
14
|
-
|
|
15
|
-
const src =
|
|
15
|
+
const addPathToRoutes = ({ route, routingModulePath, removeOtherRoutes }) => (host) => {
|
|
16
|
+
const src = typescript_1.default.createSourceFile(routingModulePath, host.read(routingModulePath).toString('utf-8'), typescript_1.default.ScriptTarget.Latest, true);
|
|
16
17
|
const nodes = ast_utils_1.getSourceNodes(src);
|
|
17
18
|
const routeNodes = nodes.filter(isRoutesVariableDeclaration).map((n) => {
|
|
18
19
|
return n.getChildren().filter(isArrayLiteralExpression).reverse()[0];
|
|
@@ -26,4 +27,5 @@ exports.addPathToRoutes = ({ route, routingModulePath, removeOtherRoutes }) => (
|
|
|
26
27
|
}
|
|
27
28
|
return host;
|
|
28
29
|
};
|
|
30
|
+
exports.addPathToRoutes = addPathToRoutes;
|
|
29
31
|
//# sourceMappingURL=add-path-to-routes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-path-to-routes.js","sourceRoot":"","sources":["../../../../../libs/schematics/src/_utilities/add-path-to-routes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"add-path-to-routes.js","sourceRoot":"","sources":["../../../../../libs/schematics/src/_utilities/add-path-to-routes.ts"],"names":[],"mappings":";;;;AACA,mEAAqE;AACrE,oEAA4B;AAE5B,MAAM,qBAAqB,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC;AAC3F,MAAM,YAAY,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,UAAU,CAAC;AACzE,MAAM,wBAAwB,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC;AACjG,MAAM,SAAS,GAAG,CAAC,CAAU,EAAE,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC;AACrE,MAAM,iBAAiB,GAAG,CAAC,CAAU,EAAE,IAAY,EAAE,EAAE;IACtD,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACvF,CAAC,CAAC;AACF,MAAM,2BAA2B,GAAG,CAAC,CAAU,EAAE,EAAE,CAAE,qBAAqB,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;AAExG,MAAM,eAAe,GAAG,CAAC,EAAC,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAM,EAAE,EAAE,CAAC,CAAC,IAAU,EAAE,EAAE;IACrG,MAAM,GAAG,GAAG,oBAAE,CAAC,gBAAgB,CAC9B,iBAAiB,EACjB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAC/C,oBAAE,CAAC,YAAY,CAAC,MAAM,EACtB,IAAI,CACJ,CAAC;IAEF,MAAM,KAAK,GAAG,0BAAc,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE;QAC/E,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;QAC5B,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAA8B,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;KAC5B;IAED,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAtBW,QAAA,eAAe,mBAsB1B"}
|
|
@@ -3,16 +3,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.addStyleIncludePath = exports.setDefaultCollection = exports.addSchematicsConfig = void 0;
|
|
4
4
|
const lodash_1 = require("lodash");
|
|
5
5
|
const overwrite_1 = require("./overwrite");
|
|
6
|
-
const PACKAGE_NAME = '
|
|
7
|
-
|
|
6
|
+
const PACKAGE_NAME = '@ng-atomic/schematics';
|
|
7
|
+
const addSchematicsConfig = ({ project, componentsDir }, type) => (host) => {
|
|
8
8
|
const query = `projects.${project}.schematics.${PACKAGE_NAME}:${type}`;
|
|
9
9
|
return overwrite_1.overwrite(host, 'angular.json', json => (lodash_1.set(json, query, { 'path': `${componentsDir}/${type}s` }), json));
|
|
10
10
|
};
|
|
11
|
-
exports.
|
|
11
|
+
exports.addSchematicsConfig = addSchematicsConfig;
|
|
12
|
+
const setDefaultCollection = () => (host) => {
|
|
12
13
|
return overwrite_1.overwrite(host, 'angular.json', json => (lodash_1.set(json, `cli.defaultCollection`, PACKAGE_NAME), json));
|
|
13
14
|
};
|
|
14
|
-
exports.
|
|
15
|
+
exports.setDefaultCollection = setDefaultCollection;
|
|
16
|
+
const addStyleIncludePath = ({ project, stylesDir }) => (host) => {
|
|
15
17
|
const query = `projects.${project}.architect.build.options.stylePreprocessorOptions.includePaths`;
|
|
16
18
|
return overwrite_1.overwrite(host, 'angular.json', json => (lodash_1.set(json, query, [...new Set(lodash_1.get(json, query)).add(stylesDir)]), json));
|
|
17
19
|
};
|
|
20
|
+
exports.addStyleIncludePath = addStyleIncludePath;
|
|
18
21
|
//# sourceMappingURL=angular-config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"angular-config.js","sourceRoot":"","sources":["../../../../../libs/schematics/src/_utilities/angular-config.ts"],"names":[],"mappings":";;;AACA,mCAAkC;AAClC,2CAAwC;AAExC,MAAM,YAAY,GAAG,
|
|
1
|
+
{"version":3,"file":"angular-config.js","sourceRoot":"","sources":["../../../../../libs/schematics/src/_utilities/angular-config.ts"],"names":[],"mappings":";;;AACA,mCAAkC;AAClC,2CAAwC;AAExC,MAAM,YAAY,GAAG,uBAAuB,CAAC;AAEtC,MAAM,mBAAmB,GAAG,CAAC,EAAC,OAAO,EAAE,aAAa,EAAM,EAAE,IAAY,EAAE,EAAE,CAAC,CAAC,IAAU,EAAQ,EAAE;IACxG,MAAM,KAAK,GAAG,YAAY,OAAO,eAAe,YAAY,IAAI,IAAI,EAAE,CAAC;IACvE,OAAO,qBAAS,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,YAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAC,MAAM,EAAE,GAAG,aAAa,IAAI,IAAI,GAAG,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AACjH,CAAC,CAAC;AAHW,QAAA,mBAAmB,uBAG9B;AAEK,MAAM,oBAAoB,GAAG,GAAG,EAAE,CAAC,CAAC,IAAU,EAAE,EAAE;IACxD,OAAO,qBAAS,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,YAAG,CAAC,IAAI,EAAE,uBAAuB,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AAC1G,CAAC,CAAA;AAFY,QAAA,oBAAoB,wBAEhC;AAEM,MAAM,mBAAmB,GAAG,CAAC,EAAC,OAAO,EAAE,SAAS,EAAM,EAAE,EAAE,CAAC,CAAC,IAAU,EAAE,EAAE;IAChF,MAAM,KAAK,GAAG,YAAY,OAAO,gEAAgE,CAAC;IAClG,OAAO,qBAAS,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,YAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,YAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AACzH,CAAC,CAAC;AAHW,QAAA,mBAAmB,uBAG9B"}
|
|
@@ -3,11 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.addPathsToTsConfig = void 0;
|
|
4
4
|
const lodash_1 = require("lodash");
|
|
5
5
|
const overwrite_1 = require("./overwrite");
|
|
6
|
-
|
|
6
|
+
const addPathsToTsConfig = ({ componentsDir }) => (host) => {
|
|
7
7
|
return overwrite_1.overwrite(host, host.exists('tsconfig.base.json') ? 'tsconfig.base.json' : 'tsconfig.json', json => {
|
|
8
8
|
lodash_1.set(json, `compilerOptions.paths.@components`, [componentsDir]);
|
|
9
9
|
lodash_1.set(json, `compilerOptions.paths.@components/*`, [`${componentsDir}/*`]);
|
|
10
10
|
return json;
|
|
11
11
|
});
|
|
12
12
|
};
|
|
13
|
+
exports.addPathsToTsConfig = addPathsToTsConfig;
|
|
13
14
|
//# sourceMappingURL=ts-config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ts-config.js","sourceRoot":"","sources":["../../../../../libs/schematics/src/_utilities/ts-config.ts"],"names":[],"mappings":";;;AACA,mCAA6B;AAC7B,2CAAwC;
|
|
1
|
+
{"version":3,"file":"ts-config.js","sourceRoot":"","sources":["../../../../../libs/schematics/src/_utilities/ts-config.ts"],"names":[],"mappings":";;;AACA,mCAA6B;AAC7B,2CAAwC;AAEjC,MAAM,kBAAkB,GAAG,CAAC,EAAC,aAAa,EAAM,EAAE,EAAE,CAAC,CAAC,IAAU,EAAE,EAAE;IAC1E,OAAO,qBAAS,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,EAAE;QACzG,YAAG,CAAC,IAAI,EAAE,mCAAmC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;QAChE,YAAG,CAAC,IAAI,EAAE,qCAAqC,EAAE,CAAC,GAAG,aAAa,IAAI,CAAC,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC;IACb,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,kBAAkB,sBAM7B"}
|
|
@@ -3,36 +3,33 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.frame = exports.template = exports.organism = exports.molecule = exports.atom = exports.atomicComponent = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const schematics_1 = require("@angular-devkit/schematics");
|
|
6
|
-
const
|
|
6
|
+
const strings_1 = tslib_1.__importDefault(require("@angular-devkit/core/src/utils/strings"));
|
|
7
7
|
const parse_name_1 = require("@schematics/angular/utility/parse-name");
|
|
8
8
|
const workspace_1 = require("@schematics/angular/utility/workspace");
|
|
9
9
|
const path_1 = require("path");
|
|
10
|
-
|
|
11
|
-
var _a
|
|
12
|
-
|
|
13
|
-
options.path = path_1.join(yield workspace_1.createDefaultPath(host, options.project), (
|
|
14
|
-
const { name, path, type } = options = Object.assign(Object.assign({}, options), parse_name_1.parseName(options.path, options.name));
|
|
10
|
+
const atomicComponent = (options) => (host, _) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
11
|
+
var _a;
|
|
12
|
+
options.prefix || (options.prefix = `${options.type}s`);
|
|
13
|
+
options.path = path_1.join(yield workspace_1.createDefaultPath(host, options.project), (_a = options === null || options === void 0 ? void 0 : options.path) !== null && _a !== void 0 ? _a : '');
|
|
14
|
+
const { name, path, type, project } = options = Object.assign(Object.assign({}, options), parse_name_1.parseName(options.path, options.name));
|
|
15
15
|
const componentExt = options.useTypeAsExtension ? type : 'component';
|
|
16
16
|
const scssPath = `${path}/${name}/${name}.${componentExt}.scss`;
|
|
17
17
|
return schematics_1.chain([
|
|
18
|
-
schematics_1.externalSchematic('@schematics/angular', 'module', { name, path, project
|
|
18
|
+
schematics_1.externalSchematic('@schematics/angular', 'module', { name, path, project }),
|
|
19
19
|
schematics_1.externalSchematic('@schematics/angular', 'component', Object.assign(Object.assign({}, options), { type: componentExt, export: true })),
|
|
20
|
+
schematics_1.mergeWith(schematics_1.apply(schematics_1.url('./files'), [schematics_1.applyTemplates(Object.assign(Object.assign({}, strings_1.default), { name, type: type !== null && type !== void 0 ? type : 'component' })), schematics_1.move(path)])),
|
|
20
21
|
schematics_1.schematic('style-header', Object.assign(Object.assign({}, options), { name, type, path: scssPath })),
|
|
21
|
-
schematics_1.mergeWith(schematics_1.apply(schematics_1.url('./files'), [schematics_1.applyTemplates(Object.assign(Object.assign({}, strings), { name, type: type !== null && type !== void 0 ? type : 'component' })), schematics_1.move(path)])),
|
|
22
22
|
]);
|
|
23
23
|
});
|
|
24
|
-
exports.
|
|
25
|
-
|
|
26
|
-
exports.
|
|
27
|
-
|
|
28
|
-
exports.
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
tree.overwrite(indexTsPath, (lines.includes(line) ? lines : [...lines, line]).join('\n'));
|
|
36
|
-
return tree;
|
|
37
|
-
};
|
|
24
|
+
exports.atomicComponent = atomicComponent;
|
|
25
|
+
const atom = (options) => exports.atomicComponent((Object.assign(Object.assign({}, options), { type: 'atom' })));
|
|
26
|
+
exports.atom = atom;
|
|
27
|
+
const molecule = (options) => exports.atomicComponent((Object.assign(Object.assign({}, options), { type: 'molecule' })));
|
|
28
|
+
exports.molecule = molecule;
|
|
29
|
+
const organism = (options) => exports.atomicComponent((Object.assign(Object.assign({}, options), { type: 'organism' })));
|
|
30
|
+
exports.organism = organism;
|
|
31
|
+
const template = (options) => exports.atomicComponent((Object.assign(Object.assign({}, options), { type: 'template' })));
|
|
32
|
+
exports.template = template;
|
|
33
|
+
const frame = (options) => exports.atomicComponent((Object.assign(Object.assign({}, options), { type: 'frame' })));
|
|
34
|
+
exports.frame = frame;
|
|
38
35
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/schematics/src/atomic-component/index.ts"],"names":[],"mappings":";;;;AAAA,2DAIoC;AACpC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/schematics/src/atomic-component/index.ts"],"names":[],"mappings":";;;;AAAA,2DAIoC;AACpC,6FAA6D;AAC7D,uEAAmE;AACnE,qEAA0E;AAC1E,+BAA4B;AAGrB,MAAM,eAAe,GAAG,CAAC,OAAe,EAAQ,EAAE,CAAC,CAAO,IAAU,EAAE,CAAmB,EAAE,EAAE;;IACnG,OAAO,CAAC,MAAM,KAAd,OAAO,CAAC,MAAM,GAAK,GAAG,OAAO,CAAC,IAAI,GAAG,EAAC;IACtC,OAAO,CAAC,IAAI,GAAG,WAAI,CAAC,MAAM,6BAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,mCAAI,EAAE,CAAC,CAAC;IAEzF,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,mCAAO,OAAO,GAAK,sBAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACvG,MAAM,YAAY,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;IACrE,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,YAAY,OAAO,CAAC;IAEhE,OAAO,kBAAK,CAAC;QACZ,8BAAiB,CAAC,qBAAqB,EAAE,QAAQ,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAC,CAAC;QACzE,8BAAiB,CAAC,qBAAqB,EAAE,WAAW,kCAAM,OAAO,KAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,IAAE;QACrG,sBAAS,CAAC,kBAAK,CAAC,gBAAG,CAAC,SAAS,CAAC,EAAE,CAAC,2BAAc,iCAAK,iBAAO,KAAE,IAAI,EAAE,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,WAAW,IAAE,EAAE,iBAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7G,sBAAS,CAAC,cAAc,kCAAM,OAAO,KAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,IAAE;KACnE,CAAC,CAAC;AACJ,CAAC,CAAA,CAAC;AAdW,QAAA,eAAe,mBAc1B;AAEK,MAAM,IAAI,GAAG,CAAC,OAAe,EAAQ,EAAE,CAAC,uBAAe,CAAC,iCAAK,OAAO,KAAE,IAAI,EAAE,MAAM,IAAE,CAAC,CAAC;AAAhF,QAAA,IAAI,QAA4E;AACtF,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAQ,EAAE,CAAC,uBAAe,CAAC,iCAAK,OAAO,KAAE,IAAI,EAAE,UAAU,IAAE,CAAC,CAAC;AAAxF,QAAA,QAAQ,YAAgF;AAC9F,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAQ,EAAE,CAAC,uBAAe,CAAC,iCAAK,OAAO,KAAE,IAAI,EAAE,UAAU,IAAE,CAAC,CAAC;AAAxF,QAAA,QAAQ,YAAgF;AAC9F,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAQ,EAAE,CAAC,uBAAe,CAAC,iCAAK,OAAO,KAAE,IAAI,EAAE,UAAU,IAAE,CAAC,CAAC;AAAxF,QAAA,QAAQ,YAAgF;AAC9F,MAAM,KAAK,GAAG,CAAC,OAAe,EAAQ,EAAE,CAAC,uBAAe,CAAC,iCAAK,OAAO,KAAE,IAAI,EAAE,OAAO,IAAE,CAAC,CAAC;AAAlF,QAAA,KAAK,SAA6E"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing';
|
|
2
2
|
import { readFileSync } from 'fs';
|
|
3
|
-
import
|
|
3
|
+
import path from 'path';
|
|
4
4
|
import { join } from 'path';
|
|
5
5
|
import {
|
|
6
6
|
buildExpectedFilePaths,
|
|
@@ -80,7 +80,7 @@ describe('AtomicComponent Schematics', () => {
|
|
|
80
80
|
|
|
81
81
|
const inputScss = tree.read('/projects/app2/src/app/_shared/components/example/example.component.scss').toString('utf-8');
|
|
82
82
|
expect(inputScss.replace(/\s/g, '')).toEqual(`
|
|
83
|
-
@use 'scoped-var' as * with ($host: 'example');
|
|
83
|
+
@use 'scoped-var/strict' as * with ($host: 'example');
|
|
84
84
|
@use 'atomic/dialog' as *;
|
|
85
85
|
|
|
86
86
|
:host {
|
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
},
|
|
123
123
|
"styleHeader": {
|
|
124
124
|
"type": "string",
|
|
125
|
-
"default": "@use 'scoped-var' as * with ($host: '{name}');\n@use 'atomic/{type}' as *;\n:host {\n\t@include {type}($host);\n}\n",
|
|
125
|
+
"default": "@use 'scoped-var/strict' as * with ($host: '{name}');\n@use 'atomic/{type}' as *;\n:host {\n\t@include {type}($host);\n}\n",
|
|
126
126
|
"description": "scss header template. you can use template engine like `($host: '{name}.{type}'`. "
|
|
127
127
|
},
|
|
128
128
|
"useTypeAsExtension": {
|
package/src/index.d.ts
ADDED
package/src/index.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./atomic-component"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./ng-add"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./page"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./pages"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./setup"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./style-header"), exports);
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/schematics/src/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,mDAAyB;AACzB,iDAAuB;AACvB,kDAAwB;AACxB,kDAAwB;AACxB,yDAA+B"}
|
package/src/ng-add/index.js
CHANGED
|
@@ -10,11 +10,11 @@ function default_1(options) {
|
|
|
10
10
|
if (angularDependencyVersion === '0.0.0-NG') {
|
|
11
11
|
throw new Error('@angular/core version is not supported.');
|
|
12
12
|
}
|
|
13
|
-
_utilities_1.addPackageToPackageJson(host, '@ng-atomic/schematics', '1.
|
|
14
|
-
_utilities_1.addPackageToPackageJson(host, 'scoped-var', '1.
|
|
13
|
+
_utilities_1.addPackageToPackageJson(host, '@ng-atomic/schematics', '^1.0.0', 'devDependencies');
|
|
14
|
+
_utilities_1.addPackageToPackageJson(host, 'scoped-var', '^1.0.0', 'devDependencies');
|
|
15
15
|
const installTaskId = context.addTask(new tasks_1.NodePackageInstallTask());
|
|
16
16
|
// Set Up Angular Atomic Schematics
|
|
17
|
-
context.addTask(new tasks_1.RunSchematicTask('setup
|
|
17
|
+
context.addTask(new tasks_1.RunSchematicTask('setup', Object.assign({}, options)), [installTaskId]);
|
|
18
18
|
return host;
|
|
19
19
|
};
|
|
20
20
|
}
|
package/src/ng-add/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/schematics/src/ng-add/index.ts"],"names":[],"mappings":";;;AACA,4DAA4F;AAC5F,8CAA0F;AAE1F,mBAAwB,OAAY;IAClC,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC/C,MAAM,gBAAgB,GAAG,6CAAgC,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACjF,MAAM,wBAAwB,GAAG,gBAAgB,IAAI,UAAU,CAAC;QAEhE,IAAI,wBAAwB,KAAK,UAAU,EAAE;YAC3C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC5D;QAEH,oCAAuB,CAAC,IAAI,EAAE,uBAAuB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/schematics/src/ng-add/index.ts"],"names":[],"mappings":";;;AACA,4DAA4F;AAC5F,8CAA0F;AAE1F,mBAAwB,OAAY;IAClC,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC/C,MAAM,gBAAgB,GAAG,6CAAgC,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACjF,MAAM,wBAAwB,GAAG,gBAAgB,IAAI,UAAU,CAAC;QAEhE,IAAI,wBAAwB,KAAK,UAAU,EAAE;YAC3C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC5D;QAEH,oCAAuB,CAAC,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QACpF,oCAAuB,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAEzE,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,8BAAsB,EAAE,CAAC,CAAC;QAEpE,mCAAmC;QACnC,OAAO,CAAC,OAAO,CAAC,IAAI,wBAAgB,CAAC,OAAO,oBAAM,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAA;QAE7E,OAAO,IAAI,CAAA;IACX,CAAC,CAAA;AACH,CAAC;AAnBD,4BAmBC;AAED,SAAgB,uBAAuB,CAAC,GAAW;IACjD,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtE,QAAQ,KAAK,EAAE;QACb,KAAK,IAAI,CAAC,CAAC,OAAO,WAAW,CAAC;QAC9B,KAAK,IAAI,CAAC,CAAC,OAAO,WAAW,CAAC;QAC9B,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;KACrE;AACH,CAAC;AAPD,0DAOC"}
|
package/src/ng-add/schema.json
CHANGED
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
"componentsDir": {
|
|
15
15
|
"description": "Setup components directory",
|
|
16
16
|
"type": "string",
|
|
17
|
-
"default": "
|
|
18
|
-
"x-prompt": "Where do you setup Angular Atomic Components
|
|
17
|
+
"default": "_shared/components",
|
|
18
|
+
"x-prompt": "Where do you setup Angular Atomic Components?"
|
|
19
19
|
},
|
|
20
20
|
"stylesDir": {
|
|
21
21
|
"description": "Setup styles directory",
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { Routes, RouterModule } from '@angular/router';
|
|
4
|
-
import {
|
|
4
|
+
import { ExamplePage } from './example.page';
|
|
5
5
|
|
|
6
6
|
const routes: Routes = [
|
|
7
7
|
{
|
|
8
8
|
path: '',
|
|
9
|
-
component:
|
|
9
|
+
component: ExamplePage,
|
|
10
10
|
// loadChildren: () => import('./pages/pages.module').then(m => m.PagesModule)
|
|
11
11
|
}
|
|
12
12
|
];
|
|
13
13
|
|
|
14
14
|
@NgModule({
|
|
15
15
|
declarations: [
|
|
16
|
-
|
|
16
|
+
ExamplePage
|
|
17
17
|
],
|
|
18
18
|
imports: [
|
|
19
19
|
CommonModule,
|
|
20
20
|
RouterModule.forChild(routes)
|
|
21
21
|
],
|
|
22
22
|
exports: [
|
|
23
|
-
|
|
23
|
+
ExamplePage
|
|
24
24
|
]
|
|
25
25
|
})
|
|
26
|
-
export class
|
|
26
|
+
export class ExampleModule { }
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Component, OnInit } from '@angular/core';
|
|
2
|
+
|
|
3
|
+
@Component({
|
|
4
|
+
selector: 'pages-example',
|
|
5
|
+
templateUrl: './example.page.html',
|
|
6
|
+
styleUrls: ['./example.page.scss']
|
|
7
|
+
})
|
|
8
|
+
export class ExamplePage implements OnInit {
|
|
9
|
+
|
|
10
|
+
constructor() { }
|
|
11
|
+
|
|
12
|
+
ngOnInit(): void {
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
}
|
package/src/page/index.js
CHANGED
|
@@ -7,23 +7,26 @@ const parse_name_1 = require("@schematics/angular/utility/parse-name");
|
|
|
7
7
|
const strings_1 = require("@angular-devkit/core/src/utils/strings");
|
|
8
8
|
const _utilities_1 = require("../_utilities");
|
|
9
9
|
const workspace_1 = require("@schematics/angular/utility/workspace");
|
|
10
|
-
|
|
11
|
-
var _a
|
|
12
|
-
|
|
13
|
-
(_b = options.type) !== null && _b !== void 0 ? _b : (options.type = 'page');
|
|
10
|
+
const page = (options) => (host) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
11
|
+
var _a;
|
|
12
|
+
options.type = 'page';
|
|
14
13
|
options.name = resolveName(options.name);
|
|
15
|
-
|
|
14
|
+
options.prefix || (options.prefix = `${options.type}s`);
|
|
15
|
+
(_a = options.path) !== null && _a !== void 0 ? _a : (options.path = yield workspace_1.createDefaultPath(host, options.project));
|
|
16
|
+
const { name, path, type, project } = options = Object.assign(Object.assign({}, options), parse_name_1.parseName(options.path, options.name));
|
|
17
|
+
const componentExt = options.useTypeAsExtension ? type : 'component';
|
|
18
|
+
const scssPath = `${path}/${name}/${name}.${componentExt}.scss`;
|
|
16
19
|
const pages = getPagesOptions(`${path}/${name}`);
|
|
17
|
-
delete options['styleHeader'];
|
|
18
20
|
return schematics_1.chain([
|
|
19
21
|
schematics_1.schematic('pages', Object.assign(Object.assign({}, pages), { project })),
|
|
20
22
|
addRouteIntoPagesModule(options, pages),
|
|
21
23
|
schematics_1.schematic('pages', { name, path, project }),
|
|
22
|
-
schematics_1.externalSchematic('@schematics/angular', 'component', Object.assign(Object.assign({}, options), { export: true })),
|
|
23
|
-
|
|
24
|
+
schematics_1.externalSchematic('@schematics/angular', 'component', Object.assign(Object.assign({}, options), { changeDetection: 'Default', export: true })),
|
|
25
|
+
schematics_1.schematic('style-header', Object.assign(Object.assign({}, options), { name, type, path: scssPath })),
|
|
24
26
|
addRouteIntoPageModule(options, { path, name }),
|
|
25
27
|
]);
|
|
26
28
|
});
|
|
29
|
+
exports.page = page;
|
|
27
30
|
const getPagesOptions = (fullPath) => {
|
|
28
31
|
const [_, name, ...paths] = fullPath.split('/').reverse();
|
|
29
32
|
return { name, path: paths.reverse().join('/') };
|
package/src/page/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/schematics/src/page/index.ts"],"names":[],"mappings":";;;;AAAA,2DAA6F;AAC7F,uEAAmE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/schematics/src/page/index.ts"],"names":[],"mappings":"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"}
|
package/src/page/index.spec.ts
CHANGED
|
@@ -12,18 +12,26 @@ describe('Page Schematics', () => {
|
|
|
12
12
|
});
|
|
13
13
|
|
|
14
14
|
it('should create atomic component files', async () => {
|
|
15
|
-
const options = {project: 'app', name: '
|
|
15
|
+
const options = {project: 'app', name: 'example'};
|
|
16
16
|
const host = await runner.runSchematicAsync('page', options, tree).toPromise();
|
|
17
17
|
expect(host.files.includes('/projects/app/src/app/pages/pages.module.ts')).toBeTruthy();
|
|
18
|
-
expect(host.files.includes('/projects/app/src/app/pages/
|
|
19
|
-
expect(host.files.includes('/projects/app/src/app/pages/
|
|
20
|
-
expect(host.files.includes('/projects/app/src/app/pages/
|
|
21
|
-
expect(host.files.includes('/projects/app/src/app/pages/
|
|
22
|
-
expect(host.files.includes('/projects/app/src/app/pages/
|
|
18
|
+
expect(host.files.includes('/projects/app/src/app/pages/example/example.module.ts')).toBeTruthy();
|
|
19
|
+
expect(host.files.includes('/projects/app/src/app/pages/example/example.page.html')).toBeTruthy();
|
|
20
|
+
expect(host.files.includes('/projects/app/src/app/pages/example/example.page.scss')).toBeTruthy();
|
|
21
|
+
expect(host.files.includes('/projects/app/src/app/pages/example/example.page.spec.ts')).toBeTruthy();
|
|
22
|
+
expect(host.files.includes('/projects/app/src/app/pages/example/example.page.ts')).toBeTruthy();
|
|
23
23
|
|
|
24
|
-
const
|
|
25
|
-
const
|
|
26
|
-
expect(
|
|
24
|
+
const inputModuleTs = host.read('/projects/app/src/app/pages/example/example.module.ts').toString('utf-8');
|
|
25
|
+
const expectedModuleTs = readFileSync(join(__dirname, '_test/example.module.ts')).toString('utf-8');
|
|
26
|
+
expect(inputModuleTs.replace(/\s/g, '')).toEqual(expectedModuleTs.replace(/\s/g, ''));
|
|
27
|
+
|
|
28
|
+
const inputTs = host.read('/projects/app/src/app/pages/example/example.page.ts').toString('utf-8');
|
|
29
|
+
const expectedTs = readFileSync(join(__dirname, '_test/example.page.ts')).toString('utf-8');
|
|
30
|
+
expect(inputTs.replace(/\s/g, '')).toEqual(expectedTs.replace(/\s/g, ''));
|
|
31
|
+
|
|
32
|
+
const inputScss = host.read('/projects/app/src/app/pages/example/example.page.scss').toString('utf-8');
|
|
33
|
+
const expectedScss = readFileSync(join(__dirname, '_test/example.page.scss')).toString('utf-8');
|
|
34
|
+
expect(inputScss.replace(/\s/g, '')).toEqual(expectedScss.replace(/\s/g, ''));
|
|
27
35
|
|
|
28
36
|
});
|
|
29
37
|
});
|
package/src/pages/index.js
CHANGED
|
@@ -6,11 +6,12 @@ const core_1 = require("@angular-devkit/core");
|
|
|
6
6
|
const schematics_1 = require("@angular-devkit/schematics");
|
|
7
7
|
const parse_name_1 = require("@schematics/angular/utility/parse-name");
|
|
8
8
|
const workspace_1 = require("@schematics/angular/utility/workspace");
|
|
9
|
-
|
|
9
|
+
const pages = (options) => (host) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
10
10
|
var _a;
|
|
11
11
|
(_a = options.path) !== null && _a !== void 0 ? _a : (options.path = yield workspace_1.createDefaultPath(host, options.project));
|
|
12
12
|
const { name, path } = options = Object.assign(Object.assign({}, options), parse_name_1.parseName(options.path, options.name));
|
|
13
13
|
return host.exists(`${path}/${name}/${name}.module.ts`) ? schematics_1.noop() : genModule(options);
|
|
14
14
|
});
|
|
15
|
+
exports.pages = pages;
|
|
15
16
|
const genModule = (options) => schematics_1.mergeWith(schematics_1.apply(schematics_1.url('./files'), [schematics_1.applyTemplates(Object.assign(Object.assign({}, core_1.strings), options)), schematics_1.move(options.path)]));
|
|
16
17
|
//# sourceMappingURL=index.js.map
|
package/src/pages/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/schematics/src/pages/index.ts"],"names":[],"mappings":";;;;AAAA,+CAA+C;AAC/C,2DAA2G;AAC3G,uEAAmE;AACnE,qEAA0E;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/schematics/src/pages/index.ts"],"names":[],"mappings":";;;;AAAA,+CAA+C;AAC/C,2DAA2G;AAC3G,uEAAmE;AACnE,qEAA0E;AAGnE,MAAM,KAAK,GAAG,CAAC,OAAe,EAAQ,EAAE,CAAC,CAAO,IAAU,EAAE,EAAE;;IACnE,MAAA,OAAO,CAAC,IAAI,oCAAZ,OAAO,CAAC,IAAI,GAAK,MAAM,6BAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EAAC;IAChE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,mCAAO,OAAO,GAAK,sBAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACxF,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,iBAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACxF,CAAC,CAAA,CAAC;AAJW,QAAA,KAAK,SAIhB;AAEF,MAAM,SAAS,GAAG,CAAC,OAAe,EAAE,EAAE,CACpC,sBAAS,CAAC,kBAAK,CAAC,gBAAG,CAAC,SAAS,CAAC,EAAE,CAAC,2BAAc,iCAAK,cAAO,GAAK,OAAO,EAAE,EAAE,iBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
package/src/setup/index.js
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.setup = void 0;
|
|
4
4
|
const schematics_1 = require("@angular-devkit/schematics");
|
|
5
5
|
const _utilities_1 = require("../_utilities");
|
|
6
|
-
|
|
6
|
+
const setup = (options) => schematics_1.chain([
|
|
7
7
|
_utilities_1.addSchematicsConfig(options, 'atom'),
|
|
8
8
|
_utilities_1.addSchematicsConfig(options, 'molecule'),
|
|
9
9
|
_utilities_1.addSchematicsConfig(options, 'organism'),
|
|
@@ -13,5 +13,6 @@ exports.setup = (options) => schematics_1.chain([
|
|
|
13
13
|
(host) => host.exists(`${options.stylesDir}/atomic`) ? schematics_1.noop() : addStyleFiles(options),
|
|
14
14
|
_utilities_1.addPathsToTsConfig(options),
|
|
15
15
|
]);
|
|
16
|
+
exports.setup = setup;
|
|
16
17
|
const addStyleFiles = (options) => schematics_1.mergeWith(schematics_1.apply(schematics_1.url('./files'), [schematics_1.template({}), schematics_1.move(options.stylesDir)]));
|
|
17
18
|
//# sourceMappingURL=index.js.map
|
package/src/setup/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/schematics/src/setup/index.ts"],"names":[],"mappings":";;;AAAA,2DAA4G;AAC5G,8CAAmH;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/schematics/src/setup/index.ts"],"names":[],"mappings":";;;AAAA,2DAA4G;AAC5G,8CAAmH;AAE5G,MAAM,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;AATU,QAAA,KAAK,SASf;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"}
|
package/src/setup/index.spec.ts
CHANGED
|
@@ -14,12 +14,12 @@ describe('Setup Schematics', () => {
|
|
|
14
14
|
const options = {project: 'app', name: 'pages'};
|
|
15
15
|
const host = await runner.runSchematicAsync('setup', options, tree).toPromise();
|
|
16
16
|
const angularJson = JSON.parse(host.read('/angular.json').toString('utf-8'));
|
|
17
|
-
expect(get(angularJson, 'cli.defaultCollection')).toEqual('
|
|
17
|
+
expect(get(angularJson, 'cli.defaultCollection')).toEqual('@ng-atomic/schematics');
|
|
18
18
|
const schematicsJson = get(angularJson, 'projects.app.schematics');
|
|
19
19
|
|
|
20
20
|
for (const type of ['atom', 'molecule', 'organism', 'template']) {
|
|
21
|
-
expect(get(schematicsJson,
|
|
22
|
-
.toEqual({path: `
|
|
21
|
+
expect(get(schematicsJson, `@ng-atomic/schematics:${type}`))
|
|
22
|
+
.toEqual({path: `_shared/components/${type}s`});
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
const architectJson = get(angularJson, 'projects.app.architect');
|
|
@@ -31,7 +31,7 @@ describe('Setup Schematics', () => {
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
const tsconfigJson = JSON.parse(host.read('/tsconfig.json').toString('utf-8'));
|
|
34
|
-
expect(get(tsconfigJson, 'compilerOptions.paths.@components')).toContain('
|
|
35
|
-
expect(get(tsconfigJson, 'compilerOptions.paths.@components/*')).toContain('
|
|
34
|
+
expect(get(tsconfigJson, 'compilerOptions.paths.@components')).toContain('_shared/components');
|
|
35
|
+
expect(get(tsconfigJson, 'compilerOptions.paths.@components/*')).toContain('_shared/components/*');
|
|
36
36
|
});
|
|
37
37
|
});
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const strings_1 = require("@angular-devkit/core/src/utils/strings");
|
|
5
|
-
const
|
|
5
|
+
const string_template_1 = tslib_1.__importDefault(require("string-template"));
|
|
6
6
|
const path_1 = require("path");
|
|
7
7
|
const save_file_1 = require("../_utilities/save-file");
|
|
8
8
|
const buildOptions = (options) => {
|
|
9
9
|
var _a, _b;
|
|
10
10
|
return (Object.assign(Object.assign({}, options), { name: (options === null || options === void 0 ? void 0 : options.name) || ((_a = path_1.basename(options.path, '.scss').split('.')) === null || _a === void 0 ? void 0 : _a[0]), type: (options === null || options === void 0 ? void 0 : options.type) || ((_b = path_1.basename(options.path, '.scss').split('.').reverse()) === null || _b === void 0 ? void 0 : _b[0]) }));
|
|
11
11
|
};
|
|
12
|
-
const buildStyle = ({ styleHeader, name, type }) =>
|
|
12
|
+
const buildStyle = ({ styleHeader, name, type }) => string_template_1.default(styleHeader, { name: strings_1.dasherize(name), type: type });
|
|
13
13
|
exports.default = (_options) => (host) => {
|
|
14
14
|
const _a = buildOptions(_options), { path } = _a, extra = tslib_1.__rest(_a, ["path"]);
|
|
15
15
|
return save_file_1.saveFile(host, path, (src) => `${buildStyle(extra)}${src}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/schematics/src/style-header/index.ts"],"names":[],"mappings":";;;AACA,oEAAkE;AAClE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/schematics/src/style-header/index.ts"],"names":[],"mappings":";;;AACA,oEAAkE;AAClE,8EAAqC;AACrC,+BAAgC;AAEhC,uDAAmD;AAEnD,MAAM,YAAY,GAAG,CAAC,OAAe,EAAU,EAAE;;IAAC,OAAA,iCAC7C,OAAO,KACV,IAAI,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAI,MAAA,eAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,0CAAG,CAAC,CAAC,CAAA,EACtE,IAAI,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAI,MAAA,eAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,0CAAG,CAAC,CAAC,CAAA,IAChF,CAAA;CAAA,CAAC;AAEH,MAAM,UAAU,GAAG,CAAC,EAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAgD,EAAU,EAAE,CACtG,yBAAM,CAAC,WAAW,EAAE,EAAC,IAAI,EAAE,mBAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;AAE3D,kBAAe,CAAC,QAAgB,EAAQ,EAAE,CAAC,CAAC,IAAU,EAAE,EAAE;IACxD,MAAM,KAAmB,YAAY,CAAC,QAAQ,CAAC,EAAzC,EAAC,IAAI,OAAoC,EAA/B,KAAK,sBAAf,QAAgB,CAAyB,CAAC;IAChD,OAAO,oBAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,GAAW,EAAU,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;AACrF,CAAC,CAAA"}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
},
|
|
14
14
|
"styleHeader": {
|
|
15
15
|
"type": "string",
|
|
16
|
-
"default": "@use 'scoped-var' as * with ($host: '{name}');\n@use 'atomic/{type}' as *;\n:host {\n\t@include {type}($host);\n}\n",
|
|
16
|
+
"default": "@use 'scoped-var/strict' as * with ($host: '{name}');\n@use 'atomic/{type}' as *;\n:host {\n\t@include {type}($host);\n}\n",
|
|
17
17
|
"description": "scss header template. you can use template engine like `($host: '{name}.{type}'`. "
|
|
18
18
|
}
|
|
19
19
|
},
|