@emulsify/core 0.0.0-development

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 (63) hide show
  1. package/.cli/init.js +168 -0
  2. package/.editorconfig +5 -0
  3. package/.eslintignore +2 -0
  4. package/.github/ISSUE_TEMPLATE/BUG_REPORT_TEMPLATE.md +18 -0
  5. package/.github/ISSUE_TEMPLATE/FEATURE_REQUEST_TEMPLATE.md +11 -0
  6. package/.github/PULL_REQUEST_TEMPLATE.md +19 -0
  7. package/.github/dependabot.yml +6 -0
  8. package/.github/workflows/addtoprojects.yml +21 -0
  9. package/.github/workflows/contributors.yml +23 -0
  10. package/.github/workflows/lint.yml +22 -0
  11. package/.github/workflows/semantic-release.yml +24 -0
  12. package/.history/.releaserc_20240607133550 +11 -0
  13. package/.history/.releaserc_20240607134831 +18 -0
  14. package/.history/.releaserc_20240607135005 +11 -0
  15. package/.history/package_20240607132936.json +121 -0
  16. package/.history/package_20240607135135.json +121 -0
  17. package/.history/package_20240607135150.json +121 -0
  18. package/.history/package_20240607135242.json +124 -0
  19. package/.history/package_20240607135251.json +124 -0
  20. package/.history/package_20240607135337.json +127 -0
  21. package/.history/package_20240607145546.json +135 -0
  22. package/.husky/commit-msg +4 -0
  23. package/.husky/pre-commit +4 -0
  24. package/.nvmrc +1 -0
  25. package/.prettierignore +4 -0
  26. package/.storybook/_drupal.js +27 -0
  27. package/.storybook/emulsifyTheme.js +38 -0
  28. package/.storybook/main.js +22 -0
  29. package/.storybook/manager-head.html +122 -0
  30. package/.storybook/manager.js +15 -0
  31. package/.storybook/preview.js +40 -0
  32. package/.storybook/setupTwig.js +59 -0
  33. package/.storybook/setupTwig.test.js +33 -0
  34. package/.storybook/webpack.config.js +67 -0
  35. package/CODE_OF_CONDUCT.md +56 -0
  36. package/LICENSE +674 -0
  37. package/README.md +72 -0
  38. package/assets/images/corner-bkg.png +0 -0
  39. package/assets/images/emulsify-logo-sb.svg +8 -0
  40. package/assets/images/logo.png +0 -0
  41. package/commitlint.config.js +3 -0
  42. package/config/.prettierrc.json +4 -0
  43. package/config/.stylelintrc.json +61 -0
  44. package/config/a11y.config.js +61 -0
  45. package/config/babel.config.js +18 -0
  46. package/config/eslintrc.config.json +68 -0
  47. package/config/jest.config.js +19 -0
  48. package/config/postcss.config.js +5 -0
  49. package/config/webpack/app.js +1 -0
  50. package/config/webpack/css/style.js +1 -0
  51. package/config/webpack/css.js +1 -0
  52. package/config/webpack/loaders.js +87 -0
  53. package/config/webpack/plugins.js +48 -0
  54. package/config/webpack/svgSprite.js +5 -0
  55. package/config/webpack/webpack.common.js +72 -0
  56. package/config/webpack/webpack.dev.js +7 -0
  57. package/config/webpack/webpack.prod.js +6 -0
  58. package/package.json +136 -0
  59. package/release.config.js +11 -0
  60. package/scripts/a11y.js +92 -0
  61. package/scripts/a11y.test.js +159 -0
  62. package/scripts/loadYaml.js +17 -0
  63. package/scripts/loadYaml.test.js +30 -0
