Skip to content

Commit 90c5d7e

Browse files
josephv7bot-bigbinaryAbhayVAshokan
authored
Build files directly to host app (#236)
* Build files directly to host app * Fixed typo * Updated README --------- Co-authored-by: bot-bigbinary <[email protected]> Co-authored-by: Abhay V Ashokan <[email protected]>
1 parent 8e28cb0 commit 90c5d7e

File tree

4 files changed

+154
-31
lines changed

4 files changed

+154
-31
lines changed

README.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,11 @@ React Native:
2323
yarn add @bigbinary/neeto-icons-rn
2424
```
2525

26-
## Usage
26+
### Instructions for development
27+
28+
Check the [Frontend package development guide](https://neeto-engineering.neetokb.com/p/a-d34cb4b0) for step-by-step instructions to develop the frontend package.
29+
30+
### Usage
2731

2832
Web:
2933

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@
7474
"rollup": "2.62.0",
7575
"rollup-plugin-analyzer": "4.0.0",
7676
"rollup-plugin-babel": "4.4.0",
77+
"rollup-plugin-copy": "^3.5.0",
7778
"rollup-plugin-license": "2.6.1",
7879
"style-loader": "^3.3.1",
7980
"uppercamelcase": "^3.0.0",

rollup.config.js

+50-29
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ import babel from "rollup-plugin-babel";
77
import { generateComponents } from "./build/index.mjs";
88
import componentGenerationConfig from "./build/componentGenerationConfig.mjs";
99

10+
import packageJson from "./package.json";
11+
import copy from "rollup-plugin-copy";
12+
1013
const DIST_PATH = path.resolve(__dirname, "dist");
1114
export const extensions = [".js", ".jsx"];
1215

@@ -26,35 +29,53 @@ const input = [
2629

2730
const formats = ["esm", "cjs"];
2831

29-
const plugins = [
30-
// generate components
31-
generateComponents(componentGenerationConfig),
32-
// Analyze created bundle.
33-
analyze(),
34-
// Resolve source files.
35-
resolve({ browser: true, extensions }),
36-
// Resolve commonjs dependencies.
37-
commonjs({ include: /node_modules/ }),
38-
babel({
39-
extensions,
40-
exclude: /node_modules/,
41-
presets: [
42-
["@babel/preset-env", { targets: "defaults" }],
43-
"@babel/preset-react",
44-
],
45-
}),
46-
];
47-
4832
const getOutputFilename = (name, format) =>
4933
format === "esm" ? `dist/${name}.js` : `dist/${name}.cjs.js`
5034

51-
export default input.map(([filename, pathname]) => ({
52-
input: pathname,
53-
plugins,
54-
output: formats.map((format) => ({
55-
assetFileNames: "[name][extname]",
56-
file: getOutputFilename(filename, format),
57-
format,
58-
sourcemap: true,
59-
}))
60-
}));
35+
const config = args => {
36+
const destination = args.app
37+
? path.resolve(__dirname, args.app, "node_modules", packageJson.name)
38+
: __dirname;
39+
40+
return input.map(([filename, pathname]) => ({
41+
input: pathname,
42+
plugins: [
43+
// generate components
44+
generateComponents(componentGenerationConfig),
45+
// Analyze created bundle.
46+
analyze(),
47+
// Resolve source files.
48+
resolve({ browser: true, extensions }),
49+
// Resolve commonjs dependencies.
50+
commonjs({ include: /node_modules/ }),
51+
babel({
52+
extensions,
53+
exclude: /node_modules/,
54+
presets: [
55+
["@babel/preset-env", { targets: "defaults" }],
56+
"@babel/preset-react",
57+
],
58+
}),
59+
// To copy files to the host application
60+
args.app &&
61+
copy({
62+
targets: [
63+
{ src: "package.json", dest: destination },
64+
{ src: "index.d.ts", dest: destination },
65+
{ src: "logos.d.ts", dest: destination },
66+
{ src: "app-icons.d.ts", dest: destination },
67+
{ src: "misc.d.ts", dest: destination },
68+
{ src: "typeface-logos.d.ts", dest: destination },
69+
],
70+
}),
71+
],
72+
output: formats.map((format) => ({
73+
assetFileNames: "[name][extname]",
74+
file: getOutputFilename(filename, format),
75+
format,
76+
sourcemap: true,
77+
}))
78+
}));
79+
}
80+
81+
export default config;

yarn.lock

+98-1
Original file line numberDiff line numberDiff line change
@@ -1416,6 +1416,21 @@
14161416
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
14171417
integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
14181418

1419+
"@types/fs-extra@^8.0.1":
1420+
version "8.1.5"
1421+
resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-8.1.5.tgz#33aae2962d3b3ec9219b5aca2555ee00274f5927"
1422+
integrity sha512-0dzKcwO+S8s2kuF5Z9oUWatQJj5Uq/iqphEtE3GQJVRRYm/tD1LglU2UnXi2A8jLq5umkGouOXOR9y0n613ZwQ==
1423+
dependencies:
1424+
"@types/node" "*"
1425+
1426+
"@types/glob@^7.1.1":
1427+
version "7.2.0"
1428+
resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb"
1429+
integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==
1430+
dependencies:
1431+
"@types/minimatch" "*"
1432+
"@types/node" "*"
1433+
14191434
"@types/html-minifier-terser@^5.0.0":
14201435
version "5.1.2"
14211436
resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz#693b316ad323ea97eed6b38ed1a3cc02b1672b57"
@@ -1433,6 +1448,11 @@
14331448
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d"
14341449
integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==
14351450

1451+
"@types/minimatch@*":
1452+
version "5.1.2"
1453+
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca"
1454+
integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==
1455+
14361456
"@types/node@*":
14371457
version "16.11.7"
14381458
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.7.tgz#36820945061326978c42a01e56b61cd223dfdc42"
@@ -2084,6 +2104,11 @@ color-name@~1.1.4:
20842104
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
20852105
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
20862106

2107+
colorette@^1.1.0:
2108+
version "1.4.0"
2109+
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40"
2110+
integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==
2111+
20872112
colorette@^2.0.10, colorette@^2.0.14:
20882113
version "2.0.16"
20892114
resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da"
@@ -2744,6 +2769,17 @@ fast-deep-equal@^3.1.1:
27442769
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
27452770
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
27462771

2772+
fast-glob@^3.0.3:
2773+
version "3.3.2"
2774+
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129"
2775+
integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==
2776+
dependencies:
2777+
"@nodelib/fs.stat" "^2.0.2"
2778+
"@nodelib/fs.walk" "^1.2.3"
2779+
glob-parent "^5.1.2"
2780+
merge2 "^1.3.0"
2781+
micromatch "^4.0.4"
2782+
27472783
fast-glob@^3.1.1:
27482784
version "3.2.7"
27492785
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1"
@@ -2854,6 +2890,15 @@ [email protected]:
28542890
resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
28552891
integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=
28562892

2893+
fs-extra@^8.1.0:
2894+
version "8.1.0"
2895+
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
2896+
integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==
2897+
dependencies:
2898+
graceful-fs "^4.2.0"
2899+
jsonfile "^4.0.0"
2900+
universalify "^0.1.0"
2901+
28572902
28582903
version "1.0.3"
28592904
resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3"
@@ -2956,6 +3001,20 @@ globals@^11.1.0:
29563001
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
29573002
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
29583003

3004+
3005+
version "10.0.1"
3006+
resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.1.tgz#4782c34cb75dd683351335c5829cc3420e606b22"
3007+
integrity sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==
3008+
dependencies:
3009+
"@types/glob" "^7.1.1"
3010+
array-union "^2.1.0"
3011+
dir-glob "^3.0.1"
3012+
fast-glob "^3.0.3"
3013+
glob "^7.1.3"
3014+
ignore "^5.1.1"
3015+
merge2 "^1.2.3"
3016+
slash "^3.0.0"
3017+
29593018
globby@^11.0.1:
29603019
version "11.0.4"
29613020
resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5"
@@ -2985,6 +3044,11 @@ graceful-fs@^4.1.2, graceful-fs@^4.2.4, graceful-fs@^4.2.6:
29853044
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a"
29863045
integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==
29873046

3047+
graceful-fs@^4.1.6, graceful-fs@^4.2.0:
3048+
version "4.2.11"
3049+
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
3050+
integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
3051+
29883052
handle-thing@^2.0.0:
29893053
version "2.0.1"
29903054
resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e"
@@ -3223,6 +3287,11 @@ icss-utils@^5.0.0, icss-utils@^5.1.0:
32233287
resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae"
32243288
integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==
32253289

3290+
ignore@^5.1.1:
3291+
version "5.3.0"
3292+
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78"
3293+
integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==
3294+
32263295
ignore@^5.1.4:
32273296
version "5.1.9"
32283297
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.9.tgz#9ec1a5cbe8e1446ec60d4420060d43aa6e7382fb"
@@ -3462,6 +3531,11 @@ is-plain-object@^2.0.4:
34623531
dependencies:
34633532
isobject "^3.0.1"
34643533

3534+
is-plain-object@^3.0.0:
3535+
version "3.0.1"
3536+
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-3.0.1.tgz#662d92d24c0aa4302407b0d45d21f2251c85f85b"
3537+
integrity sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==
3538+
34653539
is-reference@^1.2.1:
34663540
version "1.2.1"
34673541
resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7"
@@ -3611,6 +3685,13 @@ json5@^2.2.2:
36113685
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
36123686
integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
36133687

3688+
jsonfile@^4.0.0:
3689+
version "4.0.0"
3690+
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
3691+
integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==
3692+
optionalDependencies:
3693+
graceful-fs "^4.1.6"
3694+
36143695
kind-of@^6.0.2:
36153696
version "6.0.3"
36163697
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
@@ -3740,7 +3821,7 @@ merge-stream@^2.0.0:
37403821
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
37413822
integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
37423823

3743-
merge2@^1.3.0:
3824+
merge2@^1.2.3, merge2@^1.3.0:
37443825
version "1.4.1"
37453826
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
37463827
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
@@ -4574,6 +4655,17 @@ [email protected]:
45744655
"@babel/helper-module-imports" "^7.0.0"
45754656
rollup-pluginutils "^2.8.1"
45764657

4658+
rollup-plugin-copy@^3.5.0:
4659+
version "3.5.0"
4660+
resolved "https://registry.yarnpkg.com/rollup-plugin-copy/-/rollup-plugin-copy-3.5.0.tgz#7ffa2a7a8303e143876fa64fb5eed9022d304eeb"
4661+
integrity sha512-wI8D5dvYovRMx/YYKtUNt3Yxaw4ORC9xo6Gt9t22kveWz1enG9QrhVlagzwrxSC455xD1dHMKhIJkbsQ7d48BA==
4662+
dependencies:
4663+
"@types/fs-extra" "^8.0.1"
4664+
colorette "^1.1.0"
4665+
fs-extra "^8.1.0"
4666+
globby "10.0.1"
4667+
is-plain-object "^3.0.0"
4668+
45774669
45784670
version "2.6.1"
45794671
resolved "https://registry.yarnpkg.com/rollup-plugin-license/-/rollup-plugin-license-2.6.1.tgz#20f15cc37950f362f8eefdc6e3a2e659d0cad9eb"
@@ -5143,6 +5235,11 @@ unicode-property-aliases-ecmascript@^2.0.0:
51435235
resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8"
51445236
integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==
51455237

5238+
universalify@^0.1.0:
5239+
version "0.1.2"
5240+
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
5241+
integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
5242+
51465243
[email protected], unpipe@~1.0.0:
51475244
version "1.0.0"
51485245
resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"

0 commit comments

Comments
 (0)