@newlogic-digital/core 0.9.13 → 1.0.0-beta.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. package/README.md +15 -45
  2. package/index.js +262 -43
  3. package/package.json +13 -58
  4. package/LICENSE +0 -674
  5. package/modules/Core.js +0 -626
  6. package/modules/Emails.js +0 -110
  7. package/modules/Icons.js +0 -140
  8. package/modules/Scripts.js +0 -321
  9. package/modules/Serve.js +0 -124
  10. package/modules/Styles.js +0 -298
  11. package/modules/Templates.js +0 -468
  12. package/modules/Utils.js +0 -299
  13. package/modules/Watch.js +0 -75
  14. package/modules/tailwind/index.cjs +0 -84
  15. package/modules/tailwind/index.js +0 -75
  16. package/packages/gulp-clean-css/LICENSE +0 -20
  17. package/packages/gulp-clean-css/README.md +0 -79
  18. package/packages/gulp-clean-css/index.js +0 -66
  19. package/packages/gulp-clean-css/package.json +0 -68
  20. package/packages/gulp-twig2html/CHANGELOG.md +0 -77
  21. package/packages/gulp-twig2html/LICENSE +0 -22
  22. package/packages/gulp-twig2html/README.md +0 -112
  23. package/packages/gulp-twig2html/index.js +0 -30
  24. package/packages/gulp-twig2html/package.json +0 -47
  25. package/packages/postcss-inset/CHANGELOG.md +0 -5
  26. package/packages/postcss-inset/LICENSE.md +0 -106
  27. package/packages/postcss-inset/README.md +0 -121
  28. package/packages/postcss-inset/index.cjs.js +0 -49
  29. package/packages/postcss-inset/index.es.mjs +0 -47
  30. package/packages/postcss-inset/index.js +0 -47
  31. package/packages/postcss-inset/package.json +0 -58
  32. package/packages/twig-renderer/CHANGELOG.md +0 -66
  33. package/packages/twig-renderer/LICENSE +0 -22
  34. package/packages/twig-renderer/README.md +0 -93
  35. package/packages/twig-renderer/package.json +0 -49
  36. package/packages/twig-renderer/twig-renderer.js +0 -90