@@ -0,0 +1,121 @@
1
+ {
2
+ "name": "@emulsify/core",
3
+ "version": "0.0.0-development",
4
+ "description": "Storybook development + Webpack Build",
5
+ "keywords": [
6
+ "component library",
7
+ "design system",
8
+ "drupal",
9
+ "pattern library",
10
+ "storybook",
11
+ "styleguide"
12
+ ],
13
+ "author": "Four Kitchens <shout@fourkitchens.com>",
14
+ "license": "ISC",
15
+ "scripts": {
16
+ "coverage": "npm run test && open-cli .coverage/lcov-report/index.html",
17
+ "format": "npm run lint-fix; npm run prettier-fix",
18
+ "husky:commit-msg": "commitlint --edit $1",
19
+ "husky:pre-commit": "npm run lint",
20
+ "lint": "npm run lint-js",
21
+ "lint-fix": "npm run lint-js -- --fix",
22
+ "lint-js": "eslint --config config/eslintrc.config.json --no-error-on-unmatched-pattern ./config ./storybook",
23
+ "lint-staged": "lint-staged",
24
+ "prepare": "[ -d '.git' ] && (husky install) || true",
25
+ "prettier": "prettier --config config/prettierrc.json --ignore-unknown \"**/*.{js,yml,scss,md}\"",
26
+ "prettier-fix": "prettier --config config/prettierrc.json --write --ignore-unknown \"**/*.{js,yml,scss,md}\"",
27
+ "semantic-release": "semantic-release",
28
+ "storybook": "storybook dev --ci -s ../../dist,../../assets/images,../../assets/icons,../../assets/videos -p 6006",
29
+ "storybook-build": "storybook build -s ../../dist,../../assets/images,../../assets/icons,../../assets/videos -o .out",
30
+ "storybook-deploy": "storybook-to-ghpages -o .out",
31
+ "test": "jest --coverage --config ./config/jest.config.js",
32
+ "twatch": "jest --no-coverage --watch --verbose"
33
+ },
34
+ "dependencies": {
35
+ "@babel/core": "^7.24.0",
36
+ "@babel/eslint-parser": "^7.23.10",
37
+ "@emulsify/cli": "^1.6.0",
38
+ "@storybook/addon-a11y": "^7.6.17",
39
+ "@storybook/addon-actions": "^7.6.17",
40
+ "@storybook/addon-essentials": "^7.6.17",
41
+ "@storybook/addon-links": "^7.6.17",
42
+ "@storybook/addon-styling-webpack": "^1.0.0",
43
+ "@storybook/addon-themes": "^7.6.17",
44
+ "@storybook/html": "^7.6.17",
45
+ "@storybook/html-webpack5": "^7.6.17",
46
+ "add-attributes-twig-extension": "^0.1.0",
47
+ "autoprefixer": "^10.4.19",
48
+ "babel-loader": "^9.1.3",
49
+ "babel-preset-minify": "^0.5.2",
50
+ "bem-twig-extension": "^0.1.1",
51
+ "breakpoint-sass": "^3.0.0",
52
+ "chalk": "^5.2.0",
53
+ "clean-webpack-plugin": "^4.0.0",
54
+ "concurrently": "^8.2.2",
55
+ "css-loader": "^7.1.1",
56
+ "eslint": "^8.57.0",
57
+ "eslint-config-airbnb-base": "^15.0.0",
58
+ "eslint-config-prettier": "^9.1.0",
59
+ "eslint-plugin-import": "^2.29.1",
60
+ "eslint-plugin-jest": "^27.9.0",
61
+ "eslint-plugin-prettier": "^5.1.3",
62
+ "eslint-plugin-security": "^2.1.1",
63
+ "eslint-plugin-storybook": "^0.8.0",
64
+ "eslint-webpack-plugin": "^4.1.0",
65
+ "file-loader": "^6.2.0",
66
+ "fs-extra": "^11.2.0",
67
+ "glob": "^10.3.12",
68
+ "graceful-fs": "^4.2.11",
69
+ "html-webpack-plugin": "^5.6.0",
70
+ "imagemin-webpack-plugin": "^2.4.2",
71
+ "jest": "^29.7.0",
72
+ "jest-environment-jsdom": "^29.7.0",
73
+ "js-yaml": "^4.1.0",
74
+ "js-yaml-loader": "^1.2.2",
75
+ "lint-staged": "^15.2.2",
76
+ "mini-css-extract-plugin": "^2.9.0",
77
+ "node-sass-glob-importer": "^5.3.3",
78
+ "normalize.css": "^8.0.1",
79
+ "open-cli": "^8.0.0",
80
+ "pa11y": "^7.0.0",
81
+ "postcss": "^8.4.38",
82
+ "postcss-loader": "^8.1.1",
83
+ "postcss-scss": "^4.0.9",
84
+ "ramda": "^0.29.1",
85
+ "react": "^18.2.0",
86
+ "react-dom": "^18.2.0",
87
+ "regenerator-runtime": "^0.14.1",
88
+ "sass": "^1.75.0",
89
+ "sass-loader": "^14.2.1",
90
+ "storybook": "^7.6.17",
91
+ "style-dictionary": "^3.9.2",
92
+ "stylelint": "^16.3.1",
93
+ "stylelint-config-standard-scss": "^13.1.0",
94
+ "stylelint-prettier": "^5.0.0",
95
+ "stylelint-selector-bem-pattern": "^4.0.0",
96
+ "stylelint-webpack-plugin": "^5.0.0",
97
+ "svg-sprite-loader": "^6.0.11",
98
+ "token-transformer": "^0.0.33",
99
+ "twig-drupal-filters": "^3.2.0",
100
+ "twig-loader": "github:fourkitchens/twig-loader",
101
+ "twig-testing-library": "^1.2.0",
102
+ "webpack": "^5.91.0",
103
+ "webpack-cli": "^5.1.4",
104
+ "webpack-merge": "^5.10.0",
105
+ "yaml": "^2.4.1"
106
+ },
107
+ "devDependencies": {
108
+ "@commitlint/cli": "^19.2.0",
109
+ "@commitlint/config-conventional": "^19.1.0",
110
+ "@semantic-release/changelog": "^6.0.2",
111
+ "@semantic-release/commit-analyzer": "^11.1.0",
112
+ "@semantic-release/git": "^10.0.1",
113
+ "@semantic-release/github": "^10.0.2",
114
+ "@semantic-release/release-notes-generator": "^12.1.0",
115
+ "husky": "^9.0.11",
116
+ "semantic-release": "^23.0.4"
117
+ },
118
+ "overrides": {
119
+ "graceful-fs": "^4.2.11"
120
+ }
121
+ }
@@ -0,0 +1,124 @@
1
+ {
2
+ "name": "@emulsify/core",
3
+ "version": "0.0.0-development",
4
+ "description": "Bundled tooling for Storybook development + Webpack Build",
5
+ "keywords": [
6
+ "component library",
7
+ "design system",
8
+ "drupal",
9
+ "pattern library",
10
+ "storybook",
11
+ "styleguide"
12
+ ],
13
+ "author": "Four Kitchens <shout@fourkitchens.com>",
14
+ "license": "ISC",
15
+ "engines": {
16
+ "node": ">=20"
17
+ },
18
+ "scripts": {
19
+ "coverage": "npm run test && open-cli .coverage/lcov-report/index.html",
20
+ "format": "npm run lint-fix; npm run prettier-fix",
21
+ "husky:commit-msg": "commitlint --edit $1",
22
+ "husky:pre-commit": "npm run lint",
23
+ "lint": "npm run lint-js",
24
+ "lint-fix": "npm run lint-js -- --fix",
25
+ "lint-js": "eslint --config config/eslintrc.config.json --no-error-on-unmatched-pattern ./config ./storybook",
26
+ "lint-staged": "lint-staged",
27
+ "prepare": "[ -d '.git' ] && (husky install) || true",
28
+ "prettier": "prettier --config config/prettierrc.json --ignore-unknown \"**/*.{js,yml,scss,md}\"",
29
+ "prettier-fix": "prettier --config config/prettierrc.json --write --ignore-unknown \"**/*.{js,yml,scss,md}\"",
30
+ "semantic-release": "semantic-release",
31
+ "storybook": "storybook dev --ci -s ../../dist,../../assets/images,../../assets/icons,../../assets/videos -p 6006",
32
+ "storybook-build": "storybook build -s ../../dist,../../assets/images,../../assets/icons,../../assets/videos -o .out",
33
+ "storybook-deploy": "storybook-to-ghpages -o .out",
34
+ "test": "jest --coverage --config ./config/jest.config.js",
35
+ "twatch": "jest --no-coverage --watch --verbose"
36
+ },
37
+ "dependencies": {
38
+ "@babel/core": "^7.24.0",
39
+ "@babel/eslint-parser": "^7.23.10",
40
+ "@emulsify/cli": "^1.6.0",
41
+ "@storybook/addon-a11y": "^7.6.17",
42
+ "@storybook/addon-actions": "^7.6.17",
43
+ "@storybook/addon-essentials": "^7.6.17",
44
+ "@storybook/addon-links": "^7.6.17",
45
+ "@storybook/addon-styling-webpack": "^1.0.0",
46
+ "@storybook/addon-themes": "^7.6.17",
47
+ "@storybook/html": "^7.6.17",
48
+ "@storybook/html-webpack5": "^7.6.17",
49
+ "add-attributes-twig-extension": "^0.1.0",
50
+ "autoprefixer": "^10.4.19",
51
+ "babel-loader": "^9.1.3",
52
+ "babel-preset-minify": "^0.5.2",
53
+ "bem-twig-extension": "^0.1.1",
54
+ "breakpoint-sass": "^3.0.0",
55
+ "chalk": "^5.2.0",
56
+ "clean-webpack-plugin": "^4.0.0",
57
+ "concurrently": "^8.2.2",
58
+ "css-loader": "^7.1.1",
59
+ "eslint": "^8.57.0",
60
+ "eslint-config-airbnb-base": "^15.0.0",
61
+ "eslint-config-prettier": "^9.1.0",
62
+ "eslint-plugin-import": "^2.29.1",
63
+ "eslint-plugin-jest": "^27.9.0",
64
+ "eslint-plugin-prettier": "^5.1.3",
65
+ "eslint-plugin-security": "^2.1.1",
66
+ "eslint-plugin-storybook": "^0.8.0",
67
+ "eslint-webpack-plugin": "^4.1.0",
68
+ "file-loader": "^6.2.0",
69
+ "fs-extra": "^11.2.0",
70
+ "glob": "^10.3.12",
71
+ "graceful-fs": "^4.2.11",
72
+ "html-webpack-plugin": "^5.6.0",
73
+ "imagemin-webpack-plugin": "^2.4.2",
74
+ "jest": "^29.7.0",
75
+ "jest-environment-jsdom": "^29.7.0",
76
+ "js-yaml": "^4.1.0",
77
+ "js-yaml-loader": "^1.2.2",
78
+ "lint-staged": "^15.2.2",
79
+ "mini-css-extract-plugin": "^2.9.0",
80
+ "node-sass-glob-importer": "^5.3.3",
81
+ "normalize.css": "^8.0.1",
82
+ "open-cli": "^8.0.0",
83
+ "pa11y": "^7.0.0",
84
+ "postcss": "^8.4.38",
85
+ "postcss-loader": "^8.1.1",
86
+ "postcss-scss": "^4.0.9",
87
+ "ramda": "^0.29.1",
88
+ "react": "^18.2.0",
89
+ "react-dom": "^18.2.0",
90
+ "regenerator-runtime": "^0.14.1",
91
+ "sass": "^1.75.0",
92
+ "sass-loader": "^14.2.1",
93
+ "storybook": "^7.6.17",
94
+ "style-dictionary": "^3.9.2",
95
+ "stylelint": "^16.3.1",
96
+ "stylelint-config-standard-scss": "^13.1.0",
97
+ "stylelint-prettier": "^5.0.0",
98
+ "stylelint-selector-bem-pattern": "^4.0.0",
99
+ "stylelint-webpack-plugin": "^5.0.0",
100
+ "svg-sprite-loader": "^6.0.11",
101
+ "token-transformer": "^0.0.33",
102
+ "twig-drupal-filters": "^3.2.0",
103
+ "twig-loader": "github:fourkitchens/twig-loader",
104
+ "twig-testing-library": "^1.2.0",
105
+ "webpack": "^5.91.0",
106
+ "webpack-cli": "^5.1.4",
107
+ "webpack-merge": "^5.10.0",
108
+ "yaml": "^2.4.1"
109
+ },
110
+ "devDependencies": {
111
+ "@commitlint/cli": "^19.2.0",
112
+ "@commitlint/config-conventional": "^19.1.0",
113
+ "@semantic-release/changelog": "^6.0.2",
114
+ "@semantic-release/commit-analyzer": "^11.1.0",
115
+ "@semantic-release/git": "^10.0.1",
116
+ "@semantic-release/github": "^10.0.2",
117
+ "@semantic-release/release-notes-generator": "^12.1.0",
118
+ "husky": "^9.0.11",
119
+ "semantic-release": "^23.0.4"
120
+ },
121
+ "overrides": {
122
+ "graceful-fs": "^4.2.11"
123
+ }
124
+ }
@@ -0,0 +1,124 @@
1
+ {
2
+ "name": "@emulsify/core",
3
+ "version": "0.0.0-development",
4
+ "description": "Bundled tooling for Storybook development + Webpack Build",
5
+ "keywords": [
6
+ "component library",
7
+ "design system",
8
+ "drupal",
9
+ "pattern library",
10
+ "storybook",
11
+ "styleguide"
12
+ ],
13
+ "author": "Four Kitchens <shout@fourkitchens.com>",
14
+ "license": "GPL-2.0",
15
+ "engines": {
16
+ "node": ">=20"
17
+ },
18
+ "scripts": {
19
+ "coverage": "npm run test && open-cli .coverage/lcov-report/index.html",
20
+ "format": "npm run lint-fix; npm run prettier-fix",
21
+ "husky:commit-msg": "commitlint --edit $1",
22
+ "husky:pre-commit": "npm run lint",
23
+ "lint": "npm run lint-js",
24
+ "lint-fix": "npm run lint-js -- --fix",
25
+ "lint-js": "eslint --config config/eslintrc.config.json --no-error-on-unmatched-pattern ./config ./storybook",
26
+ "lint-staged": "lint-staged",
27
+ "prepare": "[ -d '.git' ] && (husky install) || true",
28
+ "prettier": "prettier --config config/prettierrc.json --ignore-unknown \"**/*.{js,yml,scss,md}\"",
29
+ "prettier-fix": "prettier --config config/prettierrc.json --write --ignore-unknown \"**/*.{js,yml,scss,md}\"",
30
+ "semantic-release": "semantic-release",
31
+ "storybook": "storybook dev --ci -s ../../dist,../../assets/images,../../assets/icons,../../assets/videos -p 6006",
32
+ "storybook-build": "storybook build -s ../../dist,../../assets/images,../../assets/icons,../../assets/videos -o .out",
33
+ "storybook-deploy": "storybook-to-ghpages -o .out",
34
+ "test": "jest --coverage --config ./config/jest.config.js",
35
+ "twatch": "jest --no-coverage --watch --verbose"
36
+ },
37
+ "dependencies": {
38
+ "@babel/core": "^7.24.0",
39
+ "@babel/eslint-parser": "^7.23.10",
40
+ "@emulsify/cli": "^1.6.0",
41
+ "@storybook/addon-a11y": "^7.6.17",
42
+ "@storybook/addon-actions": "^7.6.17",
43
+ "@storybook/addon-essentials": "^7.6.17",
44
+ "@storybook/addon-links": "^7.6.17",
45
+ "@storybook/addon-styling-webpack": "^1.0.0",
46
+ "@storybook/addon-themes": "^7.6.17",
47
+ "@storybook/html": "^7.6.17",
48
+ "@storybook/html-webpack5": "^7.6.17",
49
+ "add-attributes-twig-extension": "^0.1.0",
50
+ "autoprefixer": "^10.4.19",
51
+ "babel-loader": "^9.1.3",
52
+ "babel-preset-minify": "^0.5.2",
53
+ "bem-twig-extension": "^0.1.1",
54
+ "breakpoint-sass": "^3.0.0",
55
+ "chalk": "^5.2.0",
56
+ "clean-webpack-plugin": "^4.0.0",
57
+ "concurrently": "^8.2.2",
58
+ "css-loader": "^7.1.1",
59
+ "eslint": "^8.57.0",
60
+ "eslint-config-airbnb-base": "^15.0.0",
61
+ "eslint-config-prettier": "^9.1.0",
62
+ "eslint-plugin-import": "^2.29.1",
63
+ "eslint-plugin-jest": "^27.9.0",
64
+ "eslint-plugin-prettier": "^5.1.3",
65
+ "eslint-plugin-security": "^2.1.1",
66
+ "eslint-plugin-storybook": "^0.8.0",
67
+ "eslint-webpack-plugin": "^4.1.0",
68
+ "file-loader": "^6.2.0",
69
+ "fs-extra": "^11.2.0",
70
+ "glob": "^10.3.12",
71
+ "graceful-fs": "^4.2.11",
72
+ "html-webpack-plugin": "^5.6.0",
73
+ "imagemin-webpack-plugin": "^2.4.2",
74
+ "jest": "^29.7.0",
75
+ "jest-environment-jsdom": "^29.7.0",
76
+ "js-yaml": "^4.1.0",
77
+ "js-yaml-loader": "^1.2.2",
78
+ "lint-staged": "^15.2.2",
79
+ "mini-css-extract-plugin": "^2.9.0",
80
+ "node-sass-glob-importer": "^5.3.3",
81
+ "normalize.css": "^8.0.1",
82
+ "open-cli": "^8.0.0",
83
+ "pa11y": "^7.0.0",
84
+ "postcss": "^8.4.38",
85
+ "postcss-loader": "^8.1.1",
86
+ "postcss-scss": "^4.0.9",
87
+ "ramda": "^0.29.1",
88
+ "react": "^18.2.0",
89
+ "react-dom": "^18.2.0",
90
+ "regenerator-runtime": "^0.14.1",
91
+ "sass": "^1.75.0",
92
+ "sass-loader": "^14.2.1",
93
+ "storybook": "^7.6.17",
94
+ "style-dictionary": "^3.9.2",
95
+ "stylelint": "^16.3.1",
96
+ "stylelint-config-standard-scss": "^13.1.0",
97
+ "stylelint-prettier": "^5.0.0",
98
+ "stylelint-selector-bem-pattern": "^4.0.0",
99
+ "stylelint-webpack-plugin": "^5.0.0",
100
+ "svg-sprite-loader": "^6.0.11",
101
+ "token-transformer": "^0.0.33",
102
+ "twig-drupal-filters": "^3.2.0",
103
+ "twig-loader": "github:fourkitchens/twig-loader",
104
+ "twig-testing-library": "^1.2.0",
105
+ "webpack": "^5.91.0",
106
+ "webpack-cli": "^5.1.4",
107
+ "webpack-merge": "^5.10.0",
108
+ "yaml": "^2.4.1"
109
+ },
110
+ "devDependencies": {
111
+ "@commitlint/cli": "^19.2.0",
112
+ "@commitlint/config-conventional": "^19.1.0",
113
+ "@semantic-release/changelog": "^6.0.2",
114
+ "@semantic-release/commit-analyzer": "^11.1.0",
115
+ "@semantic-release/git": "^10.0.1",
116
+ "@semantic-release/github": "^10.0.2",
117
+ "@semantic-release/release-notes-generator": "^12.1.0",
118
+ "husky": "^9.0.11",
119
+ "semantic-release": "^23.0.4"
120
+ },
121
+ "overrides": {
122
+ "graceful-fs": "^4.2.11"
123
+ }
124
+ }
@@ -0,0 +1,127 @@
1
+ {
2
+ "name": "@emulsify/core",
3
+ "version": "0.0.0-development",
4
+ "description": "Bundled tooling for Storybook development + Webpack Build",
5
+ "keywords": [
6
+ "component library",
7
+ "design system",
8
+ "drupal",
9
+ "pattern library",
10
+ "storybook",
11
+ "styleguide"
12
+ ],
13
+ "author": "Four Kitchens <shout@fourkitchens.com>",
14
+ "license": "GPL-2.0",
15
+ "engines": {
16
+ "node": ">=20"
17
+ },
18
+ "publishConfig": {
19
+ "access": "public"
20
+ },
21
+ "scripts": {
22
+ "coverage": "npm run test && open-cli .coverage/lcov-report/index.html",
23
+ "format": "npm run lint-fix; npm run prettier-fix",
24
+ "husky:commit-msg": "commitlint --edit $1",
25
+ "husky:pre-commit": "npm run lint",
26
+ "lint": "npm run lint-js",
27
+ "lint-fix": "npm run lint-js -- --fix",
28
+ "lint-js": "eslint --config config/eslintrc.config.json --no-error-on-unmatched-pattern ./config ./storybook",
29
+ "lint-staged": "lint-staged",
30
+ "prepare": "[ -d '.git' ] && (husky install) || true",
31
+ "prettier": "prettier --config config/prettierrc.json --ignore-unknown \"**/*.{js,yml,scss,md}\"",
32
+ "prettier-fix": "prettier --config config/prettierrc.json --write --ignore-unknown \"**/*.{js,yml,scss,md}\"",
33
+ "semantic-release": "semantic-release",
34
+ "storybook": "storybook dev --ci -s ../../dist,../../assets/images,../../assets/icons,../../assets/videos -p 6006",
35
+ "storybook-build": "storybook build -s ../../dist,../../assets/images,../../assets/icons,../../assets/videos -o .out",
36
+ "storybook-deploy": "storybook-to-ghpages -o .out",
37
+ "test": "jest --coverage --config ./config/jest.config.js",
38
+ "twatch": "jest --no-coverage --watch --verbose"
39
+ },
40
+ "dependencies": {
41
+ "@babel/core": "^7.24.0",
42
+ "@babel/eslint-parser": "^7.23.10",
43
+ "@emulsify/cli": "^1.6.0",
44
+ "@storybook/addon-a11y": "^7.6.17",
45
+ "@storybook/addon-actions": "^7.6.17",
46
+ "@storybook/addon-essentials": "^7.6.17",
47
+ "@storybook/addon-links": "^7.6.17",
48
+ "@storybook/addon-styling-webpack": "^1.0.0",
49
+ "@storybook/addon-themes": "^7.6.17",
50
+ "@storybook/html": "^7.6.17",
51
+ "@storybook/html-webpack5": "^7.6.17",
52
+ "add-attributes-twig-extension": "^0.1.0",
53
+ "autoprefixer": "^10.4.19",
54
+ "babel-loader": "^9.1.3",
55
+ "babel-preset-minify": "^0.5.2",
56
+ "bem-twig-extension": "^0.1.1",
57
+ "breakpoint-sass": "^3.0.0",
58
+ "chalk": "^5.2.0",
59
+ "clean-webpack-plugin": "^4.0.0",
60
+ "concurrently": "^8.2.2",
61
+ "css-loader": "^7.1.1",
62
+ "eslint": "^8.57.0",
63
+ "eslint-config-airbnb-base": "^15.0.0",
64
+ "eslint-config-prettier": "^9.1.0",
65
+ "eslint-plugin-import": "^2.29.1",
66
+ "eslint-plugin-jest": "^27.9.0",
67
+ "eslint-plugin-prettier": "^5.1.3",
68
+ "eslint-plugin-security": "^2.1.1",
69
+ "eslint-plugin-storybook": "^0.8.0",
70
+ "eslint-webpack-plugin": "^4.1.0",
71
+ "file-loader": "^6.2.0",
72
+ "fs-extra": "^11.2.0",
73
+ "glob": "^10.3.12",
74
+ "graceful-fs": "^4.2.11",
75
+ "html-webpack-plugin": "^5.6.0",
76
+ "imagemin-webpack-plugin": "^2.4.2",
77
+ "jest": "^29.7.0",
78
+ "jest-environment-jsdom": "^29.7.0",
79
+ "js-yaml": "^4.1.0",
80
+ "js-yaml-loader": "^1.2.2",
81
+ "lint-staged": "^15.2.2",
82
+ "mini-css-extract-plugin": "^2.9.0",
83
+ "node-sass-glob-importer": "^5.3.3",
84
+ "normalize.css": "^8.0.1",
85
+ "open-cli": "^8.0.0",
86
+ "pa11y": "^7.0.0",
87
+ "postcss": "^8.4.38",
88
+ "postcss-loader": "^8.1.1",
89
+ "postcss-scss": "^4.0.9",
90
+ "ramda": "^0.29.1",
91
+ "react": "^18.2.0",
92
+ "react-dom": "^18.2.0",
93
+ "regenerator-runtime": "^0.14.1",
94
+ "sass": "^1.75.0",
95
+ "sass-loader": "^14.2.1",
96
+ "storybook": "^7.6.17",
97
+ "style-dictionary": "^3.9.2",
98
+ "stylelint": "^16.3.1",
99
+ "stylelint-config-standard-scss": "^13.1.0",
100
+ "stylelint-prettier": "^5.0.0",
101
+ "stylelint-selector-bem-pattern": "^4.0.0",
102
+ "stylelint-webpack-plugin": "^5.0.0",
103
+ "svg-sprite-loader": "^6.0.11",
104
+ "token-transformer": "^0.0.33",
105
+ "twig-drupal-filters": "^3.2.0",
106
+ "twig-loader": "github:fourkitchens/twig-loader",
107
+ "twig-testing-library": "^1.2.0",
108
+ "webpack": "^5.91.0",
109
+ "webpack-cli": "^5.1.4",
110
+ "webpack-merge": "^5.10.0",
111
+ "yaml": "^2.4.1"
112
+ },
113
+ "devDependencies": {
114
+ "@commitlint/cli": "^19.2.0",
115
+ "@commitlint/config-conventional": "^19.1.0",
116
+ "@semantic-release/changelog": "^6.0.2",
117
+ "@semantic-release/commit-analyzer": "^11.1.0",
118
+ "@semantic-release/git": "^10.0.1",
119
+ "@semantic-release/github": "^10.0.2",
120
+ "@semantic-release/release-notes-generator": "^12.1.0",
121
+ "husky": "^9.0.11",
122
+ "semantic-release": "^23.0.4"
123
+ },
124
+ "overrides": {
125
+ "graceful-fs": "^4.2.11"
126
+ }
127
+ }
@@ -0,0 +1,135 @@
1
+ {
2
+ "name": "@emulsify/core",
3
+ "version": "0.0.0-development",
4
+ "description": "Bundled tooling for Storybook development + Webpack Build",
5
+ "keywords": [
6
+ "component library",
7
+ "design system",
8
+ "drupal",
9
+ "pattern library",
10
+ "storybook",
11
+ "styleguide"
12
+ ],
13
+ "author": "Four Kitchens <shout@fourkitchens.com>",
14
+ "license": "GPL-2.0",
15
+ "engines": {
16
+ "node": ">=20"
17
+ },
18
+ "repository": {
19
+ "type": "git",
20
+ "url": "git+https://github.com/emulsify-ds/emulsify-core.git"
21
+ },
22
+ "bugs": {
23
+ "url": "https://github.com/emulsify-ds/emulsify-core/issues"
24
+ },
25
+ "homepage": "https://github.com/emulsify-ds/emulsify-core#readme",
26
+ "publishConfig": {
27
+ "access": "public"
28
+ },
29
+ "scripts": {
30
+ "coverage": "npm run test && open-cli .coverage/lcov-report/index.html",
31
+ "format": "npm run lint-fix; npm run prettier-fix",
32
+ "husky:commit-msg": "commitlint --edit $1",
33
+ "husky:pre-commit": "npm run lint",
34
+ "lint": "npm run lint-js",
35
+ "lint-fix": "npm run lint-js -- --fix",
36
+ "lint-js": "eslint --config config/eslintrc.config.json --no-error-on-unmatched-pattern ./config ./storybook",
37
+ "lint-staged": "lint-staged",
38
+ "prepare": "[ -d '.git' ] && (husky install) || true",
39
+ "prettier": "prettier --config config/prettierrc.json --ignore-unknown \"**/*.{js,yml,scss,md}\"",
40
+ "prettier-fix": "prettier --config config/prettierrc.json --write --ignore-unknown \"**/*.{js,yml,scss,md}\"",
41
+ "semantic-release": "semantic-release",
42
+ "storybook": "storybook dev --ci -s ../../dist,../../assets/images,../../assets/icons,../../assets/videos -p 6006",
43
+ "storybook-build": "storybook build -s ../../dist,../../assets/images,../../assets/icons,../../assets/videos -o .out",
44
+ "storybook-deploy": "storybook-to-ghpages -o .out",
45
+ "test": "jest --coverage --config ./config/jest.config.js",
46
+ "twatch": "jest --no-coverage --watch --verbose"
47
+ },
48
+ "dependencies": {
49
+ "@babel/core": "^7.24.0",
50
+ "@babel/eslint-parser": "^7.23.10",
51
+ "@emulsify/cli": "^1.6.0",
52
+ "@storybook/addon-a11y": "^7.6.17",
53
+ "@storybook/addon-actions": "^7.6.17",
54
+ "@storybook/addon-essentials": "^7.6.17",
55
+ "@storybook/addon-links": "^7.6.17",
56
+ "@storybook/addon-styling-webpack": "^1.0.0",
57
+ "@storybook/addon-themes": "^7.6.17",
58
+ "@storybook/html": "^7.6.17",
59
+ "@storybook/html-webpack5": "^7.6.17",
60
+ "add-attributes-twig-extension": "^0.1.0",
61
+ "autoprefixer": "^10.4.19",
62
+ "babel-loader": "^9.1.3",
63
+ "babel-preset-minify": "^0.5.2",
64
+ "bem-twig-extension": "^0.1.1",
65
+ "breakpoint-sass": "^3.0.0",
66
+ "chalk": "^5.2.0",
67
+ "clean-webpack-plugin": "^4.0.0",
68
+ "concurrently": "^8.2.2",
69
+ "css-loader": "^7.1.1",
70
+ "eslint": "^8.57.0",
71
+ "eslint-config-airbnb-base": "^15.0.0",
72
+ "eslint-config-prettier": "^9.1.0",
73
+ "eslint-plugin-import": "^2.29.1",
74
+ "eslint-plugin-jest": "^27.9.0",
75
+ "eslint-plugin-prettier": "^5.1.3",
76
+ "eslint-plugin-security": "^2.1.1",
77
+ "eslint-plugin-storybook": "^0.8.0",
78
+ "eslint-webpack-plugin": "^4.1.0",
79
+ "file-loader": "^6.2.0",
80
+ "fs-extra": "^11.2.0",
81
+ "glob": "^10.3.12",
82
+ "graceful-fs": "^4.2.11",
83
+ "html-webpack-plugin": "^5.6.0",
84
+ "imagemin-webpack-plugin": "^2.4.2",
85
+ "jest": "^29.7.0",
86
+ "jest-environment-jsdom": "^29.7.0",
87
+ "js-yaml": "^4.1.0",
88
+ "js-yaml-loader": "^1.2.2",
89
+ "lint-staged": "^15.2.2",
90
+ "mini-css-extract-plugin": "^2.9.0",
91
+ "node-sass-glob-importer": "^5.3.3",
92
+ "normalize.css": "^8.0.1",
93
+ "open-cli": "^8.0.0",
94
+ "pa11y": "^7.0.0",
95
+ "postcss": "^8.4.38",
96
+ "postcss-loader": "^8.1.1",
97
+ "postcss-scss": "^4.0.9",
98
+ "ramda": "^0.29.1",
99
+ "react": "^18.2.0",
100
+ "react-dom": "^18.2.0",
101
+ "regenerator-runtime": "^0.14.1",
102
+ "sass": "^1.75.0",
103
+ "sass-loader": "^14.2.1",
104
+ "storybook": "^7.6.17",
105
+ "style-dictionary": "^3.9.2",
106
+ "stylelint": "^16.3.1",
107
+ "stylelint-config-standard-scss": "^13.1.0",
108
+ "stylelint-prettier": "^5.0.0",
109
+ "stylelint-selector-bem-pattern": "^4.0.0",
110
+ "stylelint-webpack-plugin": "^5.0.0",
111
+ "svg-sprite-loader": "^6.0.11",
112
+ "token-transformer": "^0.0.33",
113
+ "twig-drupal-filters": "^3.2.0",
114
+ "twig-loader": "github:fourkitchens/twig-loader",
115
+ "twig-testing-library": "^1.2.0",
116
+ "webpack": "^5.91.0",
117
+ "webpack-cli": "^5.1.4",
118
+ "webpack-merge": "^5.10.0",
119
+ "yaml": "^2.4.1"
120
+ },
121
+ "devDependencies": {
122
+ "@commitlint/cli": "^19.2.0",
123
+ "@commitlint/config-conventional": "^19.1.0",
124
+ "@semantic-release/changelog": "^6.0.2",
125
+ "@semantic-release/commit-analyzer": "^11.1.0",
126
+ "@semantic-release/git": "^10.0.1",
127
+ "@semantic-release/github": "^10.0.2",
128
+ "@semantic-release/release-notes-generator": "^12.1.0",
129
+ "husky": "^9.0.11",
130
+ "semantic-release": "^23.0.4"
131
+ },
132
+ "overrides": {
133
+ "graceful-fs": "^4.2.11"
134
+ }
135
+ }
@@ -0,0 +1,4 @@
1
+ #!/bin/sh
2
+ . "$(dirname "$0")/_/husky.sh"
3
+
4
+ npm run husky:commit-msg
@@ -0,0 +1,4 @@
1
+ #!/bin/sh
2
+ . "$(dirname "$0")/_/husky.sh"
3
+
4
+ npm run husky:pre-commit
package/.nvmrc ADDED
@@ -0,0 +1 @@
1
+ 20
@@ -0,0 +1,4 @@
1
+ dist
2
+ .out
3
+ .coverage
4
+ *.min.js