Skip to content

Commit

Permalink
Update setup for consistent codewell packaging
Browse files Browse the repository at this point in the history
Updates the project to use similar setup as
the one generated by the new-package script.
  • Loading branch information
fippli committed Feb 20, 2020
1 parent 3558350 commit 7474efb
Show file tree
Hide file tree
Showing 11 changed files with 7,595 additions and 17 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
node_modules
.npmrc
.npmrc
lib
4 changes: 4 additions & 0 deletions .npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
src
tests
.prettierrc
rollup.config.js
Empty file added .prettierrc
Empty file.
5 changes: 5 additions & 0 deletions index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
if (process.env.NODE_ENV === "production") {
module.exports = require("./lib/prod");
} else {
module.exports = require("./lib/dev");
}
7,513 changes: 7,513 additions & 0 deletions package-lock.json

Large diffs are not rendered by default.

33 changes: 30 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,12 @@
"description": "State persistor for front end applications",
"main": "src/index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
"test": "jest",
"build": "rollup --config",
"release": "npm run build:dev && npm run build:prod",
"build:prod": "NODE_ENV=production rollup -c",
"build:dev": "NODE_ENV=development rollup -c",
"dry-release": "npm run release && npm pack"
},
"repository": {
"type": "git",
Expand All @@ -20,5 +25,27 @@
"bugs": {
"url": "https://github.com/codewell/state-persistor/issues"
},
"homepage": "https://github.com/codewell/state-persistor#readme"
}
"homepage": "https://github.com/codewell/state-persistor#readme",
"devDependencies": {
"@babel/core": "^7.8.4",
"@babel/preset-env": "^7.8.4",
"@rollup/plugin-replace": "^2.3.1",
"husky": "^4.2.3",
"jest": "^25.1.0",
"lint-staged": "^10.0.7",
"prettier": "^1.19.1",
"rollup": "^1.31.1",
"rollup-plugin-babel": "^4.3.3",
"rollup-plugin-commonjs": "^10.1.0",
"rollup-plugin-node-resolve": "^5.2.0",
"rollup-plugin-peer-deps-external": "^2.2.2"
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"*.{js,css,md}": "prettier --write"
}
}
32 changes: 32 additions & 0 deletions rollup.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import babel from "rollup-plugin-babel";
import resolve from "rollup-plugin-node-resolve";
import commonjs from "rollup-plugin-commonjs";
import replace from "@rollup/plugin-replace";
import peerDepsExternal from "rollup-plugin-peer-deps-external";

const NODE_ENV = process.env.NODE_ENV || "development";
const outputFile = NODE_ENV === "production" ? "./lib/prod.js" : "./lib/dev.js";
const extensions = [".js"];

export default {
input: "./src/index.js",
output: {
file: outputFile,
format: "cjs"
},
plugins: [
peerDepsExternal(),
replace({
"process.env.NODE_ENV": JSON.stringify(NODE_ENV)
}),
babel({
exclude: "node_modules/**",
presets: [["@babel/preset-env", { modules: false }]],
extensions
}),
resolve({
extensions
}),
commonjs()
]
};
12 changes: 4 additions & 8 deletions src/index.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
const loadState = require('./loadState');
const purgeState = require('./purgeState');
const saveState = require('./saveState');
import loadState from "./loadState";
import purgeState from "./purgeState";
import saveState from "./saveState";

module.exports = {
loadState,
purgeState,
saveState,
};
export { loadState, purgeState, saveState };
4 changes: 2 additions & 2 deletions src/loadState.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
* @param {string} storageKey - What key in localstorage to load from
* @returns {Object} - Returns the persisted state
*/
const loadState = (storageKey) => {
const loadState = storageKey => {
try {
const serializedState = localStorage.getItem(storageKey);
if (serializedState === null) {
Expand All @@ -15,4 +15,4 @@ const loadState = (storageKey) => {
}
};

module.exports = loadState;
export default loadState;
4 changes: 2 additions & 2 deletions src/purgeState.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
* Remove everything from local storage
* @param {string} storageKey - What key in localstorage to purge
*/
const purgeState = (storageKey) => {
const purgeState = storageKey => {
try {
localStorage.removeItem(storageKey);
} catch (error) {
// Ignore write errors
}
};

module.exports = purgeState;
export default purgeState;
2 changes: 1 addition & 1 deletion src/saveState.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ const saveState = (state, storageKey) => {
}
};

module.exports = saveState;
export default saveState;

0 comments on commit 7474efb

Please sign in to comment.