This link explains the basics of using rollup for configuring a react/NPM package. I found the beginning pieces of information here.
The original scope of this assignment was to move the iwaker code into a portable package hosted on NPM repository so that it could be distributed to different projects easily and handed to other developers. As of right now, there is no way that I can find to authenticate command line actions (such as npm install or npm update). Ideally an auth token should be stored in the .npmrc file however the only way this can be used (from what I can see) is to call this using an automated workflow which is not ideal. Another solution pursued was simply pulling the package from GitHub. However this breaks the update (npm update) functionality (see this for more info). There are some other NPM repositories available.
Rollup is an NPM package that is big used to take the package and complete two tasks: compile the code back down to ES5 so that all browsers can understand it, and “tree-shake” the code so that additional functions that are not used are emitted from the final package”. There are also a few plugins that have been added to rollup.
In the package.json file, there are two commands that have to do with rollup: build and start. These can be run using the shell command “npm run build” or “npm run start”. The former manually builds the package when run and the latter starts a process that continuously builds the package every time it is saved, which can be very useful.
This is a simple plugin Rollup which allows for rollup to understand Typescript files.
This allows for Rollup to understand sass and other files.
This is not currently added but it might be necessary if any normal javascript files are put in. I am not sure though
This is the configuration file for rollup. See this for more info.
This is the configuration file for the typescript plugin. This lists all of the options for this file.
This is the directory where all of the code package code goes.
When rollup runs, all of the generated files are dumped in here. It can be very helpful to delete these if many changes are made; otherwise, extra files may continue to be present.
In terminal, run; npm link
In terminal, run: npm link @denjpeters/intelliwakereact