@@ -1,49 +0,0 @@
1
- 'use strict';
2
-
3
- const creator = () => {
4
- // side properties
5
- const properties = ['top', 'right', 'bottom', 'left'];
6
-
7
- return {
8
- postcssPlugin: 'postcss-inset',
9
- Declaration: {
10
- 'inset': (decl, { list }) => {
11
- // space-separated side values (top, right, bottom, left)
12
- const values = list.space(decl.value);
13
-
14
- // conditionally add a right value
15
- if (values.length === 1) {
16
- values.push(values[0]);
17
- }
18
-
19
- // conditionally add a bottom value
20
- if (values.length === 2) {
21
- values.push(values[0]);
22
- }
23
-
24
- // conditionally add a left value
25
- if (values.length === 3) {
26
- values.push(values[1]);
27
- }
28
-
29
- // only transform up to 4 side values
30
- if (values.length === 4) {
31
- // for each side property
32
- properties.forEach((property, index) => {
33
- // create a new declaration for the side
34
- decl.cloneBefore({
35
- prop: property,
36
- value: values[index]
37
- });
38
- });
39
- }
40
-
41
- decl.remove();
42
- },
43
- }
44
- }
45
- };
46
-
47
- creator.postcss = true;
48
-
49
- module.exports = creator;
@@ -1,47 +0,0 @@
1
- const creator = () => {
2
- // side properties
3
- const properties = ['top', 'right', 'bottom', 'left'];
4
-
5
- return {
6
- postcssPlugin: 'postcss-inset',
7
- Declaration: {
8
- 'inset': (decl, { list }) => {
9
- // space-separated side values (top, right, bottom, left)
10
- const values = list.space(decl.value);
11
-
12
- // conditionally add a right value
13
- if (values.length === 1) {
14
- values.push(values[0]);
15
- }
16
-
17
- // conditionally add a bottom value
18
- if (values.length === 2) {
19
- values.push(values[0]);
20
- }
21
-
22
- // conditionally add a left value
23
- if (values.length === 3) {
24
- values.push(values[1]);
25
- }
26
-
27
- // only transform up to 4 side values
28
- if (values.length === 4) {
29
- // for each side property
30
- properties.forEach((property, index) => {
31
- // create a new declaration for the side
32
- decl.cloneBefore({
33
- prop: property,
34
- value: values[index]
35
- });
36
- });
37
- }
38
-
39
- decl.remove();
40
- },
41
- }
42
- }
43
- };
44
-
45
- creator.postcss = true;
46
-
47
- export default creator;
@@ -1,47 +0,0 @@
1
- const creator = () => {
2
- // side properties
3
- const properties = ['top', 'right', 'bottom', 'left'];
4
-
5
- return {
6
- postcssPlugin: 'postcss-inset',
7
- Declaration: {
8
- 'inset': (decl, { list }) => {
9
- // space-separated side values (top, right, bottom, left)
10
- const values = list.space(decl.value);
11
-
12
- // conditionally add a right value
13
- if (values.length === 1) {
14
- values.push(values[0]);
15
- }
16
-
17
- // conditionally add a bottom value
18
- if (values.length === 2) {
19
- values.push(values[0]);
20
- }
21
-
22
- // conditionally add a left value
23
- if (values.length === 3) {
24
- values.push(values[1]);
25
- }
26
-
27
- // only transform up to 4 side values
28
- if (values.length === 4) {
29
- // for each side property
30
- properties.forEach((property, index) => {
31
- // create a new declaration for the side
32
- decl.cloneBefore({
33
- prop: property,
34
- value: values[index]
35
- });
36
- });
37
- }
38
-
39
- decl.remove();
40
- },
41
- }
42
- }
43
- }
44
-
45
- creator.postcss = true
46
-
47
- export default creator
@@ -1,58 +0,0 @@
1
- {
2
- "name": "postcss-inset",
3
- "version": "1.0.0",
4
- "description": "Use the inset property in CSS",
5
- "author": "Jonathan Neal <jonathantneal@hotmail.com>",
6
- "license": "CC0-1.0",
7
- "repository": "jonathantneal/postcss-inset",
8
- "homepage": "https://github.com/jonathantneal/postcss-inset#readme",
9
- "bugs": "https://github.com/jonathantneal/postcss-inset/issues",
10
- "main": "index.cjs.js",
11
- "module": "index.es.mjs",
12
- "files": [
13
- "index.js"
14
- ],
15
- "scripts": {
16
- "clean": "git clean -X -d -f",
17
- "build": "rollup index.js --file index.cjs.js --format cjs --exports default && rollup index.js --file index.es.mjs --format es --exports default",
18
- "prepublish": "npm test",
19
- "test": "echo 'Running tests...'; npm run test:js && npm run test:tape",
20
- "test:js": "eslint *.js --cache --ignore-pattern .gitignore",
21
- "test:tape": "postcss-tape"
22
- },
23
- "engines": {
24
- "node": ">=4.0.0"
25
- },
26
- "dependencies": {
27
- "postcss": "^6.0.1"
28
- },
29
- "devDependencies": {
30
- "eslint": "^3.19.0",
31
- "eslint-config-dev": "2.0.0",
32
- "postcss-tape": "2.0.1",
33
- "pre-commit": "^1.2.2"
34
- },
35
- "eslintConfig": {
36
- "extends": "dev"
37
- },
38
- "keywords": [
39
- "postcss",
40
- "css",
41
- "postcss-plugin",
42
- "inset",
43
- "position",
44
- "top",
45
- "right",
46
- "bottom",
47
- "left",
48
- "sides",
49
- "four",
50
- "clockwise",
51
- "vertical",
52
- "horizontal",
53
- "start",
54
- "end",
55
- "block",
56
- "inline"
57
- ]
58
- }
@@ -1,66 +0,0 @@
1
- # Release History
2
-
3
- ## v0.5.0, 2021-03-10
4
- * replace `Object.assign` with `lodash.merge` for deep merge
5
- * update `twig` to 1.15.4
6
- * update devDependencies
7
-
8
- ---
9
-
10
- ## v0.4.2, 2020-11-09
11
- * update `twig` to 1.15.3
12
- * update devDependencies
13
-
14
- ---
15
-
16
- ## v0.4.1, 2020-08-18
17
- * update `twig` to 1.15.2
18
- * update devDependencies
19
-
20
- ---
21
-
22
- ## v0.4.0, 2020-08-04
23
- * drop node 8 support
24
-
25
- ---
26
-
27
- ## v0.3.0, 2020-08-04
28
- * update `twig` to 1.15.1
29
- * update devDependencies
30
-
31
- ---
32
-
33
- ## v0.2.0, 2019-11-14
34
- * update `twig` to 1.14.0
35
- * update devDependencies
36
-
37
- ---
38
-
39
- ## v0.1.5, 2019-09-27
40
- * fixes context inheritance
41
-
42
- ---
43
-
44
- ## v0.1.4, 2019-08-29
45
- * update devDependencies
46
-
47
- ---
48
-
49
- ## v0.1.3, 2019-07-16
50
- * fix npm vulnerabilities
51
-
52
- ---
53
-
54
- ## v0.1.2, 2019-07-15
55
- * fix npm vulnerabilities
56
-
57
- ---
58
-
59
- ## v0.1.1, 2019-07-12
60
- * eslint-plugin-node Requires Node.js >=8.10.0
61
- * update deps
62
-
63
- ---
64
-
65
- ## v0.1.0, 2019-06-05
66
- * first commit
@@ -1,22 +0,0 @@
1
- Copyright (c) 2019, Viktor Dmitrievtsev and the twig-renderer Contributors
2
-
3
- Permission is hereby granted, free of charge, to any person
4
- obtaining a copy of this software and associated documentation
5
- files (the "Software"), to deal in the Software without
6
- restriction, including without limitation the rights to use,
7
- copy, modify, merge, publish, distribute, sublicense, and/or sell
8
- copies of the Software, and to permit persons to whom the
9
- Software is furnished to do so, subject to the following
10
- conditions:
11
-
12
- The above copyright notice and this permission notice shall be
13
- included in all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
17
- OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
19
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
20
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22
- OTHER DEALINGS IN THE SOFTWARE.
@@ -1,93 +0,0 @@
1
- [![pipeline status](https://gitlab.com/toptalo/twig-renderer/badges/master/pipeline.svg)](https://gitlab.com/toptalo/twig-renderer/commits/master)
2
-
3
- # twig-renderer
4
-
5
- Renders Twig templates using Twig.js
6
-
7
- Build upon [Twig.js](https://github.com/twigjs/twig.js), the JS port of the Twig templating language by John Roepke.
8
-
9
- ## Install
10
-
11
- ```shell
12
- npm install @toptalo/twig-renderer --save
13
- ```
14
-
15
- ## Usage Example
16
-
17
- ```javascript
18
- const TwigRenderer = require('@toptalo/twig-renderer');
19
-
20
- const options = {
21
- globals: '',
22
- extensions: [],
23
- functions: {},
24
- filters: {},
25
- context: {},
26
- namespaces: {}
27
- };
28
-
29
- const twigRenderer = new TwigRenderer(options);
30
-
31
- twigRenderer.render(templatePath).then(html => {
32
- console.log(html);
33
- }).catch(error => {
34
- console.log(error.message);
35
- });
36
- ```
37
-
38
- ## Options
39
-
40
- #### options.globals
41
- Type: `String`
42
- Default value: `''`
43
-
44
- Path to JSON file with global context variables.
45
-
46
- #### options.extensions
47
- Type: `Array`
48
- Default value: `[]`
49
-
50
- Can be an array of functions that extend TwigJS with [custom tags](https://github.com/twigjs/twig.js/wiki/Extending-twig.js-With-Custom-Tags).
51
-
52
- #### options.functions
53
- Type: `Object`
54
- Default value: `{}`
55
-
56
- Object hash defining [functions in TwigJS](https://github.com/twigjs/twig.js/wiki/Extending-twig.js#functions).
57
-
58
- #### options.filters
59
- Type: `Object`
60
- Default value: `{}`
61
-
62
- Object hash defining [filters in TwigJS](https://github.com/twigjs/twig.js/wiki/Extending-twig.js#filters).
63
-
64
- #### options.context
65
- Type: `Object`
66
- Default value: `{}`
67
-
68
- Object hash defining templates context variables.
69
-
70
- #### options.namespaces
71
- Type: `Object`
72
- Default value: `{}`
73
-
74
- Object hash defining namespaces.
75
-
76
- ## Context hierarchy
77
- Template context extends in this order:
78
- * `options.context` provided
79
- * `options.globals` provided
80
- * template JSON context files (stored in template path, with same name,
81
- example: `/templates/index.json` for `/templates/index.twig`) if provided
82
-
83
- ## Contributing
84
- In lieu of a formal style guide, take care to maintain the existing coding style.
85
- Add functional tests for any new or changed functionality.
86
- Lint your code using [ESLint](https://eslint.org/).
87
- Test your code using [Jest](https://jestjs.io/).
88
-
89
- ## Sponsored by
90
- [![DesignDepot](https://designdepot.ru/static/core/img/logo.png)](https://designdepot.ru/?utm_source=web&utm_medium=npm&utm_campaign=twig-renderer)
91
-
92
- ## Release History
93
- See the [CHANGELOG](CHANGELOG.md).
@@ -1,49 +0,0 @@
1
- {
2
- "name": "@toptalo/twig-renderer",
3
- "version": "0.5.0",
4
- "description": "Renders Twig templates using Twig.js",
5
- "keywords": [
6
- "templating",
7
- "twig",
8
- "html",
9
- "django"
10
- ],
11
- "repository": {
12
- "type": "git",
13
- "url": "git@gitlab.com:toptalo/twig-renderer.git"
14
- },
15
- "bugs": {
16
- "url": "https://gitlab.com/toptalo/twig-renderer/issues"
17
- },
18
- "author": {
19
- "name": "toptalo",
20
- "email": "spam.vitek@gmail.com"
21
- },
22
- "license": "MIT",
23
- "files": [
24
- "twig-renderer.js"
25
- ],
26
- "main": "twig-renderer.js",
27
- "scripts": {
28
- "test": "jest",
29
- "lint": "eslint '**/*.js'",
30
- "lint-fix": "eslint --fix '**/*.js'"
31
- },
32
- "engines": {
33
- "node": "^10.12.0 || >=12.0.0"
34
- },
35
- "dependencies": {
36
- "lodash": "^4.17.21",
37
- "twig": "^1.15.4"
38
- },
39
- "devDependencies": {
40
- "eslint": "^7.21.0",
41
- "eslint-config-standard": "^16.0.2",
42
- "eslint-plugin-import": "^2.22.1",
43
- "eslint-plugin-node": "^11.1.0",
44
- "eslint-plugin-promise": "^4.3.1",
45
- "eslint-plugin-standard": "^4.1.0",
46
- "jest": "^26.6.3",
47
- "jest-cli": "^26.6.3"
48
- }
49
- }
@@ -1,90 +0,0 @@
1
- 'use strict';
2
-
3
- const Twig = require('twig');
4
- const fs = require('fs');
5
- const { merge } = require('lodash');
6
-
7
- function hasFile (filePath) {
8
- return fs.existsSync(filePath);
9
- }
10
-
11
- function readJSON (filePath) {
12
- let result = null;
13
-
14
- if (hasFile(filePath)) {
15
- const rawData = fs.readFileSync(filePath);
16
- result = JSON.parse(rawData);
17
- }
18
-
19
- return result;
20
- }
21
-
22
- module.exports = class TwigRenderer {
23
- constructor (options) {
24
- this.params = merge({
25
- globals: '',
26
- extensions: [],
27
- functions: {},
28
- filters: {},
29
- context: {},
30
- namespaces: {}
31
- }, options);
32
-
33
- let genericContext = this.params.context || {};
34
-
35
- if (this.params.globals && typeof this.params.globals === 'string') {
36
- genericContext = merge(genericContext, readJSON(this.params.globals));
37
- }
38
-
39
- this.genericContext = genericContext;
40
- }
41
-
42
- render (filePath) {
43
- Twig.cache(false);
44
-
45
- if (!Array.isArray(this.params.extensions)) {
46
- throw new TypeError('\'extensions\' needs to be an array of functions!');
47
- }
48
-
49
- this.params.extensions.forEach(function (fn) {
50
- Twig.extend(fn);
51
- });
52
-
53
- Object.keys(this.params.functions).forEach(name => {
54
- const fn = this.params.functions[name];
55
- if (typeof fn !== 'function') {
56
- throw new TypeError(`${name} needs to be a function!`);
57
- }
58
- Twig.extendFunction(name, fn);
59
- });
60
-
61
- Object.keys(this.params.filters).forEach(name => {
62
- const fn = this.params.filters[name];
63
- if (typeof fn !== 'function') {
64
- throw new TypeError(`${name} needs to be a function!`);
65
- }
66
- Twig.extendFilter(name, fn);
67
- });
68
-
69
- return new Promise((resolve, reject) => {
70
- const templatePath = filePath.substr(0, filePath.lastIndexOf('/') + 1);
71
- const templateFile = filePath.substr(filePath.lastIndexOf('/') + 1);
72
- const templateName = templateFile.substr(0, templateFile.lastIndexOf('.')) || templateFile;
73
- const templateContextFile = `${templatePath}${templateName}.json`;
74
- const context = merge({}, this.genericContext, readJSON(templateContextFile));
75
-
76
- if (hasFile(filePath)) {
77
- const output = Twig.twig({
78
- async: false,
79
- data: this.params.data,
80
- path: filePath,
81
- namespaces: this.params.namespaces
82
- }).render(context);
83
-
84
- resolve(output);
85
- } else {
86
- reject(new TypeError(`Could not find file '${filePath}'`));
87
- }
88
- });
89
- }
90
- };