├── .DS_Store
├── html-css
├── baseElements.html
├── css
│ ├── boxStory.html
│ ├── cssBoxModel.html
│ ├── flexBoxSample.html
│ └── templatesample
│ │ ├── reset.css
│ │ ├── template1.html
│ │ └── template2.html
├── cssIntro.html
├── cssSelectors.html
├── cssSelectors2.html
├── intro.html
└── sassSample
│ ├── techcareerTemplate
│ ├── assets
│ │ └── scss
│ │ │ ├── abstract
│ │ │ └── _variables.scss
│ │ │ ├── components
│ │ │ └── _button.scss
│ │ │ ├── layout
│ │ │ └── _navbar.scss
│ │ │ ├── main.css
│ │ │ ├── main.css.map
│ │ │ └── main.scss
│ └── index.html
│ └── template2
│ ├── assets
│ ├── abstracts
│ │ └── _variables.scss
│ ├── base
│ │ └── _reset.scss
│ ├── components
│ │ └── _button.scss
│ ├── layout
│ │ └── _navbar.scss
│ ├── main.css
│ ├── main.css.map
│ ├── main.scss
│ └── pages
│ │ ├── contact
│ │ └── _contact.scss
│ │ └── home
│ │ ├── _header.scss
│ │ └── _home.scss
│ └── index.html
├── js
├── asyncAwait
│ └── asyncSample.html
├── axios
│ ├── deleteSample.html
│ ├── getSample.html
│ ├── postSample.html
│ └── weatherApiSample.html
├── dom
│ ├── domCreateElement.html
│ ├── domIntro.html
│ ├── domSample1.html
│ ├── domSample2.html
│ └── domTimingSample3.html
├── fetch
│ ├── fetchGetSample.html
│ └── productPage.html
├── intro
│ ├── arrowFunctions.html
│ ├── dataTypes.html
│ ├── dataTypes2.html
│ ├── functions.html
│ ├── jsCallback.html
│ └── typeConvension.html
└── object
│ ├── arrayFilterSort.html
│ ├── arrayFind.html
│ ├── arraySample2.html
│ └── objectArraySample.html
├── kaynaklar.txt
├── node_modules
├── .bin
│ └── sass
├── .package-lock.json
├── anymatch
│ ├── LICENSE
│ ├── README.md
│ ├── index.d.ts
│ ├── index.js
│ └── package.json
├── binary-extensions
│ ├── binary-extensions.json
│ ├── binary-extensions.json.d.ts
│ ├── index.d.ts
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── braces
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ ├── lib
│ │ ├── compile.js
│ │ ├── constants.js
│ │ ├── expand.js
│ │ ├── parse.js
│ │ ├── stringify.js
│ │ └── utils.js
│ └── package.json
├── chokidar
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ ├── lib
│ │ ├── constants.js
│ │ ├── fsevents-handler.js
│ │ └── nodefs-handler.js
│ ├── package.json
│ └── types
│ │ └── index.d.ts
├── fill-range
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── fsevents
│ ├── LICENSE
│ ├── README.md
│ ├── fsevents.d.ts
│ ├── fsevents.js
│ ├── fsevents.node
│ └── package.json
├── glob-parent
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── immutable
│ ├── LICENSE
│ ├── README.md
│ ├── dist
│ │ ├── immutable.d.ts
│ │ ├── immutable.es.js
│ │ ├── immutable.js
│ │ ├── immutable.js.flow
│ │ └── immutable.min.js
│ └── package.json
├── is-binary-path
│ ├── index.d.ts
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── is-extglob
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── is-glob
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── is-number
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── normalize-path
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── picomatch
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ ├── lib
│ │ ├── constants.js
│ │ ├── parse.js
│ │ ├── picomatch.js
│ │ ├── scan.js
│ │ └── utils.js
│ └── package.json
├── readdirp
│ ├── LICENSE
│ ├── README.md
│ ├── index.d.ts
│ ├── index.js
│ └── package.json
├── sass
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── sass.dart.js
│ ├── sass.default.cjs
│ ├── sass.default.js
│ ├── sass.js
│ ├── sass.node.js
│ ├── sass.node.mjs
│ └── types
│ │ ├── compile.d.ts
│ │ ├── exception.d.ts
│ │ ├── importer.d.ts
│ │ ├── index.d.ts
│ │ ├── legacy
│ │ ├── exception.d.ts
│ │ ├── function.d.ts
│ │ ├── importer.d.ts
│ │ ├── options.d.ts
│ │ ├── plugin_this.d.ts
│ │ └── render.d.ts
│ │ ├── logger
│ │ ├── index.d.ts
│ │ ├── source_location.d.ts
│ │ └── source_span.d.ts
│ │ ├── options.d.ts
│ │ ├── util
│ │ └── promise_or.d.ts
│ │ └── value
│ │ ├── argument_list.d.ts
│ │ ├── boolean.d.ts
│ │ ├── calculation.d.ts
│ │ ├── color.d.ts
│ │ ├── function.d.ts
│ │ ├── index.d.ts
│ │ ├── list.d.ts
│ │ ├── map.d.ts
│ │ ├── number.d.ts
│ │ └── string.d.ts
├── source-map-js
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── lib
│ │ ├── array-set.js
│ │ ├── base64-vlq.js
│ │ ├── base64.js
│ │ ├── binary-search.js
│ │ ├── mapping-list.js
│ │ ├── quick-sort.js
│ │ ├── source-map-consumer.js
│ │ ├── source-map-generator.js
│ │ ├── source-node.js
│ │ └── util.js
│ ├── package.json
│ ├── source-map.d.ts
│ └── source-map.js
└── to-regex-range
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── notes.txt
├── package-lock.json
├── package.json
├── unutmamali.txt
└── ödevler.txt
/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yakintech/techcareer-html-css-js/06944aecfa4e9c6bfc5b88b03bd138786d06575c/.DS_Store
--------------------------------------------------------------------------------
/html-css/baseElements.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Document
7 |
8 |
9 | Çağatay
10 | İstanbul
11 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Doloremque, nihil. Rem minima amet reiciendis recusandae delectus, doloremque architecto eum cupiditate nam iusto cum doloribus sapiente veniam quibusdam exercitationem nemo error?
12 |
13 |
14 | Iron Maiden
15 | Gojira
16 | Slipknot
17 | Rammstein
18 |
19 |
20 |
--------------------------------------------------------------------------------
/html-css/css/boxStory.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Document
7 |
15 |
16 |
17 |
18 |
19 | Box - 1
20 |
21 |
22 | Box - 2
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/html-css/css/cssBoxModel.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Document
8 |
19 |
20 |
21 |
22 |
23 |
24 | Çağatay Yıldız
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/html-css/css/flexBoxSample.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Document
8 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | box-1
23 |
24 |
25 | box-2
26 |
27 |
28 | box-3
29 |
30 |
31 |
32 |
33 |
34 | Çağatay
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/html-css/css/templatesample/reset.css:
--------------------------------------------------------------------------------
1 | /* http://meyerweb.com/eric/tools/css/reset/
2 | v2.0 | 20110126
3 | License: none (public domain)
4 | */
5 |
6 | html, body, div, span, applet, object, iframe,
7 | h1, h2, h3, h4, h5, h6, p, blockquote, pre,
8 | a, abbr, acronym, address, big, cite, code,
9 | del, dfn, em, img, ins, kbd, q, s, samp,
10 | small, strike, strong, sub, sup, tt, var,
11 | b, u, i, center,
12 | dl, dt, dd, ol, ul, li,
13 | fieldset, form, label, legend,
14 | table, caption, tbody, tfoot, thead, tr, th, td,
15 | article, aside, canvas, details, embed,
16 | figure, figcaption, footer, header, hgroup,
17 | menu, nav, output, ruby, section, summary,
18 | time, mark, audio, video {
19 | margin: 0;
20 | padding: 0;
21 | border: 0;
22 | font-size: 100%;
23 | font: inherit;
24 | vertical-align: baseline;
25 | }
26 | /* HTML5 display-role reset for older browsers */
27 | article, aside, details, figcaption, figure,
28 | footer, header, hgroup, menu, nav, section {
29 | display: block;
30 | }
31 | body {
32 | line-height: 1;
33 | }
34 | ol, ul {
35 | list-style: none;
36 | }
37 | blockquote, q {
38 | quotes: none;
39 | }
40 | blockquote:before, blockquote:after,
41 | q:before, q:after {
42 | content: '';
43 | content: none;
44 | }
45 | table {
46 | border-collapse: collapse;
47 | border-spacing: 0;
48 | }
--------------------------------------------------------------------------------
/html-css/css/templatesample/template1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Document
8 |
9 |
10 |
13 |
14 |
15 |
16 |
97 |
98 |
99 |
100 |
101 |
102 | Start Bootstrap
103 |
104 |
109 |
110 |
120 |
121 |
122 |
123 |
--------------------------------------------------------------------------------
/html-css/css/templatesample/template2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Document
8 |
40 |
41 |
42 |
43 |
55 |
56 |
57 |
58 |
59 |
60 |
--------------------------------------------------------------------------------
/html-css/cssIntro.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Document
7 |
8 |
9 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Eius, voluptatem. Eum facere similique praesentium repellendus animi molestiae ipsam explicabo quasi alias, doloremque maiores tempora repellat rerum voluptatem recusandae amet asperiores?
10 |
11 | Çağatay Yıldız
12 |
13 |
14 |
--------------------------------------------------------------------------------
/html-css/cssSelectors.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Document
7 |
22 |
23 |
24 |
25 |
26 | Iron Maiden
27 | Parkway Drive
28 | Sylosis
29 | Pantera
30 |
31 |
32 |
33 | İzmir
34 | İstanbul
35 |
36 | Ankara
37 |
38 |
39 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Commodi consectetur voluptas, autem et earum qui laudantium impedit pariatur numquam, sapiente officia omnis, fuga laborum maxime perspiciatis molestias vitae molestiae accusamus!,
40 |
41 |
42 |
43 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Commodi consectetur voluptas, autem et earum qui laudantium impedit pariatur numquam, sapiente officia omnis, fuga laborum maxime perspiciatis molestias vitae molestiae accusamus!,
44 |
45 |
46 |
47 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Commodi consectetur voluptas, autem et earum qui laudantium impedit pariatur numquam, sapiente officia omnis, fuga laborum maxime perspiciatis molestias vitae molestiae accusamus!,
48 |
49 |
--------------------------------------------------------------------------------
/html-css/cssSelectors2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Document
7 |
15 |
16 |
17 |
18 | Site Title
19 |
20 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Similique nihil error placeat doloribus provident aut sed illo? Beatae quod tempore veniam dolores! Cum quis voluptas vero illo voluptatum magnam in.
21 |
22 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Similique nihil error placeat doloribus provident aut sed illo? Beatae quod tempore veniam dolores! Cum quis voluptas vero illo voluptatum magnam in.
23 |
24 |
25 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Similique nihil error placeat doloribus provident aut sed illo? Beatae quod tempore veniam dolores! Cum quis voluptas vero illo voluptatum magnam in.
26 |
27 |
28 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Similique nihil error placeat doloribus provident aut sed illo? Beatae quod tempore veniam dolores! Cum quis voluptas vero illo voluptatum magnam in.
29 |
30 |
31 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Similique nihil error placeat doloribus provident aut sed illo? Beatae quod tempore veniam dolores! Cum quis voluptas vero illo voluptatum magnam in.
32 |
33 |
34 |
--------------------------------------------------------------------------------
/html-css/intro.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Cagatay site
7 |
8 |
9 | Bu bir paragraf elementidir
10 | Bu bir başlık elementidir. Çağatay Yıldız
11 | Bu da bir başlık elementidir!
12 | Go to Techcareer!!
13 |
14 |
15 |
--------------------------------------------------------------------------------
/html-css/sassSample/techcareerTemplate/assets/scss/abstract/_variables.scss:
--------------------------------------------------------------------------------
1 | $baseColor: #00D076;
--------------------------------------------------------------------------------
/html-css/sassSample/techcareerTemplate/assets/scss/components/_button.scss:
--------------------------------------------------------------------------------
1 | @import '../abstract/variables';
2 |
3 | .tech-button{
4 | background-color: $baseColor;
5 | }
--------------------------------------------------------------------------------
/html-css/sassSample/techcareerTemplate/assets/scss/layout/_navbar.scss:
--------------------------------------------------------------------------------
1 | nav{
2 | display: flex;
3 | justify-content: space-between;
4 | height: 68px;
5 | padding-left:10%;
6 | padding-right: 10%;
7 |
8 | ul{
9 | display: flex;
10 | }
11 | a{
12 | text-decoration: none;
13 | color: #000;
14 | font-size: 1.2rem;
15 | font-weight: 600;
16 | padding: 0 1rem;
17 | &:hover{
18 | color: #f00;
19 | }
20 | }
21 | }
--------------------------------------------------------------------------------
/html-css/sassSample/techcareerTemplate/assets/scss/main.css:
--------------------------------------------------------------------------------
1 | .tech-button {
2 | background-color: #00D076;
3 | }
4 |
5 | nav {
6 | display: flex;
7 | justify-content: space-between;
8 | height: 68px;
9 | padding-left: 10%;
10 | padding-right: 10%;
11 | }
12 | nav ul {
13 | display: flex;
14 | }
15 | nav a {
16 | text-decoration: none;
17 | color: #000;
18 | font-size: 1.2rem;
19 | font-weight: 600;
20 | padding: 0 1rem;
21 | }
22 | nav a:hover {
23 | color: #f00;
24 | }
25 |
26 | /*# sourceMappingURL=main.css.map */
27 |
--------------------------------------------------------------------------------
/html-css/sassSample/techcareerTemplate/assets/scss/main.css.map:
--------------------------------------------------------------------------------
1 | {"version":3,"sourceRoot":"","sources":["components/_button.scss","abstract/_variables.scss","layout/_navbar.scss"],"names":[],"mappings":"AAEA;EACI,kBCHQ;;;ACAZ;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AACA;EACI","file":"main.css"}
--------------------------------------------------------------------------------
/html-css/sassSample/techcareerTemplate/assets/scss/main.scss:
--------------------------------------------------------------------------------
1 | @import './components/button';
2 | @import './layout/navbar';
--------------------------------------------------------------------------------
/html-css/sassSample/techcareerTemplate/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Document
7 |
8 |
9 |
10 |
11 |
12 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/html-css/sassSample/template2/assets/abstracts/_variables.scss:
--------------------------------------------------------------------------------
1 | $mainColor: #085ED6;
2 | $backColor: #F8F9FA;
3 |
4 |
5 | $black: #000;
6 | $white: #fff;
--------------------------------------------------------------------------------
/html-css/sassSample/template2/assets/base/_reset.scss:
--------------------------------------------------------------------------------
1 | /* http://meyerweb.com/eric/tools/css/reset/
2 | v5.0.2 | 20191019
3 | License: none (public domain)
4 | */
5 |
6 | html, body, div, span, applet, object, iframe,
7 | h1, h2, h3, h4, h5, h6, p, blockquote, pre,
8 | a, abbr, acronym, address, big, cite, code,
9 | del, dfn, em, img, ins, kbd, q, s, samp,
10 | small, strike, strong, sub, sup, tt, var,
11 | b, u, i, center,
12 | dl, dt, dd, ol, ul, li,
13 | fieldset, form, label, legend,
14 | table, caption, tbody, tfoot, thead, tr, th, td,
15 | article, aside, canvas, details, embed,
16 | figure, figcaption, footer, header, hgroup,
17 | main, menu, nav, output, ruby, section, summary,
18 | time, mark, audio, video {
19 | margin: 0;
20 | padding: 0;
21 | border: 0;
22 | font-size: 100%;
23 | font: inherit;
24 | vertical-align: baseline;
25 | }
26 | /* HTML5 display-role reset for older browsers */
27 | article, aside, details, figcaption, figure,
28 | footer, header, hgroup, main, menu, nav, section {
29 | display: block;
30 | }
31 | /* HTML5 hidden-attribute fix for newer browsers */
32 | *[hidden] {
33 | display: none;
34 | }
35 | body {
36 | line-height: 1;
37 | }
38 | menu, ol, ul {
39 | list-style: none;
40 | }
41 | blockquote, q {
42 | quotes: none;
43 | }
44 | blockquote:before, blockquote:after,
45 | q:before, q:after {
46 | content: '';
47 | content: none;
48 | }
49 | table {
50 | border-collapse: collapse;
51 | border-spacing: 0;
52 | }
--------------------------------------------------------------------------------
/html-css/sassSample/template2/assets/components/_button.scss:
--------------------------------------------------------------------------------
1 | button{
2 | background-color: $mainColor;
3 | }
--------------------------------------------------------------------------------
/html-css/sassSample/template2/assets/layout/_navbar.scss:
--------------------------------------------------------------------------------
1 | nav{
2 | background-color: $backColor;
3 | height: 66px;
4 | padding-left: 10%;
5 | padding-right: 10%;
6 | display: flex;
7 | align-items: center;
8 | justify-content: space-between;
9 |
10 | a{
11 | text-decoration: none;
12 | font-size: 16px;
13 | color: $black
14 | }
15 |
16 | button{
17 | width: 87px;
18 | height: 50px;
19 | color: $white;
20 | border: none;
21 | border-radius: 10px;
22 | }
23 | }
--------------------------------------------------------------------------------
/html-css/sassSample/template2/assets/main.css:
--------------------------------------------------------------------------------
1 | /* http://meyerweb.com/eric/tools/css/reset/
2 | v5.0.2 | 20191019
3 | License: none (public domain)
4 | */
5 | html, body, div, span, applet, object, iframe,
6 | h1, h2, h3, h4, h5, h6, p, blockquote, pre,
7 | a, abbr, acronym, address, big, cite, code,
8 | del, dfn, em, img, ins, kbd, q, s, samp,
9 | small, strike, strong, sub, sup, tt, var,
10 | b, u, i, center,
11 | dl, dt, dd, ol, ul, li,
12 | fieldset, form, label, legend,
13 | table, caption, tbody, tfoot, thead, tr, th, td,
14 | article, aside, canvas, details, embed,
15 | figure, figcaption, footer, header, hgroup,
16 | main, menu, nav, output, ruby, section, summary,
17 | time, mark, audio, video {
18 | margin: 0;
19 | padding: 0;
20 | border: 0;
21 | font-size: 100%;
22 | font: inherit;
23 | vertical-align: baseline;
24 | }
25 |
26 | /* HTML5 display-role reset for older browsers */
27 | article, aside, details, figcaption, figure,
28 | footer, header, hgroup, main, menu, nav, section {
29 | display: block;
30 | }
31 |
32 | /* HTML5 hidden-attribute fix for newer browsers */
33 | *[hidden] {
34 | display: none;
35 | }
36 |
37 | body {
38 | line-height: 1;
39 | }
40 |
41 | menu, ol, ul {
42 | list-style: none;
43 | }
44 |
45 | blockquote, q {
46 | quotes: none;
47 | }
48 |
49 | blockquote:before, blockquote:after,
50 | q:before, q:after {
51 | content: "";
52 | content: none;
53 | }
54 |
55 | table {
56 | border-collapse: collapse;
57 | border-spacing: 0;
58 | }
59 |
60 | nav {
61 | background-color: #F8F9FA;
62 | height: 66px;
63 | padding-left: 10%;
64 | padding-right: 10%;
65 | display: flex;
66 | align-items: center;
67 | justify-content: space-between;
68 | }
69 | nav a {
70 | text-decoration: none;
71 | font-size: 16px;
72 | color: #000;
73 | }
74 | nav button {
75 | width: 87px;
76 | height: 50px;
77 | color: #fff;
78 | border: none;
79 | border-radius: 10px;
80 | }
81 |
82 | button {
83 | background-color: #085ED6;
84 | }
85 |
86 | header {
87 | background: url("https://startbootstrap.github.io/startbootstrap-landing-page/assets/img/bg-masthead.jpg") no-repeat center center;
88 | display: flex;
89 | flex-direction: column;
90 | justify-content: center;
91 | align-items: center;
92 | height: 661px;
93 | }
94 | header p {
95 | font-size: 3rem;
96 | color: #fff;
97 | width: 50%;
98 | text-align: center;
99 | }
100 | header div {
101 | margin-top: 20px;
102 | }
103 | header input {
104 | padding: 1rem 1.25rem;
105 | font-size: 1.25rem;
106 | border-radius: 0.5rem;
107 | width: 500px;
108 | height: 64px;
109 | box-sizing: border-box;
110 | }
111 | header button {
112 | width: 103px;
113 | height: 64px;
114 | border: none;
115 | }
116 |
117 | /*# sourceMappingURL=main.css.map */
118 |
--------------------------------------------------------------------------------
/html-css/sassSample/template2/assets/main.css.map:
--------------------------------------------------------------------------------
1 | {"version":3,"sourceRoot":"","sources":["base/_reset.scss","layout/_navbar.scss","abstracts/_variables.scss","components/_button.scss","pages/home/_header.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAaC;EACA;EACA;EACA;EACA;EACA;;;AAED;AACA;AAAA;EAEC;;;AAED;AACA;EACI;;;AAEJ;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;AAAA;EAEC;EACA;;;AAED;EACC;EACA;;;AClDD;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA,OCRA;;ADWJ;EACI;EACA;EACA,OCbA;EDcA;EACA;;;AEpBR;EACI,kBDDQ;;;AEAZ;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA,OFLA;EEMA;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACI;EACA;EACA","file":"main.css"}
--------------------------------------------------------------------------------
/html-css/sassSample/template2/assets/main.scss:
--------------------------------------------------------------------------------
1 | //abstracts
2 | @import './abstracts/variables';
3 |
4 |
5 | //base
6 | @import './base/reset';
7 |
8 |
9 | //layouts
10 | @import './layout/navbar';
11 |
12 | //components
13 | @import './components/button';
14 |
15 | //pages
16 | @import './pages/home/home';
17 | @import './pages/contact/contact';
--------------------------------------------------------------------------------
/html-css/sassSample/template2/assets/pages/contact/_contact.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yakintech/techcareer-html-css-js/06944aecfa4e9c6bfc5b88b03bd138786d06575c/html-css/sassSample/template2/assets/pages/contact/_contact.scss
--------------------------------------------------------------------------------
/html-css/sassSample/template2/assets/pages/home/_header.scss:
--------------------------------------------------------------------------------
1 | header {
2 | background: url('https://startbootstrap.github.io/startbootstrap-landing-page/assets/img/bg-masthead.jpg')no-repeat center center;
3 | display: flex;
4 | flex-direction: column;
5 | justify-content: center;
6 | align-items: center;
7 | height: 661px;
8 |
9 | p {
10 | font-size: 3rem;
11 | color: $white;
12 | width: 50%;
13 | text-align: center;
14 | }
15 |
16 | div {
17 | margin-top: 20px;
18 | }
19 |
20 | input {
21 | padding: 1rem 1.25rem;
22 | font-size: 1.25rem;
23 | border-radius: 0.5rem;
24 | width: 500px;
25 | height: 64px;
26 | box-sizing: border-box;
27 |
28 | }
29 |
30 | button{
31 | width: 103px;
32 | height: 64px;
33 | border:none
34 | }
35 | }
--------------------------------------------------------------------------------
/html-css/sassSample/template2/assets/pages/home/_home.scss:
--------------------------------------------------------------------------------
1 | @import './header';
--------------------------------------------------------------------------------
/html-css/sassSample/template2/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Document
8 |
9 |
10 |
11 |
12 | Start Bootstrap
13 | Sign Up
14 |
15 |
26 |
27 |
--------------------------------------------------------------------------------
/js/asyncAwait/asyncSample.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Document
9 |
10 |
11 |
12 |
13 |
14 |
15 |
58 |
59 |
--------------------------------------------------------------------------------
/js/axios/deleteSample.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Document
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/js/axios/getSample.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Document
9 |
10 |
11 |
12 |
13 |
16 | GET DATA FROM WEB API
17 |
18 |
43 |
44 |
--------------------------------------------------------------------------------
/js/axios/postSample.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | Document
11 |
12 |
13 |
14 |
15 |
16 |
17 | Name
18 |
19 |
20 |
21 | Description
22 |
23 |
24 |
25 | Add
26 |
27 |
28 |
29 |
49 |
50 |
--------------------------------------------------------------------------------
/js/axios/weatherApiSample.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Document
8 |
9 |
10 |
11 |
12 |
13 |
14 | Lat:
15 |
16 |
17 |
18 | Lat:
19 |
20 |
21 |
22 | Get
23 |
24 |
25 |
26 |
27 |
44 |
--------------------------------------------------------------------------------
/js/dom/domCreateElement.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Document
7 |
8 |
9 | Add Random Number
10 |
11 |
12 |
13 |
14 |
26 |
--------------------------------------------------------------------------------
/js/dom/domIntro.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Document
7 |
8 |
9 | İstanbul
10 | İstanbul
11 | İstanbul
12 |
13 | Change
14 | Change Color
15 |
16 |
17 |
29 |
--------------------------------------------------------------------------------
/js/dom/domSample1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Document
7 |
8 |
9 |
10 | GO!
11 |
12 |
25 |
--------------------------------------------------------------------------------
/js/dom/domSample2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Document
8 |
9 |
10 |
11 | Change Body Color
12 |
13 |
31 |
32 |
--------------------------------------------------------------------------------
/js/dom/domTimingSample3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Document
8 |
34 |
35 |
36 |
37 | Start
38 |
39 |
40 |
41 |
42 |
43 |
45 |
46 |
47 |
48 |
49 |
50 |
99 |
100 |
--------------------------------------------------------------------------------
/js/fetch/fetchGetSample.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Document
9 |
10 |
11 |
12 |
13 |
14 |
36 |
37 |
--------------------------------------------------------------------------------
/js/fetch/productPage.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Document
9 |
10 |
11 |
12 |
13 | Search:
14 |
15 |
16 |
17 |
18 |
19 | Id
20 | Name
21 | Price
22 | Stock
23 | Delete
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
106 |
107 |
--------------------------------------------------------------------------------
/js/intro/arrowFunctions.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Document
8 |
9 |
10 |
11 |
12 |
13 |
36 |
37 |
--------------------------------------------------------------------------------
/js/intro/dataTypes.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Document
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/js/intro/dataTypes2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Document
8 |
9 |
10 |
11 |
12 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/js/intro/functions.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Document
9 |
10 |
11 |
12 |
13 |
14 |
61 |
62 |
--------------------------------------------------------------------------------
/js/intro/jsCallback.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Document
8 |
9 |
10 |
11 |
12 |
32 |
--------------------------------------------------------------------------------
/js/intro/typeConvension.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Document
9 |
10 |
11 |
12 |
13 |
14 |
31 |
32 |
--------------------------------------------------------------------------------
/js/object/arraySample2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Document
8 |
9 |
10 |
11 |
12 |
13 |
45 |
46 |
--------------------------------------------------------------------------------
/js/object/objectArraySample.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Document
7 |
8 |
9 |
10 |
11 |
41 |
--------------------------------------------------------------------------------
/kaynaklar.txt:
--------------------------------------------------------------------------------
1 | Temel HTML CSS JS
2 | https://www.w3schools.com/
3 | https://developer.mozilla.org/en-US/
4 |
5 |
6 | CSS Selectors
7 | https://webdesign.tutsplus.com/the-30-css-selectors-you-must-memorize--net-16048t
8 |
9 |
10 |
11 | Flex Hikayeleri
12 | https://www.youtube.com/watch?v=OaEtW_CSaPk
13 |
--------------------------------------------------------------------------------
/node_modules/.bin/sass:
--------------------------------------------------------------------------------
1 | ../sass/sass.js
--------------------------------------------------------------------------------
/node_modules/anymatch/LICENSE:
--------------------------------------------------------------------------------
1 | The ISC License
2 |
3 | Copyright (c) 2019 Elan Shanker, Paul Miller (https://paulmillr.com)
4 |
5 | Permission to use, copy, modify, and/or distribute this software for any
6 | purpose with or without fee is hereby granted, provided that the above
7 | copyright notice and this permission notice appear in all copies.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 |
--------------------------------------------------------------------------------
/node_modules/anymatch/README.md:
--------------------------------------------------------------------------------
1 | anymatch [](https://travis-ci.org/micromatch/anymatch) [](https://coveralls.io/r/micromatch/anymatch?branch=master)
2 | ======
3 | Javascript module to match a string against a regular expression, glob, string,
4 | or function that takes the string as an argument and returns a truthy or falsy
5 | value. The matcher can also be an array of any or all of these. Useful for
6 | allowing a very flexible user-defined config to define things like file paths.
7 |
8 | __Note: This module has Bash-parity, please be aware that Windows-style backslashes are not supported as separators. See https://github.com/micromatch/micromatch#backslashes for more information.__
9 |
10 |
11 | Usage
12 | -----
13 | ```sh
14 | npm install anymatch
15 | ```
16 |
17 | #### anymatch(matchers, testString, [returnIndex], [options])
18 | * __matchers__: (_Array|String|RegExp|Function_)
19 | String to be directly matched, string with glob patterns, regular expression
20 | test, function that takes the testString as an argument and returns a truthy
21 | value if it should be matched, or an array of any number and mix of these types.
22 | * __testString__: (_String|Array_) The string to test against the matchers. If
23 | passed as an array, the first element of the array will be used as the
24 | `testString` for non-function matchers, while the entire array will be applied
25 | as the arguments for function matchers.
26 | * __options__: (_Object_ [optional]_) Any of the [picomatch](https://github.com/micromatch/picomatch#options) options.
27 | * __returnIndex__: (_Boolean [optional]_) If true, return the array index of
28 | the first matcher that that testString matched, or -1 if no match, instead of a
29 | boolean result.
30 |
31 | ```js
32 | const anymatch = require('anymatch');
33 |
34 | const matchers = [ 'path/to/file.js', 'path/anyjs/**/*.js', /foo.js$/, string => string.includes('bar') && string.length > 10 ] ;
35 |
36 | anymatch(matchers, 'path/to/file.js'); // true
37 | anymatch(matchers, 'path/anyjs/baz.js'); // true
38 | anymatch(matchers, 'path/to/foo.js'); // true
39 | anymatch(matchers, 'path/to/bar.js'); // true
40 | anymatch(matchers, 'bar.js'); // false
41 |
42 | // returnIndex = true
43 | anymatch(matchers, 'foo.js', {returnIndex: true}); // 2
44 | anymatch(matchers, 'path/anyjs/foo.js', {returnIndex: true}); // 1
45 |
46 | // any picomatc
47 |
48 | // using globs to match directories and their children
49 | anymatch('node_modules', 'node_modules'); // true
50 | anymatch('node_modules', 'node_modules/somelib/index.js'); // false
51 | anymatch('node_modules/**', 'node_modules/somelib/index.js'); // true
52 | anymatch('node_modules/**', '/absolute/path/to/node_modules/somelib/index.js'); // false
53 | anymatch('**/node_modules/**', '/absolute/path/to/node_modules/somelib/index.js'); // true
54 |
55 | const matcher = anymatch(matchers);
56 | ['foo.js', 'bar.js'].filter(matcher); // [ 'foo.js' ]
57 | anymatch master* ❯
58 |
59 | ```
60 |
61 | #### anymatch(matchers)
62 | You can also pass in only your matcher(s) to get a curried function that has
63 | already been bound to the provided matching criteria. This can be used as an
64 | `Array#filter` callback.
65 |
66 | ```js
67 | var matcher = anymatch(matchers);
68 |
69 | matcher('path/to/file.js'); // true
70 | matcher('path/anyjs/baz.js', true); // 1
71 |
72 | ['foo.js', 'bar.js'].filter(matcher); // ['foo.js']
73 | ```
74 |
75 | Changelog
76 | ----------
77 | [See release notes page on GitHub](https://github.com/micromatch/anymatch/releases)
78 |
79 | - **v3.0:** Removed `startIndex` and `endIndex` arguments. Node 8.x-only.
80 | - **v2.0:** [micromatch](https://github.com/jonschlinkert/micromatch) moves away from minimatch-parity and inline with Bash. This includes handling backslashes differently (see https://github.com/micromatch/micromatch#backslashes for more information).
81 | - **v1.2:** anymatch uses [micromatch](https://github.com/jonschlinkert/micromatch)
82 | for glob pattern matching. Issues with glob pattern matching should be
83 | reported directly to the [micromatch issue tracker](https://github.com/jonschlinkert/micromatch/issues).
84 |
85 | License
86 | -------
87 | [ISC](https://raw.github.com/micromatch/anymatch/master/LICENSE)
88 |
--------------------------------------------------------------------------------
/node_modules/anymatch/index.d.ts:
--------------------------------------------------------------------------------
1 | type AnymatchFn = (testString: string) => boolean;
2 | type AnymatchPattern = string|RegExp|AnymatchFn;
3 | type AnymatchMatcher = AnymatchPattern|AnymatchPattern[]
4 | type AnymatchTester = {
5 | (testString: string|any[], returnIndex: true): number;
6 | (testString: string|any[]): boolean;
7 | }
8 |
9 | type PicomatchOptions = {dot: boolean};
10 |
11 | declare const anymatch: {
12 | (matchers: AnymatchMatcher): AnymatchTester;
13 | (matchers: AnymatchMatcher, testString: null, returnIndex: true | PicomatchOptions): AnymatchTester;
14 | (matchers: AnymatchMatcher, testString: string|any[], returnIndex: true | PicomatchOptions): number;
15 | (matchers: AnymatchMatcher, testString: string|any[]): boolean;
16 | }
17 |
18 | export {AnymatchMatcher as Matcher}
19 | export {AnymatchTester as Tester}
20 | export default anymatch
21 |
--------------------------------------------------------------------------------
/node_modules/anymatch/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | Object.defineProperty(exports, "__esModule", { value: true });
4 |
5 | const picomatch = require('picomatch');
6 | const normalizePath = require('normalize-path');
7 |
8 | /**
9 | * @typedef {(testString: string) => boolean} AnymatchFn
10 | * @typedef {string|RegExp|AnymatchFn} AnymatchPattern
11 | * @typedef {AnymatchPattern|AnymatchPattern[]} AnymatchMatcher
12 | */
13 | const BANG = '!';
14 | const DEFAULT_OPTIONS = {returnIndex: false};
15 | const arrify = (item) => Array.isArray(item) ? item : [item];
16 |
17 | /**
18 | * @param {AnymatchPattern} matcher
19 | * @param {object} options
20 | * @returns {AnymatchFn}
21 | */
22 | const createPattern = (matcher, options) => {
23 | if (typeof matcher === 'function') {
24 | return matcher;
25 | }
26 | if (typeof matcher === 'string') {
27 | const glob = picomatch(matcher, options);
28 | return (string) => matcher === string || glob(string);
29 | }
30 | if (matcher instanceof RegExp) {
31 | return (string) => matcher.test(string);
32 | }
33 | return (string) => false;
34 | };
35 |
36 | /**
37 | * @param {Array} patterns
38 | * @param {Array} negPatterns
39 | * @param {String|Array} args
40 | * @param {Boolean} returnIndex
41 | * @returns {boolean|number}
42 | */
43 | const matchPatterns = (patterns, negPatterns, args, returnIndex) => {
44 | const isList = Array.isArray(args);
45 | const _path = isList ? args[0] : args;
46 | if (!isList && typeof _path !== 'string') {
47 | throw new TypeError('anymatch: second argument must be a string: got ' +
48 | Object.prototype.toString.call(_path))
49 | }
50 | const path = normalizePath(_path, false);
51 |
52 | for (let index = 0; index < negPatterns.length; index++) {
53 | const nglob = negPatterns[index];
54 | if (nglob(path)) {
55 | return returnIndex ? -1 : false;
56 | }
57 | }
58 |
59 | const applied = isList && [path].concat(args.slice(1));
60 | for (let index = 0; index < patterns.length; index++) {
61 | const pattern = patterns[index];
62 | if (isList ? pattern(...applied) : pattern(path)) {
63 | return returnIndex ? index : true;
64 | }
65 | }
66 |
67 | return returnIndex ? -1 : false;
68 | };
69 |
70 | /**
71 | * @param {AnymatchMatcher} matchers
72 | * @param {Array|string} testString
73 | * @param {object} options
74 | * @returns {boolean|number|Function}
75 | */
76 | const anymatch = (matchers, testString, options = DEFAULT_OPTIONS) => {
77 | if (matchers == null) {
78 | throw new TypeError('anymatch: specify first argument');
79 | }
80 | const opts = typeof options === 'boolean' ? {returnIndex: options} : options;
81 | const returnIndex = opts.returnIndex || false;
82 |
83 | // Early cache for matchers.
84 | const mtchers = arrify(matchers);
85 | const negatedGlobs = mtchers
86 | .filter(item => typeof item === 'string' && item.charAt(0) === BANG)
87 | .map(item => item.slice(1))
88 | .map(item => picomatch(item, opts));
89 | const patterns = mtchers
90 | .filter(item => typeof item !== 'string' || (typeof item === 'string' && item.charAt(0) !== BANG))
91 | .map(matcher => createPattern(matcher, opts));
92 |
93 | if (testString == null) {
94 | return (testString, ri = false) => {
95 | const returnIndex = typeof ri === 'boolean' ? ri : false;
96 | return matchPatterns(patterns, negatedGlobs, testString, returnIndex);
97 | }
98 | }
99 |
100 | return matchPatterns(patterns, negatedGlobs, testString, returnIndex);
101 | };
102 |
103 | anymatch.default = anymatch;
104 | module.exports = anymatch;
105 |
--------------------------------------------------------------------------------
/node_modules/anymatch/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "anymatch",
3 | "version": "3.1.3",
4 | "description": "Matches strings against configurable strings, globs, regular expressions, and/or functions",
5 | "files": [
6 | "index.js",
7 | "index.d.ts"
8 | ],
9 | "dependencies": {
10 | "normalize-path": "^3.0.0",
11 | "picomatch": "^2.0.4"
12 | },
13 | "author": {
14 | "name": "Elan Shanker",
15 | "url": "https://github.com/es128"
16 | },
17 | "license": "ISC",
18 | "homepage": "https://github.com/micromatch/anymatch",
19 | "repository": {
20 | "type": "git",
21 | "url": "https://github.com/micromatch/anymatch"
22 | },
23 | "keywords": [
24 | "match",
25 | "any",
26 | "string",
27 | "file",
28 | "fs",
29 | "list",
30 | "glob",
31 | "regex",
32 | "regexp",
33 | "regular",
34 | "expression",
35 | "function"
36 | ],
37 | "scripts": {
38 | "test": "nyc mocha",
39 | "mocha": "mocha"
40 | },
41 | "devDependencies": {
42 | "mocha": "^6.1.3",
43 | "nyc": "^14.0.0"
44 | },
45 | "engines": {
46 | "node": ">= 8"
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/node_modules/binary-extensions/binary-extensions.json:
--------------------------------------------------------------------------------
1 | [
2 | "3dm",
3 | "3ds",
4 | "3g2",
5 | "3gp",
6 | "7z",
7 | "a",
8 | "aac",
9 | "adp",
10 | "ai",
11 | "aif",
12 | "aiff",
13 | "alz",
14 | "ape",
15 | "apk",
16 | "appimage",
17 | "ar",
18 | "arj",
19 | "asf",
20 | "au",
21 | "avi",
22 | "bak",
23 | "baml",
24 | "bh",
25 | "bin",
26 | "bk",
27 | "bmp",
28 | "btif",
29 | "bz2",
30 | "bzip2",
31 | "cab",
32 | "caf",
33 | "cgm",
34 | "class",
35 | "cmx",
36 | "cpio",
37 | "cr2",
38 | "cur",
39 | "dat",
40 | "dcm",
41 | "deb",
42 | "dex",
43 | "djvu",
44 | "dll",
45 | "dmg",
46 | "dng",
47 | "doc",
48 | "docm",
49 | "docx",
50 | "dot",
51 | "dotm",
52 | "dra",
53 | "DS_Store",
54 | "dsk",
55 | "dts",
56 | "dtshd",
57 | "dvb",
58 | "dwg",
59 | "dxf",
60 | "ecelp4800",
61 | "ecelp7470",
62 | "ecelp9600",
63 | "egg",
64 | "eol",
65 | "eot",
66 | "epub",
67 | "exe",
68 | "f4v",
69 | "fbs",
70 | "fh",
71 | "fla",
72 | "flac",
73 | "flatpak",
74 | "fli",
75 | "flv",
76 | "fpx",
77 | "fst",
78 | "fvt",
79 | "g3",
80 | "gh",
81 | "gif",
82 | "graffle",
83 | "gz",
84 | "gzip",
85 | "h261",
86 | "h263",
87 | "h264",
88 | "icns",
89 | "ico",
90 | "ief",
91 | "img",
92 | "ipa",
93 | "iso",
94 | "jar",
95 | "jpeg",
96 | "jpg",
97 | "jpgv",
98 | "jpm",
99 | "jxr",
100 | "key",
101 | "ktx",
102 | "lha",
103 | "lib",
104 | "lvp",
105 | "lz",
106 | "lzh",
107 | "lzma",
108 | "lzo",
109 | "m3u",
110 | "m4a",
111 | "m4v",
112 | "mar",
113 | "mdi",
114 | "mht",
115 | "mid",
116 | "midi",
117 | "mj2",
118 | "mka",
119 | "mkv",
120 | "mmr",
121 | "mng",
122 | "mobi",
123 | "mov",
124 | "movie",
125 | "mp3",
126 | "mp4",
127 | "mp4a",
128 | "mpeg",
129 | "mpg",
130 | "mpga",
131 | "mxu",
132 | "nef",
133 | "npx",
134 | "numbers",
135 | "nupkg",
136 | "o",
137 | "odp",
138 | "ods",
139 | "odt",
140 | "oga",
141 | "ogg",
142 | "ogv",
143 | "otf",
144 | "ott",
145 | "pages",
146 | "pbm",
147 | "pcx",
148 | "pdb",
149 | "pdf",
150 | "pea",
151 | "pgm",
152 | "pic",
153 | "png",
154 | "pnm",
155 | "pot",
156 | "potm",
157 | "potx",
158 | "ppa",
159 | "ppam",
160 | "ppm",
161 | "pps",
162 | "ppsm",
163 | "ppsx",
164 | "ppt",
165 | "pptm",
166 | "pptx",
167 | "psd",
168 | "pya",
169 | "pyc",
170 | "pyo",
171 | "pyv",
172 | "qt",
173 | "rar",
174 | "ras",
175 | "raw",
176 | "resources",
177 | "rgb",
178 | "rip",
179 | "rlc",
180 | "rmf",
181 | "rmvb",
182 | "rpm",
183 | "rtf",
184 | "rz",
185 | "s3m",
186 | "s7z",
187 | "scpt",
188 | "sgi",
189 | "shar",
190 | "snap",
191 | "sil",
192 | "sketch",
193 | "slk",
194 | "smv",
195 | "snk",
196 | "so",
197 | "stl",
198 | "suo",
199 | "sub",
200 | "swf",
201 | "tar",
202 | "tbz",
203 | "tbz2",
204 | "tga",
205 | "tgz",
206 | "thmx",
207 | "tif",
208 | "tiff",
209 | "tlz",
210 | "ttc",
211 | "ttf",
212 | "txz",
213 | "udf",
214 | "uvh",
215 | "uvi",
216 | "uvm",
217 | "uvp",
218 | "uvs",
219 | "uvu",
220 | "viv",
221 | "vob",
222 | "war",
223 | "wav",
224 | "wax",
225 | "wbmp",
226 | "wdp",
227 | "weba",
228 | "webm",
229 | "webp",
230 | "whl",
231 | "wim",
232 | "wm",
233 | "wma",
234 | "wmv",
235 | "wmx",
236 | "woff",
237 | "woff2",
238 | "wrm",
239 | "wvx",
240 | "xbm",
241 | "xif",
242 | "xla",
243 | "xlam",
244 | "xls",
245 | "xlsb",
246 | "xlsm",
247 | "xlsx",
248 | "xlt",
249 | "xltm",
250 | "xltx",
251 | "xm",
252 | "xmind",
253 | "xpi",
254 | "xpm",
255 | "xwd",
256 | "xz",
257 | "z",
258 | "zip",
259 | "zipx"
260 | ]
261 |
--------------------------------------------------------------------------------
/node_modules/binary-extensions/binary-extensions.json.d.ts:
--------------------------------------------------------------------------------
1 | declare const binaryExtensionsJson: readonly string[];
2 |
3 | export = binaryExtensionsJson;
4 |
--------------------------------------------------------------------------------
/node_modules/binary-extensions/index.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | List of binary file extensions.
3 |
4 | @example
5 | ```
6 | import binaryExtensions = require('binary-extensions');
7 |
8 | console.log(binaryExtensions);
9 | //=> ['3ds', '3g2', …]
10 | ```
11 | */
12 | declare const binaryExtensions: readonly string[];
13 |
14 | export = binaryExtensions;
15 |
--------------------------------------------------------------------------------
/node_modules/binary-extensions/index.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./binary-extensions.json');
2 |
--------------------------------------------------------------------------------
/node_modules/binary-extensions/license:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 Sindre Sorhus (https://sindresorhus.com), Paul Miller (https://paulmillr.com)
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6 |
7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
10 |
--------------------------------------------------------------------------------
/node_modules/binary-extensions/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "binary-extensions",
3 | "version": "2.2.0",
4 | "description": "List of binary file extensions",
5 | "license": "MIT",
6 | "repository": "sindresorhus/binary-extensions",
7 | "author": {
8 | "name": "Sindre Sorhus",
9 | "email": "sindresorhus@gmail.com",
10 | "url": "sindresorhus.com"
11 | },
12 | "engines": {
13 | "node": ">=8"
14 | },
15 | "scripts": {
16 | "test": "xo && ava && tsd"
17 | },
18 | "files": [
19 | "index.js",
20 | "index.d.ts",
21 | "binary-extensions.json",
22 | "binary-extensions.json.d.ts"
23 | ],
24 | "keywords": [
25 | "binary",
26 | "extensions",
27 | "extension",
28 | "file",
29 | "json",
30 | "list",
31 | "array"
32 | ],
33 | "devDependencies": {
34 | "ava": "^1.4.1",
35 | "tsd": "^0.7.2",
36 | "xo": "^0.24.0"
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/node_modules/binary-extensions/readme.md:
--------------------------------------------------------------------------------
1 | # binary-extensions
2 |
3 | > List of binary file extensions
4 |
5 | The list is just a [JSON file](binary-extensions.json) and can be used anywhere.
6 |
7 |
8 | ## Install
9 |
10 | ```
11 | $ npm install binary-extensions
12 | ```
13 |
14 |
15 | ## Usage
16 |
17 | ```js
18 | const binaryExtensions = require('binary-extensions');
19 |
20 | console.log(binaryExtensions);
21 | //=> ['3ds', '3g2', …]
22 | ```
23 |
24 |
25 | ## Related
26 |
27 | - [is-binary-path](https://github.com/sindresorhus/is-binary-path) - Check if a filepath is a binary file
28 | - [text-extensions](https://github.com/sindresorhus/text-extensions) - List of text file extensions
29 |
30 |
31 | ---
32 |
33 |
42 |
--------------------------------------------------------------------------------
/node_modules/braces/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2014-2018, Jon Schlinkert.
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/node_modules/braces/lib/compile.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | const fill = require('fill-range');
4 | const utils = require('./utils');
5 |
6 | const compile = (ast, options = {}) => {
7 | let walk = (node, parent = {}) => {
8 | let invalidBlock = utils.isInvalidBrace(parent);
9 | let invalidNode = node.invalid === true && options.escapeInvalid === true;
10 | let invalid = invalidBlock === true || invalidNode === true;
11 | let prefix = options.escapeInvalid === true ? '\\' : '';
12 | let output = '';
13 |
14 | if (node.isOpen === true) {
15 | return prefix + node.value;
16 | }
17 | if (node.isClose === true) {
18 | return prefix + node.value;
19 | }
20 |
21 | if (node.type === 'open') {
22 | return invalid ? (prefix + node.value) : '(';
23 | }
24 |
25 | if (node.type === 'close') {
26 | return invalid ? (prefix + node.value) : ')';
27 | }
28 |
29 | if (node.type === 'comma') {
30 | return node.prev.type === 'comma' ? '' : (invalid ? node.value : '|');
31 | }
32 |
33 | if (node.value) {
34 | return node.value;
35 | }
36 |
37 | if (node.nodes && node.ranges > 0) {
38 | let args = utils.reduce(node.nodes);
39 | let range = fill(...args, { ...options, wrap: false, toRegex: true });
40 |
41 | if (range.length !== 0) {
42 | return args.length > 1 && range.length > 1 ? `(${range})` : range;
43 | }
44 | }
45 |
46 | if (node.nodes) {
47 | for (let child of node.nodes) {
48 | output += walk(child, node);
49 | }
50 | }
51 | return output;
52 | };
53 |
54 | return walk(ast);
55 | };
56 |
57 | module.exports = compile;
58 |
--------------------------------------------------------------------------------
/node_modules/braces/lib/constants.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | module.exports = {
4 | MAX_LENGTH: 1024 * 64,
5 |
6 | // Digits
7 | CHAR_0: '0', /* 0 */
8 | CHAR_9: '9', /* 9 */
9 |
10 | // Alphabet chars.
11 | CHAR_UPPERCASE_A: 'A', /* A */
12 | CHAR_LOWERCASE_A: 'a', /* a */
13 | CHAR_UPPERCASE_Z: 'Z', /* Z */
14 | CHAR_LOWERCASE_Z: 'z', /* z */
15 |
16 | CHAR_LEFT_PARENTHESES: '(', /* ( */
17 | CHAR_RIGHT_PARENTHESES: ')', /* ) */
18 |
19 | CHAR_ASTERISK: '*', /* * */
20 |
21 | // Non-alphabetic chars.
22 | CHAR_AMPERSAND: '&', /* & */
23 | CHAR_AT: '@', /* @ */
24 | CHAR_BACKSLASH: '\\', /* \ */
25 | CHAR_BACKTICK: '`', /* ` */
26 | CHAR_CARRIAGE_RETURN: '\r', /* \r */
27 | CHAR_CIRCUMFLEX_ACCENT: '^', /* ^ */
28 | CHAR_COLON: ':', /* : */
29 | CHAR_COMMA: ',', /* , */
30 | CHAR_DOLLAR: '$', /* . */
31 | CHAR_DOT: '.', /* . */
32 | CHAR_DOUBLE_QUOTE: '"', /* " */
33 | CHAR_EQUAL: '=', /* = */
34 | CHAR_EXCLAMATION_MARK: '!', /* ! */
35 | CHAR_FORM_FEED: '\f', /* \f */
36 | CHAR_FORWARD_SLASH: '/', /* / */
37 | CHAR_HASH: '#', /* # */
38 | CHAR_HYPHEN_MINUS: '-', /* - */
39 | CHAR_LEFT_ANGLE_BRACKET: '<', /* < */
40 | CHAR_LEFT_CURLY_BRACE: '{', /* { */
41 | CHAR_LEFT_SQUARE_BRACKET: '[', /* [ */
42 | CHAR_LINE_FEED: '\n', /* \n */
43 | CHAR_NO_BREAK_SPACE: '\u00A0', /* \u00A0 */
44 | CHAR_PERCENT: '%', /* % */
45 | CHAR_PLUS: '+', /* + */
46 | CHAR_QUESTION_MARK: '?', /* ? */
47 | CHAR_RIGHT_ANGLE_BRACKET: '>', /* > */
48 | CHAR_RIGHT_CURLY_BRACE: '}', /* } */
49 | CHAR_RIGHT_SQUARE_BRACKET: ']', /* ] */
50 | CHAR_SEMICOLON: ';', /* ; */
51 | CHAR_SINGLE_QUOTE: '\'', /* ' */
52 | CHAR_SPACE: ' ', /* */
53 | CHAR_TAB: '\t', /* \t */
54 | CHAR_UNDERSCORE: '_', /* _ */
55 | CHAR_VERTICAL_LINE: '|', /* | */
56 | CHAR_ZERO_WIDTH_NOBREAK_SPACE: '\uFEFF' /* \uFEFF */
57 | };
58 |
--------------------------------------------------------------------------------
/node_modules/braces/lib/expand.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | const fill = require('fill-range');
4 | const stringify = require('./stringify');
5 | const utils = require('./utils');
6 |
7 | const append = (queue = '', stash = '', enclose = false) => {
8 | let result = [];
9 |
10 | queue = [].concat(queue);
11 | stash = [].concat(stash);
12 |
13 | if (!stash.length) return queue;
14 | if (!queue.length) {
15 | return enclose ? utils.flatten(stash).map(ele => `{${ele}}`) : stash;
16 | }
17 |
18 | for (let item of queue) {
19 | if (Array.isArray(item)) {
20 | for (let value of item) {
21 | result.push(append(value, stash, enclose));
22 | }
23 | } else {
24 | for (let ele of stash) {
25 | if (enclose === true && typeof ele === 'string') ele = `{${ele}}`;
26 | result.push(Array.isArray(ele) ? append(item, ele, enclose) : (item + ele));
27 | }
28 | }
29 | }
30 | return utils.flatten(result);
31 | };
32 |
33 | const expand = (ast, options = {}) => {
34 | let rangeLimit = options.rangeLimit === void 0 ? 1000 : options.rangeLimit;
35 |
36 | let walk = (node, parent = {}) => {
37 | node.queue = [];
38 |
39 | let p = parent;
40 | let q = parent.queue;
41 |
42 | while (p.type !== 'brace' && p.type !== 'root' && p.parent) {
43 | p = p.parent;
44 | q = p.queue;
45 | }
46 |
47 | if (node.invalid || node.dollar) {
48 | q.push(append(q.pop(), stringify(node, options)));
49 | return;
50 | }
51 |
52 | if (node.type === 'brace' && node.invalid !== true && node.nodes.length === 2) {
53 | q.push(append(q.pop(), ['{}']));
54 | return;
55 | }
56 |
57 | if (node.nodes && node.ranges > 0) {
58 | let args = utils.reduce(node.nodes);
59 |
60 | if (utils.exceedsLimit(...args, options.step, rangeLimit)) {
61 | throw new RangeError('expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.');
62 | }
63 |
64 | let range = fill(...args, options);
65 | if (range.length === 0) {
66 | range = stringify(node, options);
67 | }
68 |
69 | q.push(append(q.pop(), range));
70 | node.nodes = [];
71 | return;
72 | }
73 |
74 | let enclose = utils.encloseBrace(node);
75 | let queue = node.queue;
76 | let block = node;
77 |
78 | while (block.type !== 'brace' && block.type !== 'root' && block.parent) {
79 | block = block.parent;
80 | queue = block.queue;
81 | }
82 |
83 | for (let i = 0; i < node.nodes.length; i++) {
84 | let child = node.nodes[i];
85 |
86 | if (child.type === 'comma' && node.type === 'brace') {
87 | if (i === 1) queue.push('');
88 | queue.push('');
89 | continue;
90 | }
91 |
92 | if (child.type === 'close') {
93 | q.push(append(q.pop(), queue, enclose));
94 | continue;
95 | }
96 |
97 | if (child.value && child.type !== 'open') {
98 | queue.push(append(queue.pop(), child.value));
99 | continue;
100 | }
101 |
102 | if (child.nodes) {
103 | walk(child, node);
104 | }
105 | }
106 |
107 | return queue;
108 | };
109 |
110 | return utils.flatten(walk(ast));
111 | };
112 |
113 | module.exports = expand;
114 |
--------------------------------------------------------------------------------
/node_modules/braces/lib/stringify.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | const utils = require('./utils');
4 |
5 | module.exports = (ast, options = {}) => {
6 | let stringify = (node, parent = {}) => {
7 | let invalidBlock = options.escapeInvalid && utils.isInvalidBrace(parent);
8 | let invalidNode = node.invalid === true && options.escapeInvalid === true;
9 | let output = '';
10 |
11 | if (node.value) {
12 | if ((invalidBlock || invalidNode) && utils.isOpenOrClose(node)) {
13 | return '\\' + node.value;
14 | }
15 | return node.value;
16 | }
17 |
18 | if (node.value) {
19 | return node.value;
20 | }
21 |
22 | if (node.nodes) {
23 | for (let child of node.nodes) {
24 | output += stringify(child);
25 | }
26 | }
27 | return output;
28 | };
29 |
30 | return stringify(ast);
31 | };
32 |
33 |
--------------------------------------------------------------------------------
/node_modules/braces/lib/utils.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | exports.isInteger = num => {
4 | if (typeof num === 'number') {
5 | return Number.isInteger(num);
6 | }
7 | if (typeof num === 'string' && num.trim() !== '') {
8 | return Number.isInteger(Number(num));
9 | }
10 | return false;
11 | };
12 |
13 | /**
14 | * Find a node of the given type
15 | */
16 |
17 | exports.find = (node, type) => node.nodes.find(node => node.type === type);
18 |
19 | /**
20 | * Find a node of the given type
21 | */
22 |
23 | exports.exceedsLimit = (min, max, step = 1, limit) => {
24 | if (limit === false) return false;
25 | if (!exports.isInteger(min) || !exports.isInteger(max)) return false;
26 | return ((Number(max) - Number(min)) / Number(step)) >= limit;
27 | };
28 |
29 | /**
30 | * Escape the given node with '\\' before node.value
31 | */
32 |
33 | exports.escapeNode = (block, n = 0, type) => {
34 | let node = block.nodes[n];
35 | if (!node) return;
36 |
37 | if ((type && node.type === type) || node.type === 'open' || node.type === 'close') {
38 | if (node.escaped !== true) {
39 | node.value = '\\' + node.value;
40 | node.escaped = true;
41 | }
42 | }
43 | };
44 |
45 | /**
46 | * Returns true if the given brace node should be enclosed in literal braces
47 | */
48 |
49 | exports.encloseBrace = node => {
50 | if (node.type !== 'brace') return false;
51 | if ((node.commas >> 0 + node.ranges >> 0) === 0) {
52 | node.invalid = true;
53 | return true;
54 | }
55 | return false;
56 | };
57 |
58 | /**
59 | * Returns true if a brace node is invalid.
60 | */
61 |
62 | exports.isInvalidBrace = block => {
63 | if (block.type !== 'brace') return false;
64 | if (block.invalid === true || block.dollar) return true;
65 | if ((block.commas >> 0 + block.ranges >> 0) === 0) {
66 | block.invalid = true;
67 | return true;
68 | }
69 | if (block.open !== true || block.close !== true) {
70 | block.invalid = true;
71 | return true;
72 | }
73 | return false;
74 | };
75 |
76 | /**
77 | * Returns true if a node is an open or close node
78 | */
79 |
80 | exports.isOpenOrClose = node => {
81 | if (node.type === 'open' || node.type === 'close') {
82 | return true;
83 | }
84 | return node.open === true || node.close === true;
85 | };
86 |
87 | /**
88 | * Reduce an array of text nodes.
89 | */
90 |
91 | exports.reduce = nodes => nodes.reduce((acc, node) => {
92 | if (node.type === 'text') acc.push(node.value);
93 | if (node.type === 'range') node.type = 'text';
94 | return acc;
95 | }, []);
96 |
97 | /**
98 | * Flatten an array
99 | */
100 |
101 | exports.flatten = (...args) => {
102 | const result = [];
103 | const flat = arr => {
104 | for (let i = 0; i < arr.length; i++) {
105 | let ele = arr[i];
106 | Array.isArray(ele) ? flat(ele, result) : ele !== void 0 && result.push(ele);
107 | }
108 | return result;
109 | };
110 | flat(args);
111 | return result;
112 | };
113 |
--------------------------------------------------------------------------------
/node_modules/braces/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "braces",
3 | "description": "Bash-like brace expansion, implemented in JavaScript. Safer than other brace expansion libs, with complete support for the Bash 4.3 braces specification, without sacrificing speed.",
4 | "version": "3.0.2",
5 | "homepage": "https://github.com/micromatch/braces",
6 | "author": "Jon Schlinkert (https://github.com/jonschlinkert)",
7 | "contributors": [
8 | "Brian Woodward (https://twitter.com/doowb)",
9 | "Elan Shanker (https://github.com/es128)",
10 | "Eugene Sharygin (https://github.com/eush77)",
11 | "hemanth.hm (http://h3manth.com)",
12 | "Jon Schlinkert (http://twitter.com/jonschlinkert)"
13 | ],
14 | "repository": "micromatch/braces",
15 | "bugs": {
16 | "url": "https://github.com/micromatch/braces/issues"
17 | },
18 | "license": "MIT",
19 | "files": [
20 | "index.js",
21 | "lib"
22 | ],
23 | "main": "index.js",
24 | "engines": {
25 | "node": ">=8"
26 | },
27 | "scripts": {
28 | "test": "mocha",
29 | "benchmark": "node benchmark"
30 | },
31 | "dependencies": {
32 | "fill-range": "^7.0.1"
33 | },
34 | "devDependencies": {
35 | "ansi-colors": "^3.2.4",
36 | "bash-path": "^2.0.1",
37 | "gulp-format-md": "^2.0.0",
38 | "mocha": "^6.1.1"
39 | },
40 | "keywords": [
41 | "alpha",
42 | "alphabetical",
43 | "bash",
44 | "brace",
45 | "braces",
46 | "expand",
47 | "expansion",
48 | "filepath",
49 | "fill",
50 | "fs",
51 | "glob",
52 | "globbing",
53 | "letter",
54 | "match",
55 | "matches",
56 | "matching",
57 | "number",
58 | "numerical",
59 | "path",
60 | "range",
61 | "ranges",
62 | "sh"
63 | ],
64 | "verb": {
65 | "toc": false,
66 | "layout": "default",
67 | "tasks": [
68 | "readme"
69 | ],
70 | "lint": {
71 | "reflinks": true
72 | },
73 | "plugins": [
74 | "gulp-format-md"
75 | ]
76 | }
77 | }
78 |
--------------------------------------------------------------------------------
/node_modules/chokidar/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2012-2019 Paul Miller (https://paulmillr.com), Elan Shanker
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the “Software”), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/node_modules/chokidar/lib/constants.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | const {sep} = require('path');
4 | const {platform} = process;
5 | const os = require('os');
6 |
7 | exports.EV_ALL = 'all';
8 | exports.EV_READY = 'ready';
9 | exports.EV_ADD = 'add';
10 | exports.EV_CHANGE = 'change';
11 | exports.EV_ADD_DIR = 'addDir';
12 | exports.EV_UNLINK = 'unlink';
13 | exports.EV_UNLINK_DIR = 'unlinkDir';
14 | exports.EV_RAW = 'raw';
15 | exports.EV_ERROR = 'error';
16 |
17 | exports.STR_DATA = 'data';
18 | exports.STR_END = 'end';
19 | exports.STR_CLOSE = 'close';
20 |
21 | exports.FSEVENT_CREATED = 'created';
22 | exports.FSEVENT_MODIFIED = 'modified';
23 | exports.FSEVENT_DELETED = 'deleted';
24 | exports.FSEVENT_MOVED = 'moved';
25 | exports.FSEVENT_CLONED = 'cloned';
26 | exports.FSEVENT_UNKNOWN = 'unknown';
27 | exports.FSEVENT_TYPE_FILE = 'file';
28 | exports.FSEVENT_TYPE_DIRECTORY = 'directory';
29 | exports.FSEVENT_TYPE_SYMLINK = 'symlink';
30 |
31 | exports.KEY_LISTENERS = 'listeners';
32 | exports.KEY_ERR = 'errHandlers';
33 | exports.KEY_RAW = 'rawEmitters';
34 | exports.HANDLER_KEYS = [exports.KEY_LISTENERS, exports.KEY_ERR, exports.KEY_RAW];
35 |
36 | exports.DOT_SLASH = `.${sep}`;
37 |
38 | exports.BACK_SLASH_RE = /\\/g;
39 | exports.DOUBLE_SLASH_RE = /\/\//;
40 | exports.SLASH_OR_BACK_SLASH_RE = /[/\\]/;
41 | exports.DOT_RE = /\..*\.(sw[px])$|~$|\.subl.*\.tmp/;
42 | exports.REPLACER_RE = /^\.[/\\]/;
43 |
44 | exports.SLASH = '/';
45 | exports.SLASH_SLASH = '//';
46 | exports.BRACE_START = '{';
47 | exports.BANG = '!';
48 | exports.ONE_DOT = '.';
49 | exports.TWO_DOTS = '..';
50 | exports.STAR = '*';
51 | exports.GLOBSTAR = '**';
52 | exports.ROOT_GLOBSTAR = '/**/*';
53 | exports.SLASH_GLOBSTAR = '/**';
54 | exports.DIR_SUFFIX = 'Dir';
55 | exports.ANYMATCH_OPTS = {dot: true};
56 | exports.STRING_TYPE = 'string';
57 | exports.FUNCTION_TYPE = 'function';
58 | exports.EMPTY_STR = '';
59 | exports.EMPTY_FN = () => {};
60 | exports.IDENTITY_FN = val => val;
61 |
62 | exports.isWindows = platform === 'win32';
63 | exports.isMacos = platform === 'darwin';
64 | exports.isLinux = platform === 'linux';
65 | exports.isIBMi = os.type() === 'OS400';
66 |
--------------------------------------------------------------------------------
/node_modules/chokidar/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "chokidar",
3 | "description": "Minimal and efficient cross-platform file watching library",
4 | "version": "3.5.3",
5 | "homepage": "https://github.com/paulmillr/chokidar",
6 | "author": "Paul Miller (https://paulmillr.com)",
7 | "contributors": [
8 | "Paul Miller (https://paulmillr.com)",
9 | "Elan Shanker"
10 | ],
11 | "engines": {
12 | "node": ">= 8.10.0"
13 | },
14 | "main": "index.js",
15 | "dependencies": {
16 | "anymatch": "~3.1.2",
17 | "braces": "~3.0.2",
18 | "glob-parent": "~5.1.2",
19 | "is-binary-path": "~2.1.0",
20 | "is-glob": "~4.0.1",
21 | "normalize-path": "~3.0.0",
22 | "readdirp": "~3.6.0"
23 | },
24 | "optionalDependencies": {
25 | "fsevents": "~2.3.2"
26 | },
27 | "devDependencies": {
28 | "@types/node": "^14",
29 | "chai": "^4.3",
30 | "dtslint": "^3.3.0",
31 | "eslint": "^7.0.0",
32 | "mocha": "^7.0.0",
33 | "nyc": "^15.0.0",
34 | "rimraf": "^3.0.0",
35 | "sinon": "^9.0.1",
36 | "sinon-chai": "^3.3.0",
37 | "typescript": "~4.4.3",
38 | "upath": "^1.2.0"
39 | },
40 | "files": [
41 | "index.js",
42 | "lib/*.js",
43 | "types/index.d.ts"
44 | ],
45 | "repository": {
46 | "type": "git",
47 | "url": "git+https://github.com/paulmillr/chokidar.git"
48 | },
49 | "bugs": {
50 | "url": "https://github.com/paulmillr/chokidar/issues"
51 | },
52 | "license": "MIT",
53 | "scripts": {
54 | "dtslint": "dtslint types",
55 | "lint": "eslint --report-unused-disable-directives --ignore-path .gitignore .",
56 | "mocha": "mocha --exit --timeout 90000",
57 | "test": "npm run lint && npm run mocha"
58 | },
59 | "keywords": [
60 | "fs",
61 | "watch",
62 | "watchFile",
63 | "watcher",
64 | "watching",
65 | "file",
66 | "fsevents"
67 | ],
68 | "types": "./types/index.d.ts",
69 | "nyc": {
70 | "include": [
71 | "index.js",
72 | "lib/*.js"
73 | ],
74 | "reporter": [
75 | "html",
76 | "text"
77 | ]
78 | },
79 | "funding": [
80 | {
81 | "type": "individual",
82 | "url": "https://paulmillr.com/funding/"
83 | }
84 | ]
85 | }
86 |
--------------------------------------------------------------------------------
/node_modules/fill-range/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2014-present, Jon Schlinkert.
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/node_modules/fill-range/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "fill-range",
3 | "description": "Fill in a range of numbers or letters, optionally passing an increment or `step` to use, or create a regex-compatible range with `options.toRegex`",
4 | "version": "7.0.1",
5 | "homepage": "https://github.com/jonschlinkert/fill-range",
6 | "author": "Jon Schlinkert (https://github.com/jonschlinkert)",
7 | "contributors": [
8 | "Edo Rivai (edo.rivai.nl)",
9 | "Jon Schlinkert (http://twitter.com/jonschlinkert)",
10 | "Paul Miller (paulmillr.com)",
11 | "Rouven Weßling (www.rouvenwessling.de)",
12 | "(https://github.com/wtgtybhertgeghgtwtg)"
13 | ],
14 | "repository": "jonschlinkert/fill-range",
15 | "bugs": {
16 | "url": "https://github.com/jonschlinkert/fill-range/issues"
17 | },
18 | "license": "MIT",
19 | "files": [
20 | "index.js"
21 | ],
22 | "main": "index.js",
23 | "engines": {
24 | "node": ">=8"
25 | },
26 | "scripts": {
27 | "test": "mocha"
28 | },
29 | "dependencies": {
30 | "to-regex-range": "^5.0.1"
31 | },
32 | "devDependencies": {
33 | "gulp-format-md": "^2.0.0",
34 | "mocha": "^6.1.1"
35 | },
36 | "keywords": [
37 | "alpha",
38 | "alphabetical",
39 | "array",
40 | "bash",
41 | "brace",
42 | "expand",
43 | "expansion",
44 | "fill",
45 | "glob",
46 | "match",
47 | "matches",
48 | "matching",
49 | "number",
50 | "numerical",
51 | "range",
52 | "ranges",
53 | "regex",
54 | "sh"
55 | ],
56 | "verb": {
57 | "toc": false,
58 | "layout": "default",
59 | "tasks": [
60 | "readme"
61 | ],
62 | "plugins": [
63 | "gulp-format-md"
64 | ],
65 | "lint": {
66 | "reflinks": true
67 | }
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/node_modules/fsevents/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 | -----------
3 |
4 | Copyright (C) 2010-2020 by Philipp Dunkel, Ben Noordhuis, Elan Shankar, Paul Miller
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining a copy
7 | of this software and associated documentation files (the "Software"), to deal
8 | in the Software without restriction, including without limitation the rights
9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | copies of the Software, and to permit persons to whom the Software is
11 | furnished to do so, subject to the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be included in
14 | all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/node_modules/fsevents/README.md:
--------------------------------------------------------------------------------
1 | # fsevents [](https://nodei.co/npm/fsevents/)
2 |
3 | Native access to MacOS FSEvents in [Node.js](https://nodejs.org/)
4 |
5 | The FSEvents API in MacOS allows applications to register for notifications of
6 | changes to a given directory tree. It is a very fast and lightweight alternative
7 | to kqueue.
8 |
9 | This is a low-level library. For a cross-platform file watching module that
10 | uses fsevents, check out [Chokidar](https://github.com/paulmillr/chokidar).
11 |
12 | ## Installation
13 |
14 | Supports only **Node.js v8.16 and higher**.
15 |
16 | ```sh
17 | npm install fsevents
18 | ```
19 |
20 | ## Usage
21 |
22 | ```js
23 | const fsevents = require('fsevents');
24 | const stop = fsevents.watch(__dirname, (path, flags, id) => {
25 | const info = fsevents.getInfo(path, flags, id);
26 | }); // To start observation
27 | stop(); // To end observation
28 | ```
29 |
30 | The callback passed as the second parameter to `.watch` get's called whenever the operating system detects a
31 | a change in the file system. It takes three arguments:
32 |
33 | ###### `fsevents.watch(dirname: string, (path: string, flags: number, id: string) => void): () => Promise`
34 |
35 | * `path: string` - the item in the filesystem that have been changed
36 | * `flags: number` - a numeric value describing what the change was
37 | * `id: string` - an unique-id identifying this specific event
38 |
39 | Returns closer callback which when called returns a Promise resolving when the watcher process has been shut down.
40 |
41 | ###### `fsevents.getInfo(path: string, flags: number, id: string): FsEventInfo`
42 |
43 | The `getInfo` function takes the `path`, `flags` and `id` arguments and converts those parameters into a structure
44 | that is easier to digest to determine what the change was.
45 |
46 | The `FsEventsInfo` has the following shape:
47 |
48 | ```js
49 | /**
50 | * @typedef {'created'|'modified'|'deleted'|'moved'|'root-changed'|'cloned'|'unknown'} FsEventsEvent
51 | * @typedef {'file'|'directory'|'symlink'} FsEventsType
52 | */
53 | {
54 | "event": "created", // {FsEventsEvent}
55 | "path": "file.txt",
56 | "type": "file", // {FsEventsType}
57 | "changes": {
58 | "inode": true, // Had iNode Meta-Information changed
59 | "finder": false, // Had Finder Meta-Data changed
60 | "access": false, // Had access permissions changed
61 | "xattrs": false // Had xAttributes changed
62 | },
63 | "flags": 0x100000000
64 | }
65 | ```
66 |
67 | ## Changelog
68 |
69 | - v2.3 supports Apple Silicon ARM CPUs
70 | - v2 supports node 8.16+ and reduces package size massively
71 | - v1.2.8 supports node 6+
72 | - v1.2.7 supports node 4+
73 |
74 | ## Troubleshooting
75 |
76 | - I'm getting `EBADPLATFORM` `Unsupported platform for fsevents` error.
77 | - It's fine, nothing is broken. fsevents is macos-only. Other platforms are skipped. If you want to hide this warning, report a bug to NPM bugtracker asking them to hide ebadplatform warnings by default.
78 |
79 | ## License
80 |
81 | The MIT License Copyright (C) 2010-2020 by Philipp Dunkel, Ben Noordhuis, Elan Shankar, Paul Miller — see LICENSE file.
82 |
83 | Visit our [GitHub page](https://github.com/fsevents/fsevents) and [NPM Page](https://npmjs.org/package/fsevents)
84 |
--------------------------------------------------------------------------------
/node_modules/fsevents/fsevents.d.ts:
--------------------------------------------------------------------------------
1 | declare type Event = "created" | "cloned" | "modified" | "deleted" | "moved" | "root-changed" | "unknown";
2 | declare type Type = "file" | "directory" | "symlink";
3 | declare type FileChanges = {
4 | inode: boolean;
5 | finder: boolean;
6 | access: boolean;
7 | xattrs: boolean;
8 | };
9 | declare type Info = {
10 | event: Event;
11 | path: string;
12 | type: Type;
13 | changes: FileChanges;
14 | flags: number;
15 | };
16 | declare type WatchHandler = (path: string, flags: number, id: string) => void;
17 | export declare function watch(path: string, handler: WatchHandler): () => Promise;
18 | export declare function watch(path: string, since: number, handler: WatchHandler): () => Promise;
19 | export declare function getInfo(path: string, flags: number): Info;
20 | export declare const constants: {
21 | None: 0x00000000;
22 | MustScanSubDirs: 0x00000001;
23 | UserDropped: 0x00000002;
24 | KernelDropped: 0x00000004;
25 | EventIdsWrapped: 0x00000008;
26 | HistoryDone: 0x00000010;
27 | RootChanged: 0x00000020;
28 | Mount: 0x00000040;
29 | Unmount: 0x00000080;
30 | ItemCreated: 0x00000100;
31 | ItemRemoved: 0x00000200;
32 | ItemInodeMetaMod: 0x00000400;
33 | ItemRenamed: 0x00000800;
34 | ItemModified: 0x00001000;
35 | ItemFinderInfoMod: 0x00002000;
36 | ItemChangeOwner: 0x00004000;
37 | ItemXattrMod: 0x00008000;
38 | ItemIsFile: 0x00010000;
39 | ItemIsDir: 0x00020000;
40 | ItemIsSymlink: 0x00040000;
41 | ItemIsHardlink: 0x00100000;
42 | ItemIsLastHardlink: 0x00200000;
43 | OwnEvent: 0x00080000;
44 | ItemCloned: 0x00400000;
45 | };
46 | export {};
47 |
--------------------------------------------------------------------------------
/node_modules/fsevents/fsevents.js:
--------------------------------------------------------------------------------
1 | /*
2 | ** © 2020 by Philipp Dunkel, Ben Noordhuis, Elan Shankar, Paul Miller
3 | ** Licensed under MIT License.
4 | */
5 |
6 | /* jshint node:true */
7 | "use strict";
8 |
9 | if (process.platform !== "darwin") {
10 | throw new Error(`Module 'fsevents' is not compatible with platform '${process.platform}'`);
11 | }
12 |
13 | const Native = require("./fsevents.node");
14 | const events = Native.constants;
15 |
16 | function watch(path, since, handler) {
17 | if (typeof path !== "string") {
18 | throw new TypeError(`fsevents argument 1 must be a string and not a ${typeof path}`);
19 | }
20 | if ("function" === typeof since && "undefined" === typeof handler) {
21 | handler = since;
22 | since = Native.flags.SinceNow;
23 | }
24 | if (typeof since !== "number") {
25 | throw new TypeError(`fsevents argument 2 must be a number and not a ${typeof since}`);
26 | }
27 | if (typeof handler !== "function") {
28 | throw new TypeError(`fsevents argument 3 must be a function and not a ${typeof handler}`);
29 | }
30 |
31 | let instance = Native.start(Native.global, path, since, handler);
32 | if (!instance) throw new Error(`could not watch: ${path}`);
33 | return () => {
34 | const result = instance ? Promise.resolve(instance).then(Native.stop) : Promise.resolve(undefined);
35 | instance = undefined;
36 | return result;
37 | };
38 | }
39 |
40 | function getInfo(path, flags) {
41 | return {
42 | path,
43 | flags,
44 | event: getEventType(flags),
45 | type: getFileType(flags),
46 | changes: getFileChanges(flags),
47 | };
48 | }
49 |
50 | function getFileType(flags) {
51 | if (events.ItemIsFile & flags) return "file";
52 | if (events.ItemIsDir & flags) return "directory";
53 | if (events.ItemIsSymlink & flags) return "symlink";
54 | }
55 | function anyIsTrue(obj) {
56 | for (let key in obj) {
57 | if (obj[key]) return true;
58 | }
59 | return false;
60 | }
61 | function getEventType(flags) {
62 | if (events.ItemRemoved & flags) return "deleted";
63 | if (events.ItemRenamed & flags) return "moved";
64 | if (events.ItemCreated & flags) return "created";
65 | if (events.ItemModified & flags) return "modified";
66 | if (events.RootChanged & flags) return "root-changed";
67 | if (events.ItemCloned & flags) return "cloned";
68 | if (anyIsTrue(flags)) return "modified";
69 | return "unknown";
70 | }
71 | function getFileChanges(flags) {
72 | return {
73 | inode: !!(events.ItemInodeMetaMod & flags),
74 | finder: !!(events.ItemFinderInfoMod & flags),
75 | access: !!(events.ItemChangeOwner & flags),
76 | xattrs: !!(events.ItemXattrMod & flags),
77 | };
78 | }
79 |
80 | exports.watch = watch;
81 | exports.getInfo = getInfo;
82 | exports.constants = events;
83 |
--------------------------------------------------------------------------------
/node_modules/fsevents/fsevents.node:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yakintech/techcareer-html-css-js/06944aecfa4e9c6bfc5b88b03bd138786d06575c/node_modules/fsevents/fsevents.node
--------------------------------------------------------------------------------
/node_modules/fsevents/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "fsevents",
3 | "version": "2.3.2",
4 | "description": "Native Access to MacOS FSEvents",
5 | "main": "fsevents.js",
6 | "types": "fsevents.d.ts",
7 | "os": [
8 | "darwin"
9 | ],
10 | "files": [
11 | "fsevents.d.ts",
12 | "fsevents.js",
13 | "fsevents.node"
14 | ],
15 | "engines": {
16 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
17 | },
18 | "scripts": {
19 | "clean": "node-gyp clean && rm -f fsevents.node",
20 | "build": "node-gyp clean && rm -f fsevents.node && node-gyp rebuild && node-gyp clean",
21 | "test": "/bin/bash ./test.sh 2>/dev/null",
22 | "prepublishOnly": "npm run build"
23 | },
24 | "repository": {
25 | "type": "git",
26 | "url": "https://github.com/fsevents/fsevents.git"
27 | },
28 | "keywords": [
29 | "fsevents",
30 | "mac"
31 | ],
32 | "contributors": [
33 | {
34 | "name": "Philipp Dunkel",
35 | "email": "pip@pipobscure.com"
36 | },
37 | {
38 | "name": "Ben Noordhuis",
39 | "email": "info@bnoordhuis.nl"
40 | },
41 | {
42 | "name": "Elan Shankar",
43 | "email": "elan.shanker@gmail.com"
44 | },
45 | {
46 | "name": "Miroslav Bajtoš",
47 | "email": "mbajtoss@gmail.com"
48 | },
49 | {
50 | "name": "Paul Miller",
51 | "url": "https://paulmillr.com"
52 | }
53 | ],
54 | "license": "MIT",
55 | "bugs": {
56 | "url": "https://github.com/fsevents/fsevents/issues"
57 | },
58 | "homepage": "https://github.com/fsevents/fsevents",
59 | "devDependencies": {
60 | "node-gyp": "^6.1.0"
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/node_modules/glob-parent/LICENSE:
--------------------------------------------------------------------------------
1 | The ISC License
2 |
3 | Copyright (c) 2015, 2019 Elan Shanker
4 |
5 | Permission to use, copy, modify, and/or distribute this software for any
6 | purpose with or without fee is hereby granted, provided that the above
7 | copyright notice and this permission notice appear in all copies.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 |
--------------------------------------------------------------------------------
/node_modules/glob-parent/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var isGlob = require('is-glob');
4 | var pathPosixDirname = require('path').posix.dirname;
5 | var isWin32 = require('os').platform() === 'win32';
6 |
7 | var slash = '/';
8 | var backslash = /\\/g;
9 | var enclosure = /[\{\[].*[\}\]]$/;
10 | var globby = /(^|[^\\])([\{\[]|\([^\)]+$)/;
11 | var escaped = /\\([\!\*\?\|\[\]\(\)\{\}])/g;
12 |
13 | /**
14 | * @param {string} str
15 | * @param {Object} opts
16 | * @param {boolean} [opts.flipBackslashes=true]
17 | * @returns {string}
18 | */
19 | module.exports = function globParent(str, opts) {
20 | var options = Object.assign({ flipBackslashes: true }, opts);
21 |
22 | // flip windows path separators
23 | if (options.flipBackslashes && isWin32 && str.indexOf(slash) < 0) {
24 | str = str.replace(backslash, slash);
25 | }
26 |
27 | // special case for strings ending in enclosure containing path separator
28 | if (enclosure.test(str)) {
29 | str += slash;
30 | }
31 |
32 | // preserves full path in case of trailing path separator
33 | str += 'a';
34 |
35 | // remove path parts that are globby
36 | do {
37 | str = pathPosixDirname(str);
38 | } while (isGlob(str) || globby.test(str));
39 |
40 | // remove escape chars and return result
41 | return str.replace(escaped, '$1');
42 | };
43 |
--------------------------------------------------------------------------------
/node_modules/glob-parent/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "glob-parent",
3 | "version": "5.1.2",
4 | "description": "Extract the non-magic parent path from a glob string.",
5 | "author": "Gulp Team (https://gulpjs.com/)",
6 | "contributors": [
7 | "Elan Shanker (https://github.com/es128)",
8 | "Blaine Bublitz "
9 | ],
10 | "repository": "gulpjs/glob-parent",
11 | "license": "ISC",
12 | "engines": {
13 | "node": ">= 6"
14 | },
15 | "main": "index.js",
16 | "files": [
17 | "LICENSE",
18 | "index.js"
19 | ],
20 | "scripts": {
21 | "lint": "eslint .",
22 | "pretest": "npm run lint",
23 | "test": "nyc mocha --async-only",
24 | "azure-pipelines": "nyc mocha --async-only --reporter xunit -O output=test.xunit",
25 | "coveralls": "nyc report --reporter=text-lcov | coveralls"
26 | },
27 | "dependencies": {
28 | "is-glob": "^4.0.1"
29 | },
30 | "devDependencies": {
31 | "coveralls": "^3.0.11",
32 | "eslint": "^2.13.1",
33 | "eslint-config-gulp": "^3.0.1",
34 | "expect": "^1.20.2",
35 | "mocha": "^6.0.2",
36 | "nyc": "^13.3.0"
37 | },
38 | "keywords": [
39 | "glob",
40 | "parent",
41 | "strip",
42 | "path",
43 | "dirname",
44 | "directory",
45 | "base",
46 | "wildcard"
47 | ]
48 | }
49 |
--------------------------------------------------------------------------------
/node_modules/immutable/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2014-present, Lee Byron and other contributors.
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/node_modules/immutable/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "immutable",
3 | "version": "4.3.1",
4 | "description": "Immutable Data Collections",
5 | "license": "MIT",
6 | "homepage": "https://immutable-js.com",
7 | "author": {
8 | "name": "Lee Byron",
9 | "url": "https://github.com/leebyron"
10 | },
11 | "repository": {
12 | "type": "git",
13 | "url": "git://github.com/immutable-js/immutable-js.git"
14 | },
15 | "bugs": {
16 | "url": "https://github.com/immutable-js/immutable-js/issues"
17 | },
18 | "main": "dist/immutable.js",
19 | "module": "dist/immutable.es.js",
20 | "sideEffects": false,
21 | "types": "dist/immutable.d.ts",
22 | "files": [
23 | "dist",
24 | "README.md",
25 | "LICENSE"
26 | ],
27 | "keywords": [
28 | "immutable",
29 | "persistent",
30 | "lazy",
31 | "data",
32 | "datastructure",
33 | "functional",
34 | "collection",
35 | "stateless",
36 | "sequence",
37 | "iteration"
38 | ]
39 | }
--------------------------------------------------------------------------------
/node_modules/is-binary-path/index.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | Check if a file path is a binary file.
3 |
4 | @example
5 | ```
6 | import isBinaryPath = require('is-binary-path');
7 |
8 | isBinaryPath('source/unicorn.png');
9 | //=> true
10 |
11 | isBinaryPath('source/unicorn.txt');
12 | //=> false
13 | ```
14 | */
15 | declare function isBinaryPath(filePath: string): boolean;
16 |
17 | export = isBinaryPath;
18 |
--------------------------------------------------------------------------------
/node_modules/is-binary-path/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | const path = require('path');
3 | const binaryExtensions = require('binary-extensions');
4 |
5 | const extensions = new Set(binaryExtensions);
6 |
7 | module.exports = filePath => extensions.has(path.extname(filePath).slice(1).toLowerCase());
8 |
--------------------------------------------------------------------------------
/node_modules/is-binary-path/license:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 Sindre Sorhus (https://sindresorhus.com), Paul Miller (https://paulmillr.com)
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6 |
7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
10 |
--------------------------------------------------------------------------------
/node_modules/is-binary-path/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "is-binary-path",
3 | "version": "2.1.0",
4 | "description": "Check if a file path is a binary file",
5 | "license": "MIT",
6 | "repository": "sindresorhus/is-binary-path",
7 | "author": {
8 | "name": "Sindre Sorhus",
9 | "email": "sindresorhus@gmail.com",
10 | "url": "sindresorhus.com"
11 | },
12 | "engines": {
13 | "node": ">=8"
14 | },
15 | "scripts": {
16 | "test": "xo && ava && tsd"
17 | },
18 | "files": [
19 | "index.js",
20 | "index.d.ts"
21 | ],
22 | "keywords": [
23 | "binary",
24 | "extensions",
25 | "extension",
26 | "file",
27 | "path",
28 | "check",
29 | "detect",
30 | "is"
31 | ],
32 | "dependencies": {
33 | "binary-extensions": "^2.0.0"
34 | },
35 | "devDependencies": {
36 | "ava": "^1.4.1",
37 | "tsd": "^0.7.2",
38 | "xo": "^0.24.0"
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/node_modules/is-binary-path/readme.md:
--------------------------------------------------------------------------------
1 | # is-binary-path [](https://travis-ci.org/sindresorhus/is-binary-path)
2 |
3 | > Check if a file path is a binary file
4 |
5 |
6 | ## Install
7 |
8 | ```
9 | $ npm install is-binary-path
10 | ```
11 |
12 |
13 | ## Usage
14 |
15 | ```js
16 | const isBinaryPath = require('is-binary-path');
17 |
18 | isBinaryPath('source/unicorn.png');
19 | //=> true
20 |
21 | isBinaryPath('source/unicorn.txt');
22 | //=> false
23 | ```
24 |
25 |
26 | ## Related
27 |
28 | - [binary-extensions](https://github.com/sindresorhus/binary-extensions) - List of binary file extensions
29 | - [is-text-path](https://github.com/sindresorhus/is-text-path) - Check if a filepath is a text file
30 |
31 |
32 | ## License
33 |
34 | MIT © [Sindre Sorhus](https://sindresorhus.com), [Paul Miller](https://paulmillr.com)
35 |
--------------------------------------------------------------------------------
/node_modules/is-extglob/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2014-2016, Jon Schlinkert
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/node_modules/is-extglob/README.md:
--------------------------------------------------------------------------------
1 | # is-extglob [](https://www.npmjs.com/package/is-extglob) [](https://npmjs.org/package/is-extglob) [](https://travis-ci.org/jonschlinkert/is-extglob)
2 |
3 | > Returns true if a string has an extglob.
4 |
5 | ## Install
6 |
7 | Install with [npm](https://www.npmjs.com/):
8 |
9 | ```sh
10 | $ npm install --save is-extglob
11 | ```
12 |
13 | ## Usage
14 |
15 | ```js
16 | var isExtglob = require('is-extglob');
17 | ```
18 |
19 | **True**
20 |
21 | ```js
22 | isExtglob('?(abc)');
23 | isExtglob('@(abc)');
24 | isExtglob('!(abc)');
25 | isExtglob('*(abc)');
26 | isExtglob('+(abc)');
27 | ```
28 |
29 | **False**
30 |
31 | Escaped extglobs:
32 |
33 | ```js
34 | isExtglob('\\?(abc)');
35 | isExtglob('\\@(abc)');
36 | isExtglob('\\!(abc)');
37 | isExtglob('\\*(abc)');
38 | isExtglob('\\+(abc)');
39 | ```
40 |
41 | Everything else...
42 |
43 | ```js
44 | isExtglob('foo.js');
45 | isExtglob('!foo.js');
46 | isExtglob('*.js');
47 | isExtglob('**/abc.js');
48 | isExtglob('abc/*.js');
49 | isExtglob('abc/(aaa|bbb).js');
50 | isExtglob('abc/[a-z].js');
51 | isExtglob('abc/{a,b}.js');
52 | isExtglob('abc/?.js');
53 | isExtglob('abc.js');
54 | isExtglob('abc/def/ghi.js');
55 | ```
56 |
57 | ## History
58 |
59 | **v2.0**
60 |
61 | Adds support for escaping. Escaped exglobs no longer return true.
62 |
63 | ## About
64 |
65 | ### Related projects
66 |
67 | * [has-glob](https://www.npmjs.com/package/has-glob): Returns `true` if an array has a glob pattern. | [homepage](https://github.com/jonschlinkert/has-glob "Returns `true` if an array has a glob pattern.")
68 | * [is-glob](https://www.npmjs.com/package/is-glob): Returns `true` if the given string looks like a glob pattern or an extglob pattern… [more](https://github.com/jonschlinkert/is-glob) | [homepage](https://github.com/jonschlinkert/is-glob "Returns `true` if the given string looks like a glob pattern or an extglob pattern. This makes it easy to create code that only uses external modules like node-glob when necessary, resulting in much faster code execution and initialization time, and a bet")
69 | * [micromatch](https://www.npmjs.com/package/micromatch): Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch. | [homepage](https://github.com/jonschlinkert/micromatch "Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch.")
70 |
71 | ### Contributing
72 |
73 | Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
74 |
75 | ### Building docs
76 |
77 | _(This document was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme) (a [verb](https://github.com/verbose/verb) generator), please don't edit the readme directly. Any changes to the readme must be made in [.verb.md](.verb.md).)_
78 |
79 | To generate the readme and API documentation with [verb](https://github.com/verbose/verb):
80 |
81 | ```sh
82 | $ npm install -g verb verb-generate-readme && verb
83 | ```
84 |
85 | ### Running tests
86 |
87 | Install dev dependencies:
88 |
89 | ```sh
90 | $ npm install -d && npm test
91 | ```
92 |
93 | ### Author
94 |
95 | **Jon Schlinkert**
96 |
97 | * [github/jonschlinkert](https://github.com/jonschlinkert)
98 | * [twitter/jonschlinkert](http://twitter.com/jonschlinkert)
99 |
100 | ### License
101 |
102 | Copyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert).
103 | Released under the [MIT license](https://github.com/jonschlinkert/is-extglob/blob/master/LICENSE).
104 |
105 | ***
106 |
107 | _This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.1.31, on October 12, 2016._
--------------------------------------------------------------------------------
/node_modules/is-extglob/index.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * is-extglob
3 | *
4 | * Copyright (c) 2014-2016, Jon Schlinkert.
5 | * Licensed under the MIT License.
6 | */
7 |
8 | module.exports = function isExtglob(str) {
9 | if (typeof str !== 'string' || str === '') {
10 | return false;
11 | }
12 |
13 | var match;
14 | while ((match = /(\\).|([@?!+*]\(.*\))/g.exec(str))) {
15 | if (match[2]) return true;
16 | str = str.slice(match.index + match[0].length);
17 | }
18 |
19 | return false;
20 | };
21 |
--------------------------------------------------------------------------------
/node_modules/is-extglob/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "is-extglob",
3 | "description": "Returns true if a string has an extglob.",
4 | "version": "2.1.1",
5 | "homepage": "https://github.com/jonschlinkert/is-extglob",
6 | "author": "Jon Schlinkert (https://github.com/jonschlinkert)",
7 | "repository": "jonschlinkert/is-extglob",
8 | "bugs": {
9 | "url": "https://github.com/jonschlinkert/is-extglob/issues"
10 | },
11 | "license": "MIT",
12 | "files": [
13 | "index.js"
14 | ],
15 | "main": "index.js",
16 | "engines": {
17 | "node": ">=0.10.0"
18 | },
19 | "scripts": {
20 | "test": "mocha"
21 | },
22 | "devDependencies": {
23 | "gulp-format-md": "^0.1.10",
24 | "mocha": "^3.0.2"
25 | },
26 | "keywords": [
27 | "bash",
28 | "braces",
29 | "check",
30 | "exec",
31 | "expression",
32 | "extglob",
33 | "glob",
34 | "globbing",
35 | "globstar",
36 | "is",
37 | "match",
38 | "matches",
39 | "pattern",
40 | "regex",
41 | "regular",
42 | "string",
43 | "test"
44 | ],
45 | "verb": {
46 | "toc": false,
47 | "layout": "default",
48 | "tasks": [
49 | "readme"
50 | ],
51 | "plugins": [
52 | "gulp-format-md"
53 | ],
54 | "related": {
55 | "list": [
56 | "has-glob",
57 | "is-glob",
58 | "micromatch"
59 | ]
60 | },
61 | "reflinks": [
62 | "verb",
63 | "verb-generate-readme"
64 | ],
65 | "lint": {
66 | "reflinks": true
67 | }
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/node_modules/is-glob/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2014-2017, Jon Schlinkert.
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/node_modules/is-glob/index.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * is-glob
3 | *
4 | * Copyright (c) 2014-2017, Jon Schlinkert.
5 | * Released under the MIT License.
6 | */
7 |
8 | var isExtglob = require('is-extglob');
9 | var chars = { '{': '}', '(': ')', '[': ']'};
10 | var strictCheck = function(str) {
11 | if (str[0] === '!') {
12 | return true;
13 | }
14 | var index = 0;
15 | var pipeIndex = -2;
16 | var closeSquareIndex = -2;
17 | var closeCurlyIndex = -2;
18 | var closeParenIndex = -2;
19 | var backSlashIndex = -2;
20 | while (index < str.length) {
21 | if (str[index] === '*') {
22 | return true;
23 | }
24 |
25 | if (str[index + 1] === '?' && /[\].+)]/.test(str[index])) {
26 | return true;
27 | }
28 |
29 | if (closeSquareIndex !== -1 && str[index] === '[' && str[index + 1] !== ']') {
30 | if (closeSquareIndex < index) {
31 | closeSquareIndex = str.indexOf(']', index);
32 | }
33 | if (closeSquareIndex > index) {
34 | if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) {
35 | return true;
36 | }
37 | backSlashIndex = str.indexOf('\\', index);
38 | if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) {
39 | return true;
40 | }
41 | }
42 | }
43 |
44 | if (closeCurlyIndex !== -1 && str[index] === '{' && str[index + 1] !== '}') {
45 | closeCurlyIndex = str.indexOf('}', index);
46 | if (closeCurlyIndex > index) {
47 | backSlashIndex = str.indexOf('\\', index);
48 | if (backSlashIndex === -1 || backSlashIndex > closeCurlyIndex) {
49 | return true;
50 | }
51 | }
52 | }
53 |
54 | if (closeParenIndex !== -1 && str[index] === '(' && str[index + 1] === '?' && /[:!=]/.test(str[index + 2]) && str[index + 3] !== ')') {
55 | closeParenIndex = str.indexOf(')', index);
56 | if (closeParenIndex > index) {
57 | backSlashIndex = str.indexOf('\\', index);
58 | if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) {
59 | return true;
60 | }
61 | }
62 | }
63 |
64 | if (pipeIndex !== -1 && str[index] === '(' && str[index + 1] !== '|') {
65 | if (pipeIndex < index) {
66 | pipeIndex = str.indexOf('|', index);
67 | }
68 | if (pipeIndex !== -1 && str[pipeIndex + 1] !== ')') {
69 | closeParenIndex = str.indexOf(')', pipeIndex);
70 | if (closeParenIndex > pipeIndex) {
71 | backSlashIndex = str.indexOf('\\', pipeIndex);
72 | if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) {
73 | return true;
74 | }
75 | }
76 | }
77 | }
78 |
79 | if (str[index] === '\\') {
80 | var open = str[index + 1];
81 | index += 2;
82 | var close = chars[open];
83 |
84 | if (close) {
85 | var n = str.indexOf(close, index);
86 | if (n !== -1) {
87 | index = n + 1;
88 | }
89 | }
90 |
91 | if (str[index] === '!') {
92 | return true;
93 | }
94 | } else {
95 | index++;
96 | }
97 | }
98 | return false;
99 | };
100 |
101 | var relaxedCheck = function(str) {
102 | if (str[0] === '!') {
103 | return true;
104 | }
105 | var index = 0;
106 | while (index < str.length) {
107 | if (/[*?{}()[\]]/.test(str[index])) {
108 | return true;
109 | }
110 |
111 | if (str[index] === '\\') {
112 | var open = str[index + 1];
113 | index += 2;
114 | var close = chars[open];
115 |
116 | if (close) {
117 | var n = str.indexOf(close, index);
118 | if (n !== -1) {
119 | index = n + 1;
120 | }
121 | }
122 |
123 | if (str[index] === '!') {
124 | return true;
125 | }
126 | } else {
127 | index++;
128 | }
129 | }
130 | return false;
131 | };
132 |
133 | module.exports = function isGlob(str, options) {
134 | if (typeof str !== 'string' || str === '') {
135 | return false;
136 | }
137 |
138 | if (isExtglob(str)) {
139 | return true;
140 | }
141 |
142 | var check = strictCheck;
143 |
144 | // optionally relax check
145 | if (options && options.strict === false) {
146 | check = relaxedCheck;
147 | }
148 |
149 | return check(str);
150 | };
151 |
--------------------------------------------------------------------------------
/node_modules/is-glob/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "is-glob",
3 | "description": "Returns `true` if the given string looks like a glob pattern or an extglob pattern. This makes it easy to create code that only uses external modules like node-glob when necessary, resulting in much faster code execution and initialization time, and a better user experience.",
4 | "version": "4.0.3",
5 | "homepage": "https://github.com/micromatch/is-glob",
6 | "author": "Jon Schlinkert (https://github.com/jonschlinkert)",
7 | "contributors": [
8 | "Brian Woodward (https://twitter.com/doowb)",
9 | "Daniel Perez (https://tuvistavie.com)",
10 | "Jon Schlinkert (http://twitter.com/jonschlinkert)"
11 | ],
12 | "repository": "micromatch/is-glob",
13 | "bugs": {
14 | "url": "https://github.com/micromatch/is-glob/issues"
15 | },
16 | "license": "MIT",
17 | "files": [
18 | "index.js"
19 | ],
20 | "main": "index.js",
21 | "engines": {
22 | "node": ">=0.10.0"
23 | },
24 | "scripts": {
25 | "test": "mocha && node benchmark.js"
26 | },
27 | "dependencies": {
28 | "is-extglob": "^2.1.1"
29 | },
30 | "devDependencies": {
31 | "gulp-format-md": "^0.1.10",
32 | "mocha": "^3.0.2"
33 | },
34 | "keywords": [
35 | "bash",
36 | "braces",
37 | "check",
38 | "exec",
39 | "expression",
40 | "extglob",
41 | "glob",
42 | "globbing",
43 | "globstar",
44 | "is",
45 | "match",
46 | "matches",
47 | "pattern",
48 | "regex",
49 | "regular",
50 | "string",
51 | "test"
52 | ],
53 | "verb": {
54 | "layout": "default",
55 | "plugins": [
56 | "gulp-format-md"
57 | ],
58 | "related": {
59 | "list": [
60 | "assemble",
61 | "base",
62 | "update",
63 | "verb"
64 | ]
65 | },
66 | "reflinks": [
67 | "assemble",
68 | "bach",
69 | "base",
70 | "composer",
71 | "gulp",
72 | "has-glob",
73 | "is-valid-glob",
74 | "micromatch",
75 | "npm",
76 | "scaffold",
77 | "verb",
78 | "vinyl"
79 | ]
80 | }
81 | }
82 |
--------------------------------------------------------------------------------
/node_modules/is-number/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2014-present, Jon Schlinkert.
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/node_modules/is-number/index.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * is-number
3 | *
4 | * Copyright (c) 2014-present, Jon Schlinkert.
5 | * Released under the MIT License.
6 | */
7 |
8 | 'use strict';
9 |
10 | module.exports = function(num) {
11 | if (typeof num === 'number') {
12 | return num - num === 0;
13 | }
14 | if (typeof num === 'string' && num.trim() !== '') {
15 | return Number.isFinite ? Number.isFinite(+num) : isFinite(+num);
16 | }
17 | return false;
18 | };
19 |
--------------------------------------------------------------------------------
/node_modules/is-number/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "is-number",
3 | "description": "Returns true if a number or string value is a finite number. Useful for regex matches, parsing, user input, etc.",
4 | "version": "7.0.0",
5 | "homepage": "https://github.com/jonschlinkert/is-number",
6 | "author": "Jon Schlinkert (https://github.com/jonschlinkert)",
7 | "contributors": [
8 | "Jon Schlinkert (http://twitter.com/jonschlinkert)",
9 | "Olsten Larck (https://i.am.charlike.online)",
10 | "Rouven Weßling (www.rouvenwessling.de)"
11 | ],
12 | "repository": "jonschlinkert/is-number",
13 | "bugs": {
14 | "url": "https://github.com/jonschlinkert/is-number/issues"
15 | },
16 | "license": "MIT",
17 | "files": [
18 | "index.js"
19 | ],
20 | "main": "index.js",
21 | "engines": {
22 | "node": ">=0.12.0"
23 | },
24 | "scripts": {
25 | "test": "mocha"
26 | },
27 | "devDependencies": {
28 | "ansi": "^0.3.1",
29 | "benchmark": "^2.1.4",
30 | "gulp-format-md": "^1.0.0",
31 | "mocha": "^3.5.3"
32 | },
33 | "keywords": [
34 | "cast",
35 | "check",
36 | "coerce",
37 | "coercion",
38 | "finite",
39 | "integer",
40 | "is",
41 | "isnan",
42 | "is-nan",
43 | "is-num",
44 | "is-number",
45 | "isnumber",
46 | "isfinite",
47 | "istype",
48 | "kind",
49 | "math",
50 | "nan",
51 | "num",
52 | "number",
53 | "numeric",
54 | "parseFloat",
55 | "parseInt",
56 | "test",
57 | "type",
58 | "typeof",
59 | "value"
60 | ],
61 | "verb": {
62 | "toc": false,
63 | "layout": "default",
64 | "tasks": [
65 | "readme"
66 | ],
67 | "related": {
68 | "list": [
69 | "is-plain-object",
70 | "is-primitive",
71 | "isobject",
72 | "kind-of"
73 | ]
74 | },
75 | "plugins": [
76 | "gulp-format-md"
77 | ],
78 | "lint": {
79 | "reflinks": true
80 | }
81 | }
82 | }
83 |
--------------------------------------------------------------------------------
/node_modules/normalize-path/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2014-2018, Jon Schlinkert.
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/node_modules/normalize-path/index.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * normalize-path
3 | *
4 | * Copyright (c) 2014-2018, Jon Schlinkert.
5 | * Released under the MIT License.
6 | */
7 |
8 | module.exports = function(path, stripTrailing) {
9 | if (typeof path !== 'string') {
10 | throw new TypeError('expected path to be a string');
11 | }
12 |
13 | if (path === '\\' || path === '/') return '/';
14 |
15 | var len = path.length;
16 | if (len <= 1) return path;
17 |
18 | // ensure that win32 namespaces has two leading slashes, so that the path is
19 | // handled properly by the win32 version of path.parse() after being normalized
20 | // https://msdn.microsoft.com/library/windows/desktop/aa365247(v=vs.85).aspx#namespaces
21 | var prefix = '';
22 | if (len > 4 && path[3] === '\\') {
23 | var ch = path[2];
24 | if ((ch === '?' || ch === '.') && path.slice(0, 2) === '\\\\') {
25 | path = path.slice(2);
26 | prefix = '//';
27 | }
28 | }
29 |
30 | var segs = path.split(/[/\\]+/);
31 | if (stripTrailing !== false && segs[segs.length - 1] === '') {
32 | segs.pop();
33 | }
34 | return prefix + segs.join('/');
35 | };
36 |
--------------------------------------------------------------------------------
/node_modules/normalize-path/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "normalize-path",
3 | "description": "Normalize slashes in a file path to be posix/unix-like forward slashes. Also condenses repeat slashes to a single slash and removes and trailing slashes, unless disabled.",
4 | "version": "3.0.0",
5 | "homepage": "https://github.com/jonschlinkert/normalize-path",
6 | "author": "Jon Schlinkert (https://github.com/jonschlinkert)",
7 | "contributors": [
8 | "Blaine Bublitz (https://twitter.com/BlaineBublitz)",
9 | "Jon Schlinkert (http://twitter.com/jonschlinkert)"
10 | ],
11 | "repository": "jonschlinkert/normalize-path",
12 | "bugs": {
13 | "url": "https://github.com/jonschlinkert/normalize-path/issues"
14 | },
15 | "license": "MIT",
16 | "files": [
17 | "index.js"
18 | ],
19 | "main": "index.js",
20 | "engines": {
21 | "node": ">=0.10.0"
22 | },
23 | "scripts": {
24 | "test": "mocha"
25 | },
26 | "devDependencies": {
27 | "gulp-format-md": "^1.0.0",
28 | "minimist": "^1.2.0",
29 | "mocha": "^3.5.3"
30 | },
31 | "keywords": [
32 | "absolute",
33 | "backslash",
34 | "delimiter",
35 | "file",
36 | "file-path",
37 | "filepath",
38 | "fix",
39 | "forward",
40 | "fp",
41 | "fs",
42 | "normalize",
43 | "path",
44 | "relative",
45 | "separator",
46 | "slash",
47 | "slashes",
48 | "trailing",
49 | "unix",
50 | "urix"
51 | ],
52 | "verb": {
53 | "toc": false,
54 | "layout": "default",
55 | "tasks": [
56 | "readme"
57 | ],
58 | "plugins": [
59 | "gulp-format-md"
60 | ],
61 | "related": {
62 | "description": "Other useful path-related libraries:",
63 | "list": [
64 | "contains-path",
65 | "is-absolute",
66 | "is-relative",
67 | "parse-filepath",
68 | "path-ends-with",
69 | "path-ends-with",
70 | "unixify"
71 | ]
72 | },
73 | "lint": {
74 | "reflinks": true
75 | }
76 | }
77 | }
78 |
--------------------------------------------------------------------------------
/node_modules/picomatch/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2017-present, Jon Schlinkert.
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/node_modules/picomatch/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | module.exports = require('./lib/picomatch');
4 |
--------------------------------------------------------------------------------
/node_modules/picomatch/lib/utils.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | const path = require('path');
4 | const win32 = process.platform === 'win32';
5 | const {
6 | REGEX_BACKSLASH,
7 | REGEX_REMOVE_BACKSLASH,
8 | REGEX_SPECIAL_CHARS,
9 | REGEX_SPECIAL_CHARS_GLOBAL
10 | } = require('./constants');
11 |
12 | exports.isObject = val => val !== null && typeof val === 'object' && !Array.isArray(val);
13 | exports.hasRegexChars = str => REGEX_SPECIAL_CHARS.test(str);
14 | exports.isRegexChar = str => str.length === 1 && exports.hasRegexChars(str);
15 | exports.escapeRegex = str => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, '\\$1');
16 | exports.toPosixSlashes = str => str.replace(REGEX_BACKSLASH, '/');
17 |
18 | exports.removeBackslashes = str => {
19 | return str.replace(REGEX_REMOVE_BACKSLASH, match => {
20 | return match === '\\' ? '' : match;
21 | });
22 | };
23 |
24 | exports.supportsLookbehinds = () => {
25 | const segs = process.version.slice(1).split('.').map(Number);
26 | if (segs.length === 3 && segs[0] >= 9 || (segs[0] === 8 && segs[1] >= 10)) {
27 | return true;
28 | }
29 | return false;
30 | };
31 |
32 | exports.isWindows = options => {
33 | if (options && typeof options.windows === 'boolean') {
34 | return options.windows;
35 | }
36 | return win32 === true || path.sep === '\\';
37 | };
38 |
39 | exports.escapeLast = (input, char, lastIdx) => {
40 | const idx = input.lastIndexOf(char, lastIdx);
41 | if (idx === -1) return input;
42 | if (input[idx - 1] === '\\') return exports.escapeLast(input, char, idx - 1);
43 | return `${input.slice(0, idx)}\\${input.slice(idx)}`;
44 | };
45 |
46 | exports.removePrefix = (input, state = {}) => {
47 | let output = input;
48 | if (output.startsWith('./')) {
49 | output = output.slice(2);
50 | state.prefix = './';
51 | }
52 | return output;
53 | };
54 |
55 | exports.wrapOutput = (input, state = {}, options = {}) => {
56 | const prepend = options.contains ? '' : '^';
57 | const append = options.contains ? '' : '$';
58 |
59 | let output = `${prepend}(?:${input})${append}`;
60 | if (state.negated === true) {
61 | output = `(?:^(?!${output}).*$)`;
62 | }
63 | return output;
64 | };
65 |
--------------------------------------------------------------------------------
/node_modules/picomatch/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "picomatch",
3 | "description": "Blazing fast and accurate glob matcher written in JavaScript, with no dependencies and full support for standard and extended Bash glob features, including braces, extglobs, POSIX brackets, and regular expressions.",
4 | "version": "2.3.1",
5 | "homepage": "https://github.com/micromatch/picomatch",
6 | "author": "Jon Schlinkert (https://github.com/jonschlinkert)",
7 | "funding": "https://github.com/sponsors/jonschlinkert",
8 | "repository": "micromatch/picomatch",
9 | "bugs": {
10 | "url": "https://github.com/micromatch/picomatch/issues"
11 | },
12 | "license": "MIT",
13 | "files": [
14 | "index.js",
15 | "lib"
16 | ],
17 | "main": "index.js",
18 | "engines": {
19 | "node": ">=8.6"
20 | },
21 | "scripts": {
22 | "lint": "eslint --cache --cache-location node_modules/.cache/.eslintcache --report-unused-disable-directives --ignore-path .gitignore .",
23 | "mocha": "mocha --reporter dot",
24 | "test": "npm run lint && npm run mocha",
25 | "test:ci": "npm run test:cover",
26 | "test:cover": "nyc npm run mocha"
27 | },
28 | "devDependencies": {
29 | "eslint": "^6.8.0",
30 | "fill-range": "^7.0.1",
31 | "gulp-format-md": "^2.0.0",
32 | "mocha": "^6.2.2",
33 | "nyc": "^15.0.0",
34 | "time-require": "github:jonschlinkert/time-require"
35 | },
36 | "keywords": [
37 | "glob",
38 | "match",
39 | "picomatch"
40 | ],
41 | "nyc": {
42 | "reporter": [
43 | "html",
44 | "lcov",
45 | "text-summary"
46 | ]
47 | },
48 | "verb": {
49 | "toc": {
50 | "render": true,
51 | "method": "preWrite",
52 | "maxdepth": 3
53 | },
54 | "layout": "empty",
55 | "tasks": [
56 | "readme"
57 | ],
58 | "plugins": [
59 | "gulp-format-md"
60 | ],
61 | "lint": {
62 | "reflinks": true
63 | },
64 | "related": {
65 | "list": [
66 | "braces",
67 | "micromatch"
68 | ]
69 | },
70 | "reflinks": [
71 | "braces",
72 | "expand-brackets",
73 | "extglob",
74 | "fill-range",
75 | "micromatch",
76 | "minimatch",
77 | "nanomatch",
78 | "picomatch"
79 | ]
80 | }
81 | }
82 |
--------------------------------------------------------------------------------
/node_modules/readdirp/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2012-2019 Thorsten Lorenz, Paul Miller (https://paulmillr.com)
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/node_modules/readdirp/index.d.ts:
--------------------------------------------------------------------------------
1 | // TypeScript Version: 3.2
2 |
3 | ///
4 |
5 | import * as fs from 'fs';
6 | import { Readable } from 'stream';
7 |
8 | declare namespace readdir {
9 | interface EntryInfo {
10 | path: string;
11 | fullPath: string;
12 | basename: string;
13 | stats?: fs.Stats;
14 | dirent?: fs.Dirent;
15 | }
16 |
17 | interface ReaddirpOptions {
18 | root?: string;
19 | fileFilter?: string | string[] | ((entry: EntryInfo) => boolean);
20 | directoryFilter?: string | string[] | ((entry: EntryInfo) => boolean);
21 | type?: 'files' | 'directories' | 'files_directories' | 'all';
22 | lstat?: boolean;
23 | depth?: number;
24 | alwaysStat?: boolean;
25 | }
26 |
27 | interface ReaddirpStream extends Readable, AsyncIterable {
28 | read(): EntryInfo;
29 | [Symbol.asyncIterator](): AsyncIterableIterator;
30 | }
31 |
32 | function promise(
33 | root: string,
34 | options?: ReaddirpOptions
35 | ): Promise;
36 | }
37 |
38 | declare function readdir(
39 | root: string,
40 | options?: readdir.ReaddirpOptions
41 | ): readdir.ReaddirpStream;
42 |
43 | export = readdir;
44 |
--------------------------------------------------------------------------------
/node_modules/readdirp/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "readdirp",
3 | "description": "Recursive version of fs.readdir with streaming API.",
4 | "version": "3.6.0",
5 | "homepage": "https://github.com/paulmillr/readdirp",
6 | "repository": {
7 | "type": "git",
8 | "url": "git://github.com/paulmillr/readdirp.git"
9 | },
10 | "license": "MIT",
11 | "bugs": {
12 | "url": "https://github.com/paulmillr/readdirp/issues"
13 | },
14 | "author": "Thorsten Lorenz (thlorenz.com)",
15 | "contributors": [
16 | "Thorsten Lorenz (thlorenz.com)",
17 | "Paul Miller (https://paulmillr.com)"
18 | ],
19 | "main": "index.js",
20 | "engines": {
21 | "node": ">=8.10.0"
22 | },
23 | "files": [
24 | "index.js",
25 | "index.d.ts"
26 | ],
27 | "keywords": [
28 | "recursive",
29 | "fs",
30 | "stream",
31 | "streams",
32 | "readdir",
33 | "filesystem",
34 | "find",
35 | "filter"
36 | ],
37 | "scripts": {
38 | "dtslint": "dtslint",
39 | "nyc": "nyc",
40 | "mocha": "mocha --exit",
41 | "lint": "eslint --report-unused-disable-directives --ignore-path .gitignore .",
42 | "test": "npm run lint && nyc npm run mocha"
43 | },
44 | "dependencies": {
45 | "picomatch": "^2.2.1"
46 | },
47 | "devDependencies": {
48 | "@types/node": "^14",
49 | "chai": "^4.2",
50 | "chai-subset": "^1.6",
51 | "dtslint": "^3.3.0",
52 | "eslint": "^7.0.0",
53 | "mocha": "^7.1.1",
54 | "nyc": "^15.0.0",
55 | "rimraf": "^3.0.0",
56 | "typescript": "^4.0.3"
57 | },
58 | "nyc": {
59 | "reporter": [
60 | "html",
61 | "text"
62 | ]
63 | },
64 | "eslintConfig": {
65 | "root": true,
66 | "extends": "eslint:recommended",
67 | "parserOptions": {
68 | "ecmaVersion": 9,
69 | "sourceType": "script"
70 | },
71 | "env": {
72 | "node": true,
73 | "es6": true
74 | },
75 | "rules": {
76 | "array-callback-return": "error",
77 | "no-empty": [
78 | "error",
79 | {
80 | "allowEmptyCatch": true
81 | }
82 | ],
83 | "no-else-return": [
84 | "error",
85 | {
86 | "allowElseIf": false
87 | }
88 | ],
89 | "no-lonely-if": "error",
90 | "no-var": "error",
91 | "object-shorthand": "error",
92 | "prefer-arrow-callback": [
93 | "error",
94 | {
95 | "allowNamedFunctions": true
96 | }
97 | ],
98 | "prefer-const": [
99 | "error",
100 | {
101 | "ignoreReadBeforeAssign": true
102 | }
103 | ],
104 | "prefer-destructuring": [
105 | "error",
106 | {
107 | "object": true,
108 | "array": false
109 | }
110 | ],
111 | "prefer-spread": "error",
112 | "prefer-template": "error",
113 | "radix": "error",
114 | "semi": "error",
115 | "strict": "error",
116 | "quotes": [
117 | "error",
118 | "single"
119 | ]
120 | }
121 | }
122 | }
123 |
--------------------------------------------------------------------------------
/node_modules/sass/package.json:
--------------------------------------------------------------------------------
1 | {"name":"sass","description":"A pure JavaScript implementation of Sass.","license":"MIT","bugs":"https://github.com/sass/dart-sass/issues","homepage":"https://github.com/sass/dart-sass","repository":{"type":"git","url":"https://github.com/sass/dart-sass"},"author":{"name":"Natalie Weizenbaum","email":"nweiz@google.com","url":"https://github.com/nex3"},"engines":{"node":">=14.0.0"},"dependencies":{"chokidar":">=3.0.0 <4.0.0","immutable":"^4.0.0","source-map-js":">=0.6.2 <2.0.0"},"keywords":["style","scss","sass","preprocessor","css"],"types":"types/index.d.ts","exports":{"types":"./types/index.d.ts","node":{"require":"./sass.node.js","default":"./sass.node.mjs"},"default":{"require":"./sass.default.cjs","default":"./sass.default.js"}},"version":"1.64.1","bin":{"sass":"sass.js"},"main":"sass.node.js"}
--------------------------------------------------------------------------------
/node_modules/sass/sass.default.cjs:
--------------------------------------------------------------------------------
1 | require('./sass.dart.js');
2 | const library = globalThis._cliPkgExports.pop();
3 | if (globalThis._cliPkgExports.length === 0) delete globalThis._cliPkgExports;
4 | library.load({
5 | immutable: require("immutable"),
6 | });
7 |
8 | module.exports = library;
9 |
--------------------------------------------------------------------------------
/node_modules/sass/sass.default.js:
--------------------------------------------------------------------------------
1 | import * as immutable from "immutable"
2 | import "./sass.dart.js";
3 |
4 | const _cliPkgLibrary = globalThis._cliPkgExports.pop();
5 | if (globalThis._cliPkgExports.length === 0) delete globalThis._cliPkgExports;
6 | const _cliPkgExports = {};
7 | _cliPkgLibrary.load({immutable}, _cliPkgExports);
8 |
9 | export const compile = _cliPkgExports.compile;
10 | export const compileAsync = _cliPkgExports.compileAsync;
11 | export const compileString = _cliPkgExports.compileString;
12 | export const compileStringAsync = _cliPkgExports.compileStringAsync;
13 | export const Logger = _cliPkgExports.Logger;
14 | export const SassArgumentList = _cliPkgExports.SassArgumentList;
15 | export const SassBoolean = _cliPkgExports.SassBoolean;
16 | export const SassCalculation = _cliPkgExports.SassCalculation;
17 | export const CalculationOperation = _cliPkgExports.CalculationOperation;
18 | export const CalculationInterpolation = _cliPkgExports.CalculationInterpolation;
19 | export const SassColor = _cliPkgExports.SassColor;
20 | export const SassFunction = _cliPkgExports.SassFunction;
21 | export const SassList = _cliPkgExports.SassList;
22 | export const SassMap = _cliPkgExports.SassMap;
23 | export const SassNumber = _cliPkgExports.SassNumber;
24 | export const SassString = _cliPkgExports.SassString;
25 | export const Value = _cliPkgExports.Value;
26 | export const CustomFunction = _cliPkgExports.CustomFunction;
27 | export const ListSeparator = _cliPkgExports.ListSeparator;
28 | export const sassFalse = _cliPkgExports.sassFalse;
29 | export const sassNull = _cliPkgExports.sassNull;
30 | export const sassTrue = _cliPkgExports.sassTrue;
31 | export const Exception = _cliPkgExports.Exception;
32 | export const PromiseOr = _cliPkgExports.PromiseOr;
33 | export const info = _cliPkgExports.info;
34 | export const render = _cliPkgExports.render;
35 | export const renderSync = _cliPkgExports.renderSync;
36 | export const TRUE = _cliPkgExports.TRUE;
37 | export const FALSE = _cliPkgExports.FALSE;
38 | export const NULL = _cliPkgExports.NULL;
39 | export const types = _cliPkgExports.types;
40 |
--------------------------------------------------------------------------------
/node_modules/sass/sass.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | require('./sass.dart.js');
4 | var library = globalThis._cliPkgExports.pop();
5 | if (globalThis._cliPkgExports.length === 0) delete globalThis._cliPkgExports;
6 |
7 | library.load({
8 | readline: require("readline"),
9 | chokidar: require("chokidar"),
10 | util: require("util"),
11 | stream: require("stream"),
12 | fs: require("fs"),
13 | immutable: require("immutable"),
14 | });
15 |
16 | library.cli_pkg_main_0_(process.argv.slice(2));
17 |
--------------------------------------------------------------------------------
/node_modules/sass/sass.node.js:
--------------------------------------------------------------------------------
1 | require('./sass.dart.js');
2 | const library = globalThis._cliPkgExports.pop();
3 | if (globalThis._cliPkgExports.length === 0) delete globalThis._cliPkgExports;
4 | library.load({
5 | util: require("util"),
6 | stream: require("stream"),
7 | fs: require("fs"),
8 | immutable: require("immutable"),
9 | });
10 |
11 | module.exports = library;
12 |
--------------------------------------------------------------------------------
/node_modules/sass/types/exception.d.ts:
--------------------------------------------------------------------------------
1 | import {SourceSpan} from './logger';
2 |
3 | /**
4 | * An exception thrown because a Sass compilation failed.
5 | *
6 | * @category Other
7 | */
8 | export class Exception extends Error {
9 | private constructor();
10 |
11 | /**
12 | * A human-friendly representation of the exception.
13 | *
14 | * Because many tools simply print `Error.message` directly, this includes not
15 | * only the textual description of what went wrong (the {@link sassMessage})
16 | * but also an indication of where in the Sass stylesheet the error occurred
17 | * (the {@link span}) and the Sass stack trace at the point of error (the
18 | * {@link sassStack}).
19 | */
20 | message: string;
21 |
22 | /**
23 | * A textual description of what went wrong.
24 | *
25 | * Unlike {@link message}, this does *not* include representations of {@link
26 | * span} or {@link sassStack}.
27 | */
28 | readonly sassMessage: string;
29 |
30 | /**
31 | * A human-friendly representation of the Sass stack trace at the point of
32 | * error.
33 | */
34 | readonly sassStack: string;
35 |
36 | /** The location the error occurred in the Sass file that triggered it. */
37 | readonly span: SourceSpan;
38 |
39 | /** Returns the same string as {@link message}. */
40 | toString(): string;
41 | }
42 |
--------------------------------------------------------------------------------
/node_modules/sass/types/index.d.ts:
--------------------------------------------------------------------------------
1 | // This is a mirror of the JS API definitions in `spec/js-api`, but with comments
2 | // written to provide user-facing documentation rather than to specify behavior for
3 | // implementations.
4 |
5 | export {
6 | CompileResult,
7 | compile,
8 | compileAsync,
9 | compileString,
10 | compileStringAsync,
11 | } from './compile';
12 | export {Exception} from './exception';
13 | export {FileImporter, Importer, ImporterResult} from './importer';
14 | export {Logger, SourceSpan, SourceLocation} from './logger';
15 | export {
16 | CustomFunction,
17 | Options,
18 | OutputStyle,
19 | StringOptions,
20 | StringOptionsWithImporter,
21 | StringOptionsWithoutImporter,
22 | Syntax,
23 | } from './options';
24 | export {PromiseOr} from './util/promise_or';
25 | export {
26 | CalculationInterpolation,
27 | CalculationOperation,
28 | CalculationOperator,
29 | CalculationValue,
30 | ListSeparator,
31 | SassArgumentList,
32 | SassBoolean,
33 | SassCalculation,
34 | SassColor,
35 | SassFunction,
36 | SassList,
37 | SassMap,
38 | SassNumber,
39 | SassString,
40 | Value,
41 | sassFalse,
42 | sassNull,
43 | sassTrue,
44 | } from './value';
45 |
46 | // Legacy APIs
47 | export {LegacyException} from './legacy/exception';
48 | export {
49 | FALSE,
50 | LegacyAsyncFunction,
51 | LegacyAsyncFunctionDone,
52 | LegacyFunction,
53 | LegacySyncFunction,
54 | LegacyValue,
55 | NULL,
56 | TRUE,
57 | types,
58 | } from './legacy/function';
59 | export {
60 | LegacyAsyncImporter,
61 | LegacyImporter,
62 | LegacyImporterResult,
63 | LegacyImporterThis,
64 | LegacySyncImporter,
65 | } from './legacy/importer';
66 | export {
67 | LegacySharedOptions,
68 | LegacyFileOptions,
69 | LegacyStringOptions,
70 | LegacyOptions,
71 | } from './legacy/options';
72 | export {LegacyPluginThis} from './legacy/plugin_this';
73 | export {LegacyResult, render, renderSync} from './legacy/render';
74 |
75 | /**
76 | * Information about the Sass implementation. This always begins with a unique
77 | * identifier for the Sass implementation, followed by U+0009 TAB, followed by
78 | * its npm package version. Some implementations include additional information
79 | * as well, but not in any standardized format.
80 | *
81 | * * For Dart Sass, the implementation name is `dart-sass`.
82 | * * For Node Sass, the implementation name is `node-sass`.
83 | * * For the embedded host, the implementation name is `sass-embedded`.
84 | */
85 | export const info: string;
86 |
--------------------------------------------------------------------------------
/node_modules/sass/types/legacy/exception.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * The exception type thrown by {@link renderSync} and passed as the error to
3 | * {@link render}'s callback.
4 | *
5 | * @category Legacy
6 | * @deprecated This is only thrown by the legacy {@link render} and {@link
7 | * renderSync} APIs. Use {@link compile}, {@link compileString}, {@link
8 | * compileAsync}, and {@link compileStringAsync} instead.
9 | */
10 | export interface LegacyException extends Error {
11 | /**
12 | * The error message. For Dart Sass, when possible this includes a highlighted
13 | * indication of where in the source file the error occurred as well as the
14 | * Sass stack trace.
15 | */
16 | message: string;
17 |
18 | /**
19 | * The error message. For Dart Sass, this is the same as the result of calling
20 | * {@link toString}, which is itself the same as {@link message} but with the
21 | * prefix "Error:".
22 | */
23 | formatted: string;
24 |
25 | /**
26 | * The (1-based) line number on which the error occurred, if this exception is
27 | * associated with a specific Sass file location.
28 | */
29 | line?: number;
30 |
31 | /**
32 | * The (1-based) column number within {@link line} at which the error
33 | * occurred, if this exception is associated with a specific Sass file
34 | * location.
35 | */
36 | column?: number;
37 |
38 | /**
39 | * Analogous to the exit code for an executable. `1` for an error caused by a
40 | * Sass file, `3` for any other type of error.
41 | */
42 | status: number;
43 |
44 | /**
45 | * If this exception was caused by an error in a Sass file, this will
46 | * represent the Sass file's location. It can be in one of three formats:
47 | *
48 | * * If the Sass file was loaded from disk, this is the path to that file.
49 | * * If the Sass file was generated by an importer, this is its canonical URL.
50 | * * If the Sass file was passed as {@link LegacyStringOptions.data} without a
51 | * corresponding {@link LegacyStringOptions.file}, this is the special
52 | * string `"stdin"`.
53 | */
54 | file?: string;
55 | }
56 |
--------------------------------------------------------------------------------
/node_modules/sass/types/legacy/plugin_this.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * The value of `this` in the context of a {@link LegacyImporter} or {@link
3 | * LegacyFunction} callback.
4 | *
5 | * @category Legacy
6 | * @deprecated This is only used by the legacy {@link render} and {@link
7 | * renderSync} APIs. Use {@link compile}, {@link compileString}, {@link
8 | * compileAsync}, and {@link compileStringAsync} instead.
9 | */
10 | export interface LegacyPluginThis {
11 | /**
12 | * A partial representation of the options passed to {@link render} or {@link
13 | * renderSync}.
14 | */
15 | options: {
16 | /** The same {@link LegacyPluginThis} instance that contains this object. */
17 | context: LegacyPluginThis;
18 |
19 | /**
20 | * The value passed to {@link LegacyFileOptions.file} or {@link
21 | * LegacyStringOptions.file}.
22 | */
23 | file?: string;
24 |
25 | /** The value passed to {@link LegacyStringOptions.data}. */
26 | data?: string;
27 |
28 | /**
29 | * The value passed to {@link LegacySharedOptions.includePaths} separated by
30 | * `";"` on Windows or `":"` on other operating systems. This always
31 | * includes the current working directory as the first entry.
32 | */
33 | includePaths: string;
34 |
35 | /** Always the number 10. */
36 | precision: 10;
37 |
38 | /** Always the number 1. */
39 | style: 1;
40 |
41 | /** 1 if {@link LegacySharedOptions.indentType} was `"tab"`, 0 otherwise. */
42 | indentType: 1 | 0;
43 |
44 | /**
45 | * The value passed to {@link LegacySharedOptions.indentWidth}, or `2`
46 | * otherwise.
47 | */
48 | indentWidth: number;
49 |
50 | /**
51 | * The value passed to {@link LegacySharedOptions.linefeed}, or `"\n"`
52 | * otherwise.
53 | */
54 | linefeed: '\r' | '\r\n' | '\n' | '\n\r';
55 |
56 | /** A partially-constructed {@link LegacyResult} object. */
57 | result: {
58 | /** Partial information about the compilation in progress. */
59 | stats: {
60 | /**
61 | * The number of milliseconds between 1 January 1970 at 00:00:00 UTC and
62 | * the time at which Sass compilation began.
63 | */
64 | start: number;
65 |
66 | /**
67 | * {@link LegacyFileOptions.file} if it was passed, otherwise the string
68 | * `"data"`.
69 | */
70 | entry: string;
71 | };
72 | };
73 | };
74 | }
75 |
--------------------------------------------------------------------------------
/node_modules/sass/types/legacy/render.d.ts:
--------------------------------------------------------------------------------
1 | import {LegacyException} from './exception';
2 | import {LegacyOptions} from './options';
3 |
4 | /**
5 | * The object returned by {@link render} and {@link renderSync} after a
6 | * successful compilation.
7 | *
8 | * @category Legacy
9 | * @deprecated This is only used by the legacy {@link render} and {@link
10 | * renderSync} APIs. Use {@link compile}, {@link compileString}, {@link
11 | * compileAsync}, and {@link compileStringAsync} instead.
12 | */
13 | export interface LegacyResult {
14 | /**
15 | * The compiled CSS. This can be converted to a string by calling
16 | * [Buffer.toString](https://nodejs.org/api/buffer.html#buffer_buf_tostring_encoding_start_end).
17 | *
18 | * @example
19 | *
20 | * ```js
21 | * const result = sass.renderSync({file: "style.scss"});
22 | *
23 | * console.log(result.css.toString());
24 | * ```
25 | */
26 | css: Buffer;
27 |
28 | /**
29 | * The source map that maps the compiled CSS to the source files from which it
30 | * was generated. This can be converted to a string by calling
31 | * [Buffer.toString](https://nodejs.org/api/buffer.html#buffer_buf_tostring_encoding_start_end).
32 | *
33 | * This is `undefined` unless either
34 | *
35 | * * {@link LegacySharedOptions.sourceMap} is a string; or
36 | * * {@link LegacySharedOptions.sourceMap} is `true` and
37 | * {@link LegacySharedOptions.outFile} is set.
38 | *
39 | * The source map uses absolute [`file:`
40 | * URLs](https://en.wikipedia.org/wiki/File_URI_scheme) to link to the Sass
41 | * source files, except if the source file comes from {@link
42 | * LegacyStringOptions.data} in which case it lists its URL as `"stdin"`.
43 | *
44 | * @example
45 | *
46 | * ```js
47 | * const result = sass.renderSync({
48 | * file: "style.scss",
49 | * sourceMap: true,
50 | * outFile: "style.css"
51 | * })
52 | *
53 | * console.log(result.map.toString());
54 | * ```
55 | */
56 | map?: Buffer;
57 |
58 | /** Additional information about the compilation. */
59 | stats: {
60 | /**
61 | * The absolute path of {@link LegacyFileOptions.file} or {@link
62 | * LegacyStringOptions.file}, or `"data"` if {@link
63 | * LegacyStringOptions.file} wasn't set.
64 | */
65 | entry: string;
66 |
67 | /**
68 | * The number of milliseconds between 1 January 1970 at 00:00:00 UTC and the
69 | * time at which Sass compilation began.
70 | */
71 | start: number;
72 |
73 | /**
74 | * The number of milliseconds between 1 January 1970 at 00:00:00 UTC and the
75 | * time at which Sass compilation ended.
76 | */
77 | end: number;
78 |
79 | /**
80 | * The number of milliseconds it took to compile the Sass file. This is
81 | * always equal to `start` minus `end`.
82 | */
83 | duration: number;
84 |
85 | /**
86 | * An array of the absolute paths of all Sass files loaded during
87 | * compilation. If a stylesheet was loaded from a {@link LegacyImporter}
88 | * that returned the stylesheet’s contents, the raw string of the `@use` or
89 | * `@import` that loaded that stylesheet included in this array.
90 | */
91 | includedFiles: string[];
92 | };
93 | }
94 |
95 | /**
96 | * This function synchronously compiles a Sass file to CSS. If it succeeds, it
97 | * returns the result, and if it fails it throws an error.
98 | *
99 | * @example
100 | *
101 | * ```js
102 | * const sass = require('sass'); // or require('node-sass');
103 | *
104 | * const result = sass.renderSync({file: "style.scss"});
105 | * // ...
106 | * ```
107 | *
108 | * @category Legacy
109 | * @deprecated Use {@link compile} or {@link compileString} instead.
110 | */
111 | export function renderSync(options: LegacyOptions<'sync'>): LegacyResult;
112 |
113 | /**
114 |
115 | * This function asynchronously compiles a Sass file to CSS, and calls
116 | * `callback` with a {@link LegacyResult} if compilation succeeds or {@link
117 | * LegacyException} if it fails.
118 | *
119 | * **Heads up!** When using Dart Sass, **{@link renderSync} is almost twice as
120 | * fast as {@link render}** by default, due to the overhead of making the entire
121 | * evaluation process asynchronous.
122 | *
123 | * ```js
124 | * const sass = require('sass'); // or require('node-sass');
125 | *
126 | * sass.render({
127 | * file: "style.scss"
128 | * }, function(err, result) {
129 | * // ...
130 | * });
131 | * ```
132 | *
133 | * @category Legacy
134 | * @deprecated Use {@link compileAsync} or {@link compileStringAsync} instead.
135 | */
136 | export function render(
137 | options: LegacyOptions<'async'>,
138 | callback: (exception?: LegacyException, result?: LegacyResult) => void
139 | ): void;
140 |
--------------------------------------------------------------------------------
/node_modules/sass/types/logger/index.d.ts:
--------------------------------------------------------------------------------
1 | import {SourceSpan} from './source_span';
2 |
3 | export {SourceLocation} from './source_location';
4 | export {SourceSpan} from './source_span';
5 |
6 | /**
7 | * An object that can be passed to {@link LegacySharedOptions.logger} to control
8 | * how Sass emits warnings and debug messages.
9 | *
10 | * @example
11 | *
12 | * ```js
13 | * const fs = require('fs');
14 | * const sass = require('sass');
15 | *
16 | * let log = "";
17 | * sass.renderSync({
18 | * file: 'input.scss',
19 | * logger: {
20 | * warn(message, options) {
21 | * if (options.span) {
22 | * log += `${span.url}:${span.start.line}:${span.start.column}: ` +
23 | * `${message}\n`;
24 | * } else {
25 | * log += `::: ${message}\n`;
26 | * }
27 | * }
28 | * }
29 | * });
30 | *
31 | * fs.writeFileSync('log.txt', log);
32 | * ```
33 | *
34 | * @category Logger
35 | */
36 | export interface Logger {
37 | /**
38 | * This method is called when Sass emits a warning, whether due to a [`@warn`
39 | * rule](https://sass-lang.com/documentation/at-rules/warn) or a warning
40 | * generated by the Sass compiler.
41 | *
42 | * If this is `undefined`, Sass will print warnings to standard error.
43 | *
44 | * @param message - The warning message.
45 | * @param options.deprecation - Whether this is a deprecation warning.
46 | * @param options.span - The location in the Sass source code that generated this
47 | * warning.
48 | * @param options.stack - The Sass stack trace at the point the warning was issued.
49 | */
50 | warn?(
51 | message: string,
52 | options: {
53 | deprecation: boolean;
54 | span?: SourceSpan;
55 | stack?: string;
56 | }
57 | ): void;
58 |
59 | /**
60 | * This method is called when Sass emits a debug message due to a [`@debug`
61 | * rule](https://sass-lang.com/documentation/at-rules/debug).
62 | *
63 | * If this is `undefined`, Sass will print debug messages to standard error.
64 | *
65 | * @param message - The debug message.
66 | * @param options.span - The location in the Sass source code that generated this
67 | * debug message.
68 | */
69 | debug?(message: string, options: {span: SourceSpan}): void;
70 | }
71 |
72 | /**
73 | * A namespace for built-in {@link Logger}s.
74 | *
75 | * @category Logger
76 | * @compatibility dart: "1.43.0", node: false
77 | */
78 | export namespace Logger {
79 | /**
80 | * A {@link Logger} that silently ignores all warnings and debug messages.
81 | *
82 | * @example
83 | *
84 | * ```js
85 | * const sass = require('sass');
86 | *
87 | * const result = sass.renderSync({
88 | * file: 'input.scss',
89 | * logger: sass.Logger.silent,
90 | * });
91 | * ```
92 | */
93 | export const silent: Logger;
94 | }
95 |
--------------------------------------------------------------------------------
/node_modules/sass/types/logger/source_location.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * A specific location within a source file.
3 | *
4 | * This is always associated with a {@link SourceSpan} which indicates *which*
5 | * file it refers to.
6 | *
7 | * @category Logger
8 | */
9 | export interface SourceLocation {
10 | /**
11 | * The 0-based index of this location within its source file, in terms of
12 | * UTF-16 code units.
13 | */
14 | offset: number;
15 |
16 | /** The 0-based line number of this location. */
17 | line: number;
18 |
19 | /** The 0-based column number of this location. */
20 | column: number;
21 | }
22 |
--------------------------------------------------------------------------------
/node_modules/sass/types/logger/source_span.d.ts:
--------------------------------------------------------------------------------
1 | import {SourceLocation} from './source_location';
2 |
3 | /**
4 | * A span of text within a source file.
5 | *
6 | * @category Logger
7 | */
8 | export interface SourceSpan {
9 | /** The beginning of this span, inclusive. */
10 | start: SourceLocation;
11 |
12 | /**
13 | * The end of this span, exclusive.
14 | *
15 | * If {@link start} and {@link end} refer to the same location, the span has
16 | * zero length and refers to the point immediately after {@link start} and
17 | * before the next character.
18 | */
19 | end: SourceLocation;
20 |
21 | /** The canonical URL of the file this span refers to. */
22 | url?: URL;
23 |
24 | /** The text covered by the span. */
25 | text: string;
26 |
27 | /**
28 | * Text surrounding the span.
29 | *
30 | * If this is set, it must include only whole lines, and it must include at
31 | * least all line(s) which are partially covered by this span.
32 | */
33 | context?: string;
34 | }
35 |
--------------------------------------------------------------------------------
/node_modules/sass/types/util/promise_or.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * A utility type for choosing between synchronous and asynchronous return
3 | * values.
4 | *
5 | * This is used as the return value for plugins like {@link CustomFunction},
6 | * {@link Importer}, and {@link FileImporter} so that TypeScript enforces that
7 | * asynchronous plugins are only passed to {@link compileAsync} and {@link
8 | * compileStringAsync}, not {@link compile} or {@link compileString}.
9 | *
10 | * @typeParam sync - If this is `'sync'`, this can only be a `T`. If it's
11 | * `'async'`, this can be either a `T` or a `Promise`.
12 | *
13 | * @category Other
14 | */
15 | export type PromiseOr = sync extends 'async'
16 | ? T | Promise
17 | : T;
18 |
--------------------------------------------------------------------------------
/node_modules/sass/types/value/argument_list.d.ts:
--------------------------------------------------------------------------------
1 | import {List, OrderedMap} from 'immutable';
2 |
3 | import {Value} from './index';
4 | import {SassList, ListSeparator} from './list';
5 |
6 | /**
7 | * Sass's [argument list
8 | * type](https://sass-lang.com/documentation/values/lists#argument-lists).
9 | *
10 | * An argument list comes from a rest argument. It's distinct from a normal
11 | * {@link SassList} in that it may contain a keyword map as well as the
12 | * positional arguments.
13 | *
14 | * @category Custom Function
15 | */
16 | export class SassArgumentList extends SassList {
17 | /**
18 | * Creates a new argument list.
19 | *
20 | * @param contents - The positional arguments that make up the primary
21 | * contents of the list. This may be either a plain JavaScript array or an
22 | * immutable {@link List} from the [`immutable`
23 | * package](https://immutable-js.com/).
24 | *
25 | * @param keywords - The keyword arguments attached to this argument list,
26 | * whose names should exclude `$`. This can be either a plain JavaScript
27 | * object with argument names as fields, or an immutable {@link OrderedMap}
28 | * from the [`immutable` package](https://immutable-js.com/)
29 | *
30 | * @param separator - The separator for this list. Defaults to `','`.
31 | */
32 | constructor(
33 | contents: Value[] | List,
34 | keywords: Record | OrderedMap,
35 | separator?: ListSeparator
36 | );
37 |
38 | /**
39 | * The keyword arguments attached to this argument list.
40 | *
41 | * The argument names don't include `$`.
42 | *
43 | * @returns An immutable {@link OrderedMap} from the [`immutable`
44 | * package](https://immutable-js.com/).
45 | */
46 | get keywords(): OrderedMap;
47 | }
48 |
--------------------------------------------------------------------------------
/node_modules/sass/types/value/boolean.d.ts:
--------------------------------------------------------------------------------
1 | import {Value} from './index';
2 |
3 | /**
4 | * Sass's [`true` value](https://sass-lang.com/documentation/values/booleans).
5 | *
6 | * @category Custom Function
7 | */
8 | export const sassTrue: SassBoolean;
9 |
10 | /**
11 | * Sass's [`false` value](https://sass-lang.com/documentation/values/booleans).
12 | *
13 | * @category Custom Function
14 | */
15 | export const sassFalse: SassBoolean;
16 |
17 | /**
18 | * Sass's [boolean type](https://sass-lang.com/documentation/values/booleans).
19 | *
20 | * @category Custom Function
21 | */
22 | export class SassBoolean extends Value {
23 | private constructor();
24 |
25 | /**
26 | * Whether this value is `true` or `false`.
27 | */
28 | get value(): boolean;
29 | }
30 |
--------------------------------------------------------------------------------
/node_modules/sass/types/value/calculation.d.ts:
--------------------------------------------------------------------------------
1 | import {List, ValueObject} from 'immutable';
2 | import {Value, SassNumber, SassString} from './index';
3 |
4 | /**
5 | * The type of values that can be arguments to a {@link SassCalculation}.
6 | * @category Custom Function
7 | * */
8 | export type CalculationValue =
9 | | SassNumber
10 | | SassCalculation
11 | | SassString
12 | | CalculationOperation
13 | | CalculationInterpolation;
14 |
15 | /**
16 | * Sass's [calculation
17 | * type](https://sass-lang.com/documentation/values/calculations).
18 | *
19 | * Note: in the JS API calculations are not simplified eagerly. This also means
20 | * that unsimplified calculations are not equal to the numbers they would be
21 | * simplified to.
22 | *
23 | * @category Custom Function
24 | */
25 | export class SassCalculation extends Value {
26 | /**
27 | * Creates a value that represents `calc(argument)`.
28 | *
29 | * @throws `Error` if `argument` is a quoted {@link SassString}
30 | * @returns A calculation with the name `calc` and `argument` as its single
31 | * argument.
32 | */
33 | static calc(argument: CalculationValue): SassCalculation;
34 |
35 | /**
36 | * Creates a value that represents `min(arguments...)`.
37 | *
38 | * @throws `Error` if `arguments` contains a quoted {@link SassString}
39 | * @returns A calculation with the name `min` and `arguments` as its
40 | * arguments.
41 | */
42 | static min(
43 | arguments: CalculationValue[] | List
44 | ): SassCalculation;
45 |
46 | /**
47 | * Creates a value that represents `max(arguments...)`.
48 | *
49 | * @throws `Error` if `arguments` contains a quoted {@link SassString}
50 | * @returns A calculation with the name `max` and `arguments` as its
51 | * arguments.
52 | */
53 | static max(
54 | arguments: CalculationValue[] | List
55 | ): SassCalculation;
56 |
57 | /**
58 | * Creates a value that represents `clamp(value, min, max)`.
59 | *
60 | * @throws `Error` if any of `value`, `min`, or `max` are a quoted
61 | * {@link SassString}.
62 | * @throws `Error` if `value` is undefined and `max` is not undefined.
63 | * @throws `Error` if either `value` or `max` is undefined and neither `min`
64 | nor `value` is a {@link SassString} or {@link CalculationInterpolation}.
65 | @returns A calculation with the name `clamp` and `min`, `value`, and `max`
66 | as it's arguments, excluding any arguments that are undefined.
67 | */
68 | static clamp(
69 | min: CalculationValue,
70 | value?: CalculationValue,
71 | max?: CalculationValue
72 | ): SassCalculation;
73 |
74 | /** Returns the calculation's `name` field. */
75 | get name(): string;
76 |
77 | /** Returns a list of the calculation's `arguments` */
78 | get arguments(): List;
79 | }
80 |
81 | /**
82 | * The set of possible operators in a Sass calculation.
83 | * @category Custom Function
84 | */
85 | export type CalculationOperator = '+' | '-' | '*' | '/';
86 |
87 | /**
88 | * A binary operation that can appear in a {@link SassCalculation}.
89 | * @category Custom Function
90 | */
91 | export class CalculationOperation implements ValueObject {
92 | /**
93 | * Creates a Sass CalculationOperation with the given `operator`, `left`, and
94 | * `right` values.
95 | * @throws `Error` if `left` or `right` are quoted {@link SassString}s.
96 | */
97 | constructor(
98 | operator: CalculationOperator,
99 | left: CalculationValue,
100 | right: CalculationValue
101 | );
102 |
103 | /** Returns the operation's `operator` field. */
104 | get operator(): CalculationOperator;
105 |
106 | /** Returns the operation's `left` field. */
107 | get left(): CalculationValue;
108 |
109 | /** Returns the operation's `right` field. */
110 | get right(): CalculationValue;
111 |
112 | equals(other: unknown): boolean;
113 |
114 | hashCode(): number;
115 | }
116 |
117 | /**
118 | * A string injected into a {@link SassCalculation} using interpolation. Unlike
119 | * unquoted strings, interpolations are always surrounded in parentheses when
120 | * they appear in {@link CalculationOperation}s.
121 | * @category Custom Function
122 | */
123 | export class CalculationInterpolation implements ValueObject {
124 | /**
125 | * Creates a Sass CalculationInterpolation with the given `value`.
126 | */
127 | constructor(value: string);
128 |
129 | /**
130 | * Returns the interpolation's `value` field.
131 | */
132 | get value(): string;
133 |
134 | equals(other: unknown): boolean;
135 |
136 | hashCode(): number;
137 | }
138 |
--------------------------------------------------------------------------------
/node_modules/sass/types/value/color.d.ts:
--------------------------------------------------------------------------------
1 | import {Value} from './index';
2 |
3 | /**
4 | * Sass's [color type](https://sass-lang.com/documentation/values/colors).
5 | *
6 | * No matter what representation was originally used to create this color, all
7 | * of its channels are accessible.
8 | *
9 | * @category Custom Function
10 | */
11 | export class SassColor extends Value {
12 | /**
13 | * Creates an RGB color.
14 | *
15 | * @throws `Error` if `red`, `green`, and `blue` aren't between `0` and
16 | * `255`, or if `alpha` isn't between `0` and `1`.
17 | */
18 | constructor(options: {
19 | red: number;
20 | green: number;
21 | blue: number;
22 | alpha?: number;
23 | });
24 |
25 | /**
26 | * Creates an HSL color.
27 | *
28 | * @throws `Error` if `saturation` or `lightness` aren't between `0` and
29 | * `100`, or if `alpha` isn't between `0` and `1`.
30 | */
31 | constructor(options: {
32 | hue: number;
33 | saturation: number;
34 | lightness: number;
35 | alpha?: number;
36 | });
37 |
38 | /**
39 | * Creates an HWB color.
40 | *
41 | * @throws `Error` if `whiteness` or `blackness` aren't between `0` and `100`,
42 | * or if `alpha` isn't between `0` and `1`.
43 | */
44 | constructor(options: {
45 | hue: number;
46 | whiteness: number;
47 | blackness: number;
48 | alpha?: number;
49 | });
50 |
51 | /** This color's red channel, between `0` and `255`. */
52 | get red(): number;
53 |
54 | /** This color's green channel, between `0` and `255`. */
55 | get green(): number;
56 |
57 | /** This color's blue channel, between `0` and `255`. */
58 | get blue(): number;
59 |
60 | /** This color's hue, between `0` and `360`. */
61 | get hue(): number;
62 |
63 | /** This color's saturation, between `0` and `100`. */
64 | get saturation(): number;
65 |
66 | /** This color's lightness, between `0` and `100`. */
67 | get lightness(): number;
68 |
69 | /** This color's whiteness, between `0` and `100`. */
70 | get whiteness(): number;
71 |
72 | /** This color's blackness, between `0` and `100`. */
73 | get blackness(): number;
74 |
75 | /** This color's alpha channel, between `0` and `1`. */
76 | get alpha(): number;
77 |
78 | /**
79 | * Changes one or more of this color's RGB channels and returns the result.
80 | */
81 | change(options: {
82 | red?: number;
83 | green?: number;
84 | blue?: number;
85 | alpha?: number;
86 | }): SassColor;
87 |
88 | /**
89 | * Changes one or more of this color's HSL channels and returns the result.
90 | */
91 | change(options: {
92 | hue?: number;
93 | saturation?: number;
94 | lightness?: number;
95 | alpha?: number;
96 | }): SassColor;
97 |
98 | /**
99 | * Changes one or more of this color's HWB channels and returns the result.
100 | */
101 | change(options: {
102 | hue?: number;
103 | whiteness?: number;
104 | blackness?: number;
105 | alpha?: number;
106 | }): SassColor;
107 | }
108 |
--------------------------------------------------------------------------------
/node_modules/sass/types/value/function.d.ts:
--------------------------------------------------------------------------------
1 | import {Value} from './index';
2 |
3 | /**
4 | * Sass's [function type](https://sass-lang.com/documentation/values/functions).
5 | *
6 | * **Heads up!** Although first-class Sass functions can be processed by custom
7 | * functions, there's no way to invoke them outside of a Sass stylesheet.
8 | *
9 | * @category Custom Function
10 | */
11 | export class SassFunction extends Value {
12 | /**
13 | * Creates a new first-class function that can be invoked using
14 | * [`meta.call()`](https://sass-lang.com/documentation/modules/meta#call).
15 | *
16 | * @param signature - The function signature, like you'd write for the
17 | * [`@function rule`](https://sass-lang.com/documentation/at-rules/function).
18 | * @param callback - The callback that's invoked when this function is called,
19 | * just like for a {@link CustomFunction}.
20 | */
21 | constructor(signature: string, callback: (args: Value[]) => Value);
22 | }
23 |
--------------------------------------------------------------------------------
/node_modules/sass/types/value/list.d.ts:
--------------------------------------------------------------------------------
1 | import {List} from 'immutable';
2 |
3 | import {Value} from './index';
4 |
5 | /**
6 | * Possible separators used by Sass lists. The special separator `null` is only
7 | * used for lists with fewer than two elements, and indicates that the separator
8 | * has not yet been decided for this list.
9 | *
10 | * @category Custom Function
11 | */
12 | export type ListSeparator = ',' | '/' | ' ' | null;
13 |
14 | /**
15 | * Sass's [list type](https://sass-lang.com/documentation/values/lists).
16 | *
17 | * @category Custom Function
18 | */
19 | export class SassList extends Value {
20 | /**
21 | * Creates a new list.
22 | *
23 | * @param contents - The contents of the list. This may be either a plain
24 | * JavaScript array or an immutable {@link List} from the [`immutable`
25 | * package](https://immutable-js.com/).
26 | *
27 | * @param options.separator - The separator to use between elements of this
28 | * list. Defaults to `','`.
29 | *
30 | * @param options.brackets - Whether the list has square brackets. Defaults to
31 | * `false`.
32 | */
33 | constructor(
34 | contents: Value[] | List,
35 | options?: {
36 | separator?: ListSeparator;
37 | brackets?: boolean;
38 | }
39 | );
40 |
41 | /**
42 | * Creates an empty list.
43 | *
44 | * @param options.separator - The separator to use between elements of this
45 | * list. Defaults to `','`.
46 | *
47 | * @param options.brackets - Whether the list has square brackets. Defaults to
48 | * `false`.
49 | */
50 | constructor(options?: {separator?: ListSeparator; brackets?: boolean});
51 |
52 | /** @hidden */
53 | get separator(): ListSeparator;
54 | }
55 |
--------------------------------------------------------------------------------
/node_modules/sass/types/value/map.d.ts:
--------------------------------------------------------------------------------
1 | import {OrderedMap} from 'immutable';
2 |
3 | import {SassList} from './list';
4 | import {Value} from './index';
5 |
6 | /**
7 | * Sass's [map type](https://sass-lang.com/documentation/values/maps).
8 | *
9 | * @category Custom Function
10 | */
11 | export class SassMap extends Value {
12 | /**
13 | * Creates a new map.
14 | *
15 | * @param contents - The contents of the map. This is an immutable
16 | * `OrderedMap` from the [`immutable` package](https://immutable-js.com/).
17 | * Defaults to an empty map.
18 | */
19 | constructor(contents?: OrderedMap);
20 |
21 | /**
22 | * Returns the contents of this map as an immutable {@link OrderedMap} from the
23 | * [`immutable` package](https://immutable-js.com/).
24 | */
25 | get contents(): OrderedMap;
26 |
27 | /**
28 | * Returns the value associated with `key` in this map, or `undefined` if
29 | * `key` isn't in the map.
30 | *
31 | * This is a shorthand for `this.contents.get(key)`, although it may be more
32 | * efficient in some cases.
33 | */
34 | get(key: Value): Value | undefined;
35 |
36 | /** Inherited from {@link Value.get}. */
37 | get(index: number): SassList | undefined;
38 |
39 | /** @hidden */
40 | tryMap(): SassMap;
41 | }
42 |
--------------------------------------------------------------------------------
/node_modules/sass/types/value/string.d.ts:
--------------------------------------------------------------------------------
1 | import {Value} from './index';
2 |
3 | /**
4 | * Sass's [string type](https://sass-lang.com/documentation/values/strings).
5 | *
6 | * @category Custom Function
7 | */
8 | export class SassString extends Value {
9 | /**
10 | * Creates a new string.
11 | *
12 | * @param text - The contents of the string. For quoted strings, this is the
13 | * semantic content—any escape sequences that were been written in the source
14 | * text are resolved to their Unicode values. For unquoted strings, though,
15 | * escape sequences are preserved as literal backslashes.
16 | *
17 | * @param options.quotes - Whether the string is quoted. Defaults to `true`.
18 | */
19 | constructor(
20 | text: string,
21 | options?: {
22 | quotes?: boolean;
23 | }
24 | );
25 |
26 | /**
27 | * Creates an empty string.
28 | *
29 | * @param options.quotes - Whether the string is quoted. Defaults to `true`.
30 | */
31 | constructor(options?: {quotes?: boolean});
32 |
33 | /**
34 | * The contents of the string.
35 | *
36 | * For quoted strings, this is the semantic content—any escape sequences that
37 | * were been written in the source text are resolved to their Unicode values.
38 | * For unquoted strings, though, escape sequences are preserved as literal
39 | * backslashes.
40 | *
41 | * This difference allows us to distinguish between identifiers with escapes,
42 | * such as `url\u28 http://example.com\u29`, and unquoted strings that contain
43 | * characters that aren't valid in identifiers, such as
44 | * `url(http://example.com)`. Unfortunately, it also means that we don't
45 | * consider `foo` and `f\6F\6F` the same string.
46 | */
47 | get text(): string;
48 |
49 | /** Whether this string has quotes. */
50 | get hasQuotes(): boolean;
51 |
52 | /**
53 | * Sass's notion of this string's length.
54 | *
55 | * Sass treats strings as a series of Unicode code points while JavaScript
56 | * treats them as a series of UTF-16 code units. For example, the character
57 | * U+1F60A SMILING FACE WITH SMILING EYES is a single Unicode code point but
58 | * is represented in UTF-16 as two code units (`0xD83D` and `0xDE0A`). So in
59 | * JavaScript, `"n😊b".length` returns `4`, whereas in Sass
60 | * `string.length("n😊b")` returns `3`.
61 | */
62 | get sassLength(): number;
63 |
64 | /**
65 | * Converts `sassIndex` to a JavaScript index into {@link text}.
66 | *
67 | * Sass indices are one-based, while JavaScript indices are zero-based. Sass
68 | * indices may also be negative in order to index from the end of the string.
69 | *
70 | * In addition, Sass indices refer to Unicode code points while JavaScript
71 | * string indices refer to UTF-16 code units. For example, the character
72 | * U+1F60A SMILING FACE WITH SMILING EYES is a single Unicode code point but
73 | * is represented in UTF-16 as two code units (`0xD83D` and `0xDE0A`). So in
74 | * JavaScript, `"n😊b".charCodeAt(1)` returns `0xD83D`, whereas in Sass
75 | * `string.slice("n😊b", 1, 1)` returns `"😊"`.
76 | *
77 | * This function converts Sass's code point indices to JavaScript's code unit
78 | * indices. This means it's O(n) in the length of `text`.
79 | *
80 | * @throws `Error` - If `sassIndex` isn't a number, if that number isn't an
81 | * integer, or if that integer isn't a valid index for this string.
82 | */
83 | sassIndexToStringIndex(sassIndex: Value, name?: string): number;
84 | }
85 |
--------------------------------------------------------------------------------
/node_modules/source-map-js/LICENSE:
--------------------------------------------------------------------------------
1 |
2 | Copyright (c) 2009-2011, Mozilla Foundation and contributors
3 | All rights reserved.
4 |
5 | Redistribution and use in source and binary forms, with or without
6 | modification, are permitted provided that the following conditions are met:
7 |
8 | * Redistributions of source code must retain the above copyright notice, this
9 | list of conditions and the following disclaimer.
10 |
11 | * Redistributions in binary form must reproduce the above copyright notice,
12 | this list of conditions and the following disclaimer in the documentation
13 | and/or other materials provided with the distribution.
14 |
15 | * Neither the names of the Mozilla Foundation nor the names of project
16 | contributors may be used to endorse or promote products derived from this
17 | software without specific prior written permission.
18 |
19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
20 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
23 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
--------------------------------------------------------------------------------
/node_modules/source-map-js/lib/array-set.js:
--------------------------------------------------------------------------------
1 | /* -*- Mode: js; js-indent-level: 2; -*- */
2 | /*
3 | * Copyright 2011 Mozilla Foundation and contributors
4 | * Licensed under the New BSD license. See LICENSE or:
5 | * http://opensource.org/licenses/BSD-3-Clause
6 | */
7 |
8 | var util = require('./util');
9 | var has = Object.prototype.hasOwnProperty;
10 | var hasNativeMap = typeof Map !== "undefined";
11 |
12 | /**
13 | * A data structure which is a combination of an array and a set. Adding a new
14 | * member is O(1), testing for membership is O(1), and finding the index of an
15 | * element is O(1). Removing elements from the set is not supported. Only
16 | * strings are supported for membership.
17 | */
18 | function ArraySet() {
19 | this._array = [];
20 | this._set = hasNativeMap ? new Map() : Object.create(null);
21 | }
22 |
23 | /**
24 | * Static method for creating ArraySet instances from an existing array.
25 | */
26 | ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {
27 | var set = new ArraySet();
28 | for (var i = 0, len = aArray.length; i < len; i++) {
29 | set.add(aArray[i], aAllowDuplicates);
30 | }
31 | return set;
32 | };
33 |
34 | /**
35 | * Return how many unique items are in this ArraySet. If duplicates have been
36 | * added, than those do not count towards the size.
37 | *
38 | * @returns Number
39 | */
40 | ArraySet.prototype.size = function ArraySet_size() {
41 | return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length;
42 | };
43 |
44 | /**
45 | * Add the given string to this set.
46 | *
47 | * @param String aStr
48 | */
49 | ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {
50 | var sStr = hasNativeMap ? aStr : util.toSetString(aStr);
51 | var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr);
52 | var idx = this._array.length;
53 | if (!isDuplicate || aAllowDuplicates) {
54 | this._array.push(aStr);
55 | }
56 | if (!isDuplicate) {
57 | if (hasNativeMap) {
58 | this._set.set(aStr, idx);
59 | } else {
60 | this._set[sStr] = idx;
61 | }
62 | }
63 | };
64 |
65 | /**
66 | * Is the given string a member of this set?
67 | *
68 | * @param String aStr
69 | */
70 | ArraySet.prototype.has = function ArraySet_has(aStr) {
71 | if (hasNativeMap) {
72 | return this._set.has(aStr);
73 | } else {
74 | var sStr = util.toSetString(aStr);
75 | return has.call(this._set, sStr);
76 | }
77 | };
78 |
79 | /**
80 | * What is the index of the given string in the array?
81 | *
82 | * @param String aStr
83 | */
84 | ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {
85 | if (hasNativeMap) {
86 | var idx = this._set.get(aStr);
87 | if (idx >= 0) {
88 | return idx;
89 | }
90 | } else {
91 | var sStr = util.toSetString(aStr);
92 | if (has.call(this._set, sStr)) {
93 | return this._set[sStr];
94 | }
95 | }
96 |
97 | throw new Error('"' + aStr + '" is not in the set.');
98 | };
99 |
100 | /**
101 | * What is the element at the given index?
102 | *
103 | * @param Number aIdx
104 | */
105 | ArraySet.prototype.at = function ArraySet_at(aIdx) {
106 | if (aIdx >= 0 && aIdx < this._array.length) {
107 | return this._array[aIdx];
108 | }
109 | throw new Error('No element indexed by ' + aIdx);
110 | };
111 |
112 | /**
113 | * Returns the array representation of this set (which has the proper indices
114 | * indicated by indexOf). Note that this is a copy of the internal array used
115 | * for storing the members so that no one can mess with internal state.
116 | */
117 | ArraySet.prototype.toArray = function ArraySet_toArray() {
118 | return this._array.slice();
119 | };
120 |
121 | exports.ArraySet = ArraySet;
122 |
--------------------------------------------------------------------------------
/node_modules/source-map-js/lib/base64.js:
--------------------------------------------------------------------------------
1 | /* -*- Mode: js; js-indent-level: 2; -*- */
2 | /*
3 | * Copyright 2011 Mozilla Foundation and contributors
4 | * Licensed under the New BSD license. See LICENSE or:
5 | * http://opensource.org/licenses/BSD-3-Clause
6 | */
7 |
8 | var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');
9 |
10 | /**
11 | * Encode an integer in the range of 0 to 63 to a single base 64 digit.
12 | */
13 | exports.encode = function (number) {
14 | if (0 <= number && number < intToCharMap.length) {
15 | return intToCharMap[number];
16 | }
17 | throw new TypeError("Must be between 0 and 63: " + number);
18 | };
19 |
20 | /**
21 | * Decode a single base 64 character code digit to an integer. Returns -1 on
22 | * failure.
23 | */
24 | exports.decode = function (charCode) {
25 | var bigA = 65; // 'A'
26 | var bigZ = 90; // 'Z'
27 |
28 | var littleA = 97; // 'a'
29 | var littleZ = 122; // 'z'
30 |
31 | var zero = 48; // '0'
32 | var nine = 57; // '9'
33 |
34 | var plus = 43; // '+'
35 | var slash = 47; // '/'
36 |
37 | var littleOffset = 26;
38 | var numberOffset = 52;
39 |
40 | // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ
41 | if (bigA <= charCode && charCode <= bigZ) {
42 | return (charCode - bigA);
43 | }
44 |
45 | // 26 - 51: abcdefghijklmnopqrstuvwxyz
46 | if (littleA <= charCode && charCode <= littleZ) {
47 | return (charCode - littleA + littleOffset);
48 | }
49 |
50 | // 52 - 61: 0123456789
51 | if (zero <= charCode && charCode <= nine) {
52 | return (charCode - zero + numberOffset);
53 | }
54 |
55 | // 62: +
56 | if (charCode == plus) {
57 | return 62;
58 | }
59 |
60 | // 63: /
61 | if (charCode == slash) {
62 | return 63;
63 | }
64 |
65 | // Invalid base64 digit.
66 | return -1;
67 | };
68 |
--------------------------------------------------------------------------------
/node_modules/source-map-js/lib/binary-search.js:
--------------------------------------------------------------------------------
1 | /* -*- Mode: js; js-indent-level: 2; -*- */
2 | /*
3 | * Copyright 2011 Mozilla Foundation and contributors
4 | * Licensed under the New BSD license. See LICENSE or:
5 | * http://opensource.org/licenses/BSD-3-Clause
6 | */
7 |
8 | exports.GREATEST_LOWER_BOUND = 1;
9 | exports.LEAST_UPPER_BOUND = 2;
10 |
11 | /**
12 | * Recursive implementation of binary search.
13 | *
14 | * @param aLow Indices here and lower do not contain the needle.
15 | * @param aHigh Indices here and higher do not contain the needle.
16 | * @param aNeedle The element being searched for.
17 | * @param aHaystack The non-empty array being searched.
18 | * @param aCompare Function which takes two elements and returns -1, 0, or 1.
19 | * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or
20 | * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the
21 | * closest element that is smaller than or greater than the one we are
22 | * searching for, respectively, if the exact element cannot be found.
23 | */
24 | function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {
25 | // This function terminates when one of the following is true:
26 | //
27 | // 1. We find the exact element we are looking for.
28 | //
29 | // 2. We did not find the exact element, but we can return the index of
30 | // the next-closest element.
31 | //
32 | // 3. We did not find the exact element, and there is no next-closest
33 | // element than the one we are searching for, so we return -1.
34 | var mid = Math.floor((aHigh - aLow) / 2) + aLow;
35 | var cmp = aCompare(aNeedle, aHaystack[mid], true);
36 | if (cmp === 0) {
37 | // Found the element we are looking for.
38 | return mid;
39 | }
40 | else if (cmp > 0) {
41 | // Our needle is greater than aHaystack[mid].
42 | if (aHigh - mid > 1) {
43 | // The element is in the upper half.
44 | return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);
45 | }
46 |
47 | // The exact needle element was not found in this haystack. Determine if
48 | // we are in termination case (3) or (2) and return the appropriate thing.
49 | if (aBias == exports.LEAST_UPPER_BOUND) {
50 | return aHigh < aHaystack.length ? aHigh : -1;
51 | } else {
52 | return mid;
53 | }
54 | }
55 | else {
56 | // Our needle is less than aHaystack[mid].
57 | if (mid - aLow > 1) {
58 | // The element is in the lower half.
59 | return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);
60 | }
61 |
62 | // we are in termination case (3) or (2) and return the appropriate thing.
63 | if (aBias == exports.LEAST_UPPER_BOUND) {
64 | return mid;
65 | } else {
66 | return aLow < 0 ? -1 : aLow;
67 | }
68 | }
69 | }
70 |
71 | /**
72 | * This is an implementation of binary search which will always try and return
73 | * the index of the closest element if there is no exact hit. This is because
74 | * mappings between original and generated line/col pairs are single points,
75 | * and there is an implicit region between each of them, so a miss just means
76 | * that you aren't on the very start of a region.
77 | *
78 | * @param aNeedle The element you are looking for.
79 | * @param aHaystack The array that is being searched.
80 | * @param aCompare A function which takes the needle and an element in the
81 | * array and returns -1, 0, or 1 depending on whether the needle is less
82 | * than, equal to, or greater than the element, respectively.
83 | * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or
84 | * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the
85 | * closest element that is smaller than or greater than the one we are
86 | * searching for, respectively, if the exact element cannot be found.
87 | * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'.
88 | */
89 | exports.search = function search(aNeedle, aHaystack, aCompare, aBias) {
90 | if (aHaystack.length === 0) {
91 | return -1;
92 | }
93 |
94 | var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack,
95 | aCompare, aBias || exports.GREATEST_LOWER_BOUND);
96 | if (index < 0) {
97 | return -1;
98 | }
99 |
100 | // We have found either the exact element, or the next-closest element than
101 | // the one we are searching for. However, there may be more than one such
102 | // element. Make sure we always return the smallest of these.
103 | while (index - 1 >= 0) {
104 | if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {
105 | break;
106 | }
107 | --index;
108 | }
109 |
110 | return index;
111 | };
112 |
--------------------------------------------------------------------------------
/node_modules/source-map-js/lib/mapping-list.js:
--------------------------------------------------------------------------------
1 | /* -*- Mode: js; js-indent-level: 2; -*- */
2 | /*
3 | * Copyright 2014 Mozilla Foundation and contributors
4 | * Licensed under the New BSD license. See LICENSE or:
5 | * http://opensource.org/licenses/BSD-3-Clause
6 | */
7 |
8 | var util = require('./util');
9 |
10 | /**
11 | * Determine whether mappingB is after mappingA with respect to generated
12 | * position.
13 | */
14 | function generatedPositionAfter(mappingA, mappingB) {
15 | // Optimized for most common case
16 | var lineA = mappingA.generatedLine;
17 | var lineB = mappingB.generatedLine;
18 | var columnA = mappingA.generatedColumn;
19 | var columnB = mappingB.generatedColumn;
20 | return lineB > lineA || lineB == lineA && columnB >= columnA ||
21 | util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;
22 | }
23 |
24 | /**
25 | * A data structure to provide a sorted view of accumulated mappings in a
26 | * performance conscious manner. It trades a neglibable overhead in general
27 | * case for a large speedup in case of mappings being added in order.
28 | */
29 | function MappingList() {
30 | this._array = [];
31 | this._sorted = true;
32 | // Serves as infimum
33 | this._last = {generatedLine: -1, generatedColumn: 0};
34 | }
35 |
36 | /**
37 | * Iterate through internal items. This method takes the same arguments that
38 | * `Array.prototype.forEach` takes.
39 | *
40 | * NOTE: The order of the mappings is NOT guaranteed.
41 | */
42 | MappingList.prototype.unsortedForEach =
43 | function MappingList_forEach(aCallback, aThisArg) {
44 | this._array.forEach(aCallback, aThisArg);
45 | };
46 |
47 | /**
48 | * Add the given source mapping.
49 | *
50 | * @param Object aMapping
51 | */
52 | MappingList.prototype.add = function MappingList_add(aMapping) {
53 | if (generatedPositionAfter(this._last, aMapping)) {
54 | this._last = aMapping;
55 | this._array.push(aMapping);
56 | } else {
57 | this._sorted = false;
58 | this._array.push(aMapping);
59 | }
60 | };
61 |
62 | /**
63 | * Returns the flat, sorted array of mappings. The mappings are sorted by
64 | * generated position.
65 | *
66 | * WARNING: This method returns internal data without copying, for
67 | * performance. The return value must NOT be mutated, and should be treated as
68 | * an immutable borrow. If you want to take ownership, you must make your own
69 | * copy.
70 | */
71 | MappingList.prototype.toArray = function MappingList_toArray() {
72 | if (!this._sorted) {
73 | this._array.sort(util.compareByGeneratedPositionsInflated);
74 | this._sorted = true;
75 | }
76 | return this._array;
77 | };
78 |
79 | exports.MappingList = MappingList;
80 |
--------------------------------------------------------------------------------
/node_modules/source-map-js/lib/quick-sort.js:
--------------------------------------------------------------------------------
1 | /* -*- Mode: js; js-indent-level: 2; -*- */
2 | /*
3 | * Copyright 2011 Mozilla Foundation and contributors
4 | * Licensed under the New BSD license. See LICENSE or:
5 | * http://opensource.org/licenses/BSD-3-Clause
6 | */
7 |
8 | // It turns out that some (most?) JavaScript engines don't self-host
9 | // `Array.prototype.sort`. This makes sense because C++ will likely remain
10 | // faster than JS when doing raw CPU-intensive sorting. However, when using a
11 | // custom comparator function, calling back and forth between the VM's C++ and
12 | // JIT'd JS is rather slow *and* loses JIT type information, resulting in
13 | // worse generated code for the comparator function than would be optimal. In
14 | // fact, when sorting with a comparator, these costs outweigh the benefits of
15 | // sorting in C++. By using our own JS-implemented Quick Sort (below), we get
16 | // a ~3500ms mean speed-up in `bench/bench.html`.
17 |
18 | function SortTemplate(comparator) {
19 |
20 | /**
21 | * Swap the elements indexed by `x` and `y` in the array `ary`.
22 | *
23 | * @param {Array} ary
24 | * The array.
25 | * @param {Number} x
26 | * The index of the first item.
27 | * @param {Number} y
28 | * The index of the second item.
29 | */
30 | function swap(ary, x, y) {
31 | var temp = ary[x];
32 | ary[x] = ary[y];
33 | ary[y] = temp;
34 | }
35 |
36 | /**
37 | * Returns a random integer within the range `low .. high` inclusive.
38 | *
39 | * @param {Number} low
40 | * The lower bound on the range.
41 | * @param {Number} high
42 | * The upper bound on the range.
43 | */
44 | function randomIntInRange(low, high) {
45 | return Math.round(low + (Math.random() * (high - low)));
46 | }
47 |
48 | /**
49 | * The Quick Sort algorithm.
50 | *
51 | * @param {Array} ary
52 | * An array to sort.
53 | * @param {function} comparator
54 | * Function to use to compare two items.
55 | * @param {Number} p
56 | * Start index of the array
57 | * @param {Number} r
58 | * End index of the array
59 | */
60 | function doQuickSort(ary, comparator, p, r) {
61 | // If our lower bound is less than our upper bound, we (1) partition the
62 | // array into two pieces and (2) recurse on each half. If it is not, this is
63 | // the empty array and our base case.
64 |
65 | if (p < r) {
66 | // (1) Partitioning.
67 | //
68 | // The partitioning chooses a pivot between `p` and `r` and moves all
69 | // elements that are less than or equal to the pivot to the before it, and
70 | // all the elements that are greater than it after it. The effect is that
71 | // once partition is done, the pivot is in the exact place it will be when
72 | // the array is put in sorted order, and it will not need to be moved
73 | // again. This runs in O(n) time.
74 |
75 | // Always choose a random pivot so that an input array which is reverse
76 | // sorted does not cause O(n^2) running time.
77 | var pivotIndex = randomIntInRange(p, r);
78 | var i = p - 1;
79 |
80 | swap(ary, pivotIndex, r);
81 | var pivot = ary[r];
82 |
83 | // Immediately after `j` is incremented in this loop, the following hold
84 | // true:
85 | //
86 | // * Every element in `ary[p .. i]` is less than or equal to the pivot.
87 | //
88 | // * Every element in `ary[i+1 .. j-1]` is greater than the pivot.
89 | for (var j = p; j < r; j++) {
90 | if (comparator(ary[j], pivot, false) <= 0) {
91 | i += 1;
92 | swap(ary, i, j);
93 | }
94 | }
95 |
96 | swap(ary, i + 1, j);
97 | var q = i + 1;
98 |
99 | // (2) Recurse on each half.
100 |
101 | doQuickSort(ary, comparator, p, q - 1);
102 | doQuickSort(ary, comparator, q + 1, r);
103 | }
104 | }
105 |
106 | return doQuickSort;
107 | }
108 |
109 | function cloneSort(comparator) {
110 | let template = SortTemplate.toString();
111 | let templateFn = new Function(`return ${template}`)();
112 | return templateFn(comparator);
113 | }
114 |
115 | /**
116 | * Sort the given array in-place with the given comparator function.
117 | *
118 | * @param {Array} ary
119 | * An array to sort.
120 | * @param {function} comparator
121 | * Function to use to compare two items.
122 | */
123 |
124 | let sortCache = new WeakMap();
125 | exports.quickSort = function (ary, comparator, start = 0) {
126 | let doQuickSort = sortCache.get(comparator);
127 | if (doQuickSort === void 0) {
128 | doQuickSort = cloneSort(comparator);
129 | sortCache.set(comparator, doQuickSort);
130 | }
131 | doQuickSort(ary, comparator, start, ary.length - 1);
132 | };
133 |
--------------------------------------------------------------------------------
/node_modules/source-map-js/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "source-map-js",
3 | "description": "Generates and consumes source maps",
4 | "version": "1.0.2",
5 | "homepage": "https://github.com/7rulnik/source-map-js",
6 | "author": "Valentin 7rulnik Semirulnik ",
7 | "contributors": [
8 | "Nick Fitzgerald ",
9 | "Tobias Koppers ",
10 | "Duncan Beevers ",
11 | "Stephen Crane ",
12 | "Ryan Seddon ",
13 | "Miles Elam ",
14 | "Mihai Bazon ",
15 | "Michael Ficarra ",
16 | "Todd Wolfson ",
17 | "Alexander Solovyov ",
18 | "Felix Gnass ",
19 | "Conrad Irwin ",
20 | "usrbincc ",
21 | "David Glasser ",
22 | "Chase Douglas ",
23 | "Evan Wallace ",
24 | "Heather Arthur ",
25 | "Hugh Kennedy ",
26 | "David Glasser ",
27 | "Simon Lydell ",
28 | "Jmeas Smith ",
29 | "Michael Z Goddard ",
30 | "azu ",
31 | "John Gozde ",
32 | "Adam Kirkton ",
33 | "Chris Montgomery ",
34 | "J. Ryan Stinnett ",
35 | "Jack Herrington ",
36 | "Chris Truter ",
37 | "Daniel Espeset ",
38 | "Jamie Wong ",
39 | "Eddy Bruël ",
40 | "Hawken Rives ",
41 | "Gilad Peleg ",
42 | "djchie ",
43 | "Gary Ye ",
44 | "Nicolas Lalevée "
45 | ],
46 | "repository": "7rulnik/source-map-js",
47 | "main": "./source-map.js",
48 | "files": [
49 | "source-map.js",
50 | "source-map.d.ts",
51 | "lib/"
52 | ],
53 | "engines": {
54 | "node": ">=0.10.0"
55 | },
56 | "license": "BSD-3-Clause",
57 | "scripts": {
58 | "test": "npm run build && node test/run-tests.js",
59 | "build": "webpack --color",
60 | "toc": "doctoc --title '## Table of Contents' README.md && doctoc --title '## Table of Contents' CONTRIBUTING.md"
61 | },
62 | "devDependencies": {
63 | "clean-publish": "^3.1.0",
64 | "doctoc": "^0.15.0",
65 | "webpack": "^1.12.0"
66 | },
67 | "clean-publish": {
68 | "cleanDocs": true
69 | },
70 | "typings": "source-map.d.ts"
71 | }
72 |
--------------------------------------------------------------------------------
/node_modules/source-map-js/source-map.d.ts:
--------------------------------------------------------------------------------
1 | declare module 'source-map-js' {
2 | export interface StartOfSourceMap {
3 | file?: string;
4 | sourceRoot?: string;
5 | }
6 |
7 | export interface RawSourceMap extends StartOfSourceMap {
8 | version: string;
9 | sources: string[];
10 | names: string[];
11 | sourcesContent?: string[];
12 | mappings: string;
13 | }
14 |
15 | export interface Position {
16 | line: number;
17 | column: number;
18 | }
19 |
20 | export interface LineRange extends Position {
21 | lastColumn: number;
22 | }
23 |
24 | export interface FindPosition extends Position {
25 | // SourceMapConsumer.GREATEST_LOWER_BOUND or SourceMapConsumer.LEAST_UPPER_BOUND
26 | bias?: number;
27 | }
28 |
29 | export interface SourceFindPosition extends FindPosition {
30 | source: string;
31 | }
32 |
33 | export interface MappedPosition extends Position {
34 | source: string;
35 | name?: string;
36 | }
37 |
38 | export interface MappingItem {
39 | source: string;
40 | generatedLine: number;
41 | generatedColumn: number;
42 | originalLine: number;
43 | originalColumn: number;
44 | name: string;
45 | }
46 |
47 | export class SourceMapConsumer {
48 | static GENERATED_ORDER: number;
49 | static ORIGINAL_ORDER: number;
50 |
51 | static GREATEST_LOWER_BOUND: number;
52 | static LEAST_UPPER_BOUND: number;
53 |
54 | constructor(rawSourceMap: RawSourceMap);
55 | computeColumnSpans(): void;
56 | originalPositionFor(generatedPosition: FindPosition): MappedPosition;
57 | generatedPositionFor(originalPosition: SourceFindPosition): LineRange;
58 | allGeneratedPositionsFor(originalPosition: MappedPosition): Position[];
59 | hasContentsOfAllSources(): boolean;
60 | sourceContentFor(source: string, returnNullOnMissing?: boolean): string;
61 | eachMapping(callback: (mapping: MappingItem) => void, context?: any, order?: number): void;
62 | }
63 |
64 | export interface Mapping {
65 | generated: Position;
66 | original: Position;
67 | source: string;
68 | name?: string;
69 | }
70 |
71 | export class SourceMapGenerator {
72 | constructor(startOfSourceMap?: StartOfSourceMap);
73 | static fromSourceMap(sourceMapConsumer: SourceMapConsumer): SourceMapGenerator;
74 | addMapping(mapping: Mapping): void;
75 | setSourceContent(sourceFile: string, sourceContent: string): void;
76 | applySourceMap(sourceMapConsumer: SourceMapConsumer, sourceFile?: string, sourceMapPath?: string): void;
77 | toString(): string;
78 | }
79 |
80 | export interface CodeWithSourceMap {
81 | code: string;
82 | map: SourceMapGenerator;
83 | }
84 |
85 | export class SourceNode {
86 | constructor();
87 | constructor(line: number, column: number, source: string);
88 | constructor(line: number, column: number, source: string, chunk?: string, name?: string);
89 | static fromStringWithSourceMap(code: string, sourceMapConsumer: SourceMapConsumer, relativePath?: string): SourceNode;
90 | add(chunk: string): void;
91 | prepend(chunk: string): void;
92 | setSourceContent(sourceFile: string, sourceContent: string): void;
93 | walk(fn: (chunk: string, mapping: MappedPosition) => void): void;
94 | walkSourceContents(fn: (file: string, content: string) => void): void;
95 | join(sep: string): SourceNode;
96 | replaceRight(pattern: string, replacement: string): SourceNode;
97 | toString(): string;
98 | toStringWithSourceMap(startOfSourceMap?: StartOfSourceMap): CodeWithSourceMap;
99 | }
100 | }
101 |
102 | declare module 'source-map-js/lib/source-map-generator' {
103 | import { SourceMapGenerator } from 'source-map-js'
104 | export { SourceMapGenerator }
105 | }
106 |
107 | declare module 'source-map-js/lib/source-map-consumer' {
108 | import { SourceMapConsumer } from 'source-map-js'
109 | export { SourceMapConsumer }
110 | }
111 |
112 | declare module 'source-map-js/lib/source-node' {
113 | import { SourceNode } from 'source-map-js'
114 | export { SourceNode }
115 | }
116 |
--------------------------------------------------------------------------------
/node_modules/source-map-js/source-map.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2009-2011 Mozilla Foundation and contributors
3 | * Licensed under the New BSD license. See LICENSE.txt or:
4 | * http://opensource.org/licenses/BSD-3-Clause
5 | */
6 | exports.SourceMapGenerator = require('./lib/source-map-generator').SourceMapGenerator;
7 | exports.SourceMapConsumer = require('./lib/source-map-consumer').SourceMapConsumer;
8 | exports.SourceNode = require('./lib/source-node').SourceNode;
9 |
--------------------------------------------------------------------------------
/node_modules/to-regex-range/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015-present, Jon Schlinkert.
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/node_modules/to-regex-range/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "to-regex-range",
3 | "description": "Pass two numbers, get a regex-compatible source string for matching ranges. Validated against more than 2.78 million test assertions.",
4 | "version": "5.0.1",
5 | "homepage": "https://github.com/micromatch/to-regex-range",
6 | "author": "Jon Schlinkert (https://github.com/jonschlinkert)",
7 | "contributors": [
8 | "Jon Schlinkert (http://twitter.com/jonschlinkert)",
9 | "Rouven Weßling (www.rouvenwessling.de)"
10 | ],
11 | "repository": "micromatch/to-regex-range",
12 | "bugs": {
13 | "url": "https://github.com/micromatch/to-regex-range/issues"
14 | },
15 | "license": "MIT",
16 | "files": [
17 | "index.js"
18 | ],
19 | "main": "index.js",
20 | "engines": {
21 | "node": ">=8.0"
22 | },
23 | "scripts": {
24 | "test": "mocha"
25 | },
26 | "dependencies": {
27 | "is-number": "^7.0.0"
28 | },
29 | "devDependencies": {
30 | "fill-range": "^6.0.0",
31 | "gulp-format-md": "^2.0.0",
32 | "mocha": "^6.0.2",
33 | "text-table": "^0.2.0",
34 | "time-diff": "^0.3.1"
35 | },
36 | "keywords": [
37 | "bash",
38 | "date",
39 | "expand",
40 | "expansion",
41 | "expression",
42 | "glob",
43 | "match",
44 | "match date",
45 | "match number",
46 | "match numbers",
47 | "match year",
48 | "matches",
49 | "matching",
50 | "number",
51 | "numbers",
52 | "numerical",
53 | "range",
54 | "ranges",
55 | "regex",
56 | "regexp",
57 | "regular",
58 | "regular expression",
59 | "sequence"
60 | ],
61 | "verb": {
62 | "layout": "default",
63 | "toc": false,
64 | "tasks": [
65 | "readme"
66 | ],
67 | "plugins": [
68 | "gulp-format-md"
69 | ],
70 | "lint": {
71 | "reflinks": true
72 | },
73 | "helpers": {
74 | "examples": {
75 | "displayName": "examples"
76 | }
77 | },
78 | "related": {
79 | "list": [
80 | "expand-range",
81 | "fill-range",
82 | "micromatch",
83 | "repeat-element",
84 | "repeat-string"
85 | ]
86 | }
87 | }
88 | }
89 |
--------------------------------------------------------------------------------
/notes.txt:
--------------------------------------------------------------------------------
1 | Live server ext
2 | vs code ext üzerinden live server yazarak indirebilirsin
3 | ritwickdey.LiveServer
4 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "html-css-js-tutorial-techcareer",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1",
8 | "sass": "sass html-css/sassSample/template2/assets/main.scss html-css/sassSample/template2/assets/main.css"
9 | },
10 | "keywords": [],
11 | "author": "",
12 | "license": "ISC",
13 | "dependencies": {
14 | "sass": "^1.64.1"
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/unutmamali.txt:
--------------------------------------------------------------------------------
1 | ölçü birimleri
--------------------------------------------------------------------------------
/ödevler.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 | Flex Okuma ve İzleme
4 | https://css-tricks.com/snippets/css/a-guide-to-flexbox/
5 | https://www.youtube.com/watch?v=_s15i3MoAyE
6 |
7 | Flex Game
8 | https://flexboxfroggy.com/
9 |
10 |
11 | Template ( Hafta sonu ödevi )
12 | Page-1
13 | https://startbootstrap.com/previews/clean-blog
14 | Yukarıdaki 4 menüde olan tüm pageler yapılacak!
15 |
16 |
--------------------------------------------------------------------------------