{"product_id":"140121","title":"Npm Deep Dive ","description":"\u003ccenter\u003e\u003cdiv style=\"text-align:center\"\u003e\u003cimg src=\"https:\/\/tmgdisk01.cafe24.com\/images\/vs\/4172\/sv\/3jYGWrpSJXl1o7VnhJhYTlkYvzRYjn.png?v=1765078297\" style=\"max-width:100%;max-height:10px\"\u003e\u003c\/div\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\n\n\u003cdiv style=\"width:95%\"\u003e\n\n\u003cdiv style=\"text-align:center;font-size:30px;font-weight:bolder;line-height:1.6em\"\u003e Npm Deep Dive \u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"border-bottom:1px;border-bottom-style:dotted;border-color:;padding-bottom:20px\"\u003e\u003ccenter\u003e\u003ctable align=\"center\" width=\"100%\"\u003e\u003ctbody style=\"border:0px\"\u003e\n\n\u003ctr\u003e\u003ctd align=\"center\" style=\"line-height:1.2em;text-align:center;font-size:18px;color:black;font-weight:bold;padding-bottom:20px;\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\n\u003ctr\u003e\u003ctd style=\"text-align:center\"\u003e\u003cimg src=\"https:\/\/image.yes24.com\/goods\/147068169\/XL\" style=\"max-width:100%;height:auto\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\n\n\u003c\/tbody\u003e\u003c\/table\u003e\u003c\/center\u003e\u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"width:95%;{split_style6}padding-top:20px;padding-bottom:20px\"\u003e\n\n\u003cdiv style=\"text-align:left;font-size:16px;font-weight:bold;padding-bottom:20px\"\u003e Description \u003c\/div\u003e\n\n\u003cdiv style=\"text-align:left;word-break:break-all;font-size:14px;line-height:1.6em;\"\u003e\n\n\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eBook Introduction\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\u003cdiv\u003e \u003cb\u003eSecrets of the JavaScript Ecosystem, From npm to Monorepo!\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e JavaScript is more than just a programming language; it has created a vast ecosystem utilized by developers around the world.\u003cbr\u003e However, it is not easy to properly understand the workings of npm and package.json, various bundling tools and module systems that we use every day, and even the monorepo environment. \u003cbr\u003eThis book provides essential practical knowledge by solving the complex puzzles of the JavaScript ecosystem one by one.\u003cbr\u003e\u003cbr\u003e \"npm Deep Dive\" goes beyond simply listing usage methods; it delves into the operating principles and selection criteria for each tool and concept.\u003cbr\u003e It systematically organizes the core of the JavaScript ecosystem, including the basic principles of npm and semantic versioning, the differences between CommonJS and ESModule and how to use them, a comparison of the latest bundling tools such as Webpack, Rollup, and Vite and their practical applications, and even how to manage large-scale projects using monorepos.\u003cbr\u003e\u003cbr\u003e For beginners, it helps you understand complex concepts step by step, while for experienced developers, it helps you understand and utilize JavaScript on a deeper level with tips and strategies that can be applied immediately in practice. \u003cbr\u003eThrough this book, you will freely explore the JavaScript ecosystem, create a better development environment, and gain knowledge that is difficult to understand through regular web service development.\u003cbr\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cul\u003e\u003cli\u003e You can preview some of the book's contents.\u003cbr\u003e \u003cspan\u003ePreview\u003c\/span\u003e\n\n\u003c\/li\u003e\u003c\/ul\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eindex\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e \u003cb\u003e▣ Chapter 1: npm and Semantic Versioning\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 1.1 Definition and History of npm\u003cbr\u003e __1.1.1 npm's history and background\u003cbr\u003e __1.1.2 Key features of npm\u003cbr\u003e __1.1.3 Useful sites related to npm\u003cbr\u003e __1.1.4 Summary\u003cbr\u003e 1.2 What is a significant version?\u003cbr\u003e __1.2.1 Background and definition of the emergence of the significant version\u003cbr\u003e __1.2.2 Concrete specification of the semantic version\u003cbr\u003e __1.2.3 Semantic version grammar\u003cbr\u003e __1.2.4 Semantic version used by Node.js and npm\u003cbr\u003e __1.2.5 Summary\u003cbr\u003e 1.3 The Light and Dark Side of Semantic Versioning and the npm Ecosystem\u003cbr\u003e __1.3.1 left-pad: What happens when a utility package that tens of millions of packages depend on disappears?  \u003cbr\u003e__1.3.2 everthing: You're saying that packages can't be deleted if they're dependencies? So what if we had all JavaScript packages as dependencies?\u003cbr\u003e __1.3.3 is-promise: A situation caused by an incorrect minor version update\u003cbr\u003e __1.3.4 colors.js and faker.js: Prematurely updating the version of a component or a sub-component can be detrimental.\u003cbr\u003e __1.3.5 Event-Stream Incident: How Secure Is Open Source?\u003cbr\u003e __1.3.6 Things to consider when using semantic versioning and npm\u003cbr\u003e __1.3.7 Summary\u003cbr\u003e\u003cbr\u003e \u003cb\u003e▣ Chapter 2: Digging into package.json and npm\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 2.1 Review package.json\u003cbr\u003e __2.1.1 package.json\u003cbr\u003e __2.1.2 Key fields of package.json\u003cbr\u003e __2.1.3 Creating package.json\u003cbr\u003e __2.1.4 Looking at npm config and .npmrc\u003cbr\u003e __2.1.5 Summary\u003cbr\u003e 2.2 What are dependencies?\u003cbr\u003e __2.2.1 npm version and special symbols used in versions\u003cbr\u003e __2.2.2 dependencies\u003cbr\u003e __2.2.3 devDependencies\u003cbr\u003e __2.2.4 peerDependencies\u003cbr\u003e __2.2.5 peerDependenciesMeta\u003cbr\u003e __2.2.6 Summary\u003cbr\u003e 2.3 Main npm commands\u003cbr\u003e __2.3.1 npm run\u003cbr\u003e __2.3.2 npm install and npm ci  \u003cbr\u003e__2.3.3 npm update\u003cbr\u003e __2.3.4 npm dedupe\u003cbr\u003e __2.3.5 npm ls\u003cbr\u003e __2.3.6 npm explain\u003cbr\u003e __2.3.7 npm audit\u003cbr\u003e __2.3.8 npm publish\u003cbr\u003e __2.3.9 npm deprecate\u003cbr\u003e __2.3.10 npm outdated\u003cbr\u003e __2.3.11 npm view\u003cbr\u003e __2.3.12 Summary\u003cbr\u003e 2.4 What happens when you run npm install\u003cbr\u003e __2.4.1 The Core of Dependency Tree Analysis @npmcli\/arborist\u003cbr\u003e __2.4.2 Package for installing the package, pacote\u003cbr\u003e __2.4.3 Examining node_modules\u003cbr\u003e __2.4.4 Summary\u003cbr\u003e 2.5 What is node_modules?\u003cbr\u003e __2.5.1 The Role of node_modules\u003cbr\u003e __2.5.2 Structure of node_modules\u003cbr\u003e __2.5.3 Symbolic Links\u003cbr\u003e __2.5.4 Summary\u003cbr\u003e 2.6 bin field and npx\u003cbr\u003e __2.6.1 CLI package\u003cbr\u003e __2.6.2 bin field\u003cbr\u003e __2.6.3 npx\u003cbr\u003e __2.6.4 Summary\u003cbr\u003e\u003cbr\u003e \u003cb\u003e▣ Chapter 3: yarn and pnpm, rivals to npm\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 3.1 Problems and Limitations of npm\u003cbr\u003e __3.1.1 Ghost Dependencies\u003cbr\u003e __3.1.2 Disk I\/O load\u003cbr\u003e __3.1.3 node_modules are too huge\u003cbr\u003e __3.1.4 Lock files vulnerable to change\u003cbr\u003e __3.1.5 Summary\u003cbr\u003e 3.2 yarn: A package manager for fast and reliable package management.\u003cbr\u003e __3.2.1 Introduction and History of Yarn\u003cbr\u003e __3.2.2 Features\u003cbr\u003e __3.2.3 Summary  \u003cbr\u003e3.3 pnpm: A package manager that brings innovation in disk space saving and installation speed.\u003cbr\u003e __3.3.1 Introduction and History of pnpm\u003cbr\u003e __3.3.2 Features\u003cbr\u003e __3.3.3 Summary\u003cbr\u003e 3.4 Comparison of npm, yarn, and pnpm\u003cbr\u003e __3.4.1 Workspace\u003cbr\u003e __3.4.2 Command Comparison\u003cbr\u003e __3.4.3 Benchmark Test\u003cbr\u003e __3.4.4 Summary\u003cbr\u003e\u003cbr\u003e \u003cb\u003e▣ Chapter 4: CommonJS and ESModule\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 4.1 History of JavaScript Modularization\u003cbr\u003e __4.1.1 Background on JavaScript Modularization\u003cbr\u003e __4.1.2 JavaScript before modularization\u003cbr\u003e __4.1.3 Several attempts at JavaScript modules\u003cbr\u003e __4.1.4 Today's JavaScript Module System\u003cbr\u003e __4.1.5 Summary\u003cbr\u003e 4.2 What is CommonJS?\u003cbr\u003e __4.2.1 Background of the Birth of CommonJS\u003cbr\u003e __4.2.2 CommonJS Specification\u003cbr\u003e __4.2.3 CommonJS in Node.js\u003cbr\u003e __4.2.4 Building the source code with CommonJS\u003cbr\u003e __4.2.5 Summary\u003cbr\u003e 4.3 What is ESModule?\u003cbr\u003e __4.3.1 Background and Introduction of ESModule\u003cbr\u003e __4.3.2 Features of ESModule\u003cbr\u003e __4.3.3 ESModule in Node.js\u003cbr\u003e __4.3.4 Summary\u003cbr\u003e 4.4 How does Node.js find packages in node_modules?\u003cbr\u003e __4.4.1 Module interpretation algorithm  \u003cbr\u003e__4.4.2 How to load a module with a module name specifier\u003cbr\u003e __4.4.3 Summary\u003cbr\u003e 4.5 CommonJS vs. ESModule: Which is the Right Answer?\u003cbr\u003e __4.5.1 Why open source packages support both CommonJS and ESModule\u003cbr\u003e __4.5.2 Developing a dual package that supports both CommonJS and ESModule\u003cbr\u003e __4.5.3 Developing a Pure ESModule Package\u003cbr\u003e __4.5.4 CommonJS and ESModule, which is the right answer?\u003cbr\u003e __4.5.5 Summary\u003cbr\u003e\u003cbr\u003e \u003cb\u003e▣ Chapter 5: Transpiling and Polyfilling\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 5.1 Babel, a tool that helps with transpiling\u003cbr\u003e __5.1.1 The Need for Babel\u003cbr\u003e __5.1.2 How Babel Works\u003cbr\u003e __5.1.3 Trying out Babel\u003cbr\u003e __5.1.4 Summary\u003cbr\u003e 5.2 Core-js, a tool to help with polyfilling\u003cbr\u003e __5.2.1 What is core-js?\u003cbr\u003e __5.2.2 Babel and core-js\u003cbr\u003e __5.2.3 Summary\u003cbr\u003e 5.3 What are the best polyfills and transpilers?\u003cbr\u003e __5.3.1 Specifying the supported environment\u003cbr\u003e __5.3.2 Summary\u003cbr\u003e 5.4 Alternatives to Babel and core-js\u003cbr\u003e __5.4.1 TypeScript Compiler\u003cbr\u003e __5.4.2 SWC(Speedy Web Compiler)\u003cbr\u003e __5.4.3 es-shims\u003cbr\u003e __5.4.4 polyfill.js\u003cbr\u003e __5.4.5 Summary\u003cbr\u003e \u003cbr\u003e\u003cb\u003e▣ Chapter 6: Exploring JavaScript Bundling Tools\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 6.1 What is bundling and why is it needed?\u003cbr\u003e __6.1.1 History of Bundling\u003cbr\u003e __6.1.2 The Role of Bundling\u003cbr\u003e __6.1.3 Summary\u003cbr\u003e 6.2 Webpack, the standard for web service bundles\u003cbr\u003e __6.2.1 Introduction to Webpack and its main features\u003cbr\u003e __6.2.2 Basic concepts and operating principles of Webpack\u003cbr\u003e __6.2.3 Creating a Simple Webpack Service\u003cbr\u003e __6.2.4 Summary\u003cbr\u003e 6.3 Rollup, the leader in package bundles\u003cbr\u003e __6.3.1 Background and introduction of rollup\u003cbr\u003e __6.3.2 Basic concepts and features of rollup\u003cbr\u003e __6.3.3 Summary\u003cbr\u003e 6.4 The emerging powerhouse of bundled tools, Bit\u003cbr\u003e __6.4.1 Background and introduction of the beat\u003cbr\u003e __6.4.2 Basic concepts and characteristics of bits\u003cbr\u003e __6.4.3 Key fields required for setup\u003cbr\u003e __6.4.4 Summary\u003cbr\u003e\u003cbr\u003e \u003cb\u003e▣ Chapter 7: Creating Your Own JavaScript Package\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 7.1 Creating Your Own npm Package\u003cbr\u003e __7.1.1 Checklist for Package Development\u003cbr\u003e __7.1.2 Project Environment Settings\u003cbr\u003e __7.1.3 Writing actual code and test code\u003cbr\u003e __7.1.4 Setting up an environment for bundling and transpiling  \u003cbr\u003e__7.1.5 Writing simple test code\u003cbr\u003e __7.1.6 Building a CI Pipeline Using GitHub Actions\u003cbr\u003e __7.1.7 Deployment using changesets\u003cbr\u003e __7.1.8 Summary\u003cbr\u003e 7.2 Creating Your Own CLI Package\u003cbr\u003e __7.2.1 Planning the CLI package to be created\u003cbr\u003e __7.2.2 Project Environment Settings\u003cbr\u003e __7.2.3 Writing the actual code\u003cbr\u003e __7.2.4 Check the results\u003cbr\u003e __7.2.5 Use after deployment\u003cbr\u003e __7.2.6 Useful packages for creating CLIs\u003cbr\u003e __7.2.7 Summary\u003cbr\u003e\u003cbr\u003e \u003cb\u003e▣ Chapter 8: Managing Both Services and Libraries with a Monorepo\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 8.1 Monorepo and Turborepo\u003cbr\u003e __8.1.1 What is a monorepo?\u003cbr\u003e __8.1.2 npm workspace\u003cbr\u003e __8.1.3 Turborepo, a tool for configuring monorepos\u003cbr\u003e __8.1.4 Summary\u003cbr\u003e 8.2 Creating Your Own Monorepo Project\u003cbr\u003e __8.2.1 Introduction to the Design System\u003cbr\u003e __8.2.2 Configuring pnpm workspaces and turborepo\u003cbr\u003e __8.2.3 Implementing a shared package\u003cbr\u003e __8.2.4 @ndive\/design-tokens implementation\u003cbr\u003e __8.2.5 @ndive\/design-components implementation\u003cbr\u003e __8.2.6 @ndive\/design-tracker implementation\u003cbr\u003e __8.2.7 Writing an Application  \u003cbr\u003e__8.2.8 Deployment Overview\u003cbr\u003e __8.2.9 Summary\u003cbr\u003e\u003cbr\u003e \u003cb\u003e▣ Chapter 9: Tools and Tips to Help You Develop Packages\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 9.1 Tools to help you develop packages\u003cbr\u003e __9.1.1 Another way to upload a package JSR\u003cbr\u003e __9.1.2 A tool to perform complex bundle processes at once, t sup\u003cbr\u003e __9.1.3 Standard cosmiconfig configuration file\u003cbr\u003e __9.1.4 Tinybench, a tool for performance analysis\u003cbr\u003e __9.1.5 jscodeshift helps with easy code migration\u003cbr\u003e __9.1.6 Summary\u003cbr\u003e 9.2 Tips to Help You Develop Packages\u003cbr\u003e __9.2.1 ESModule, not optional but required\u003cbr\u003e __9.2.2 Writing package.json correctly\u003cbr\u003e __9.2.3 Applying the correct transpilation and polyfill\u003cbr\u003e __9.2.4 Add dependencies carefully\u003cbr\u003e __9.2.5 Test code and benchmark tests that give confidence to the code\u003cbr\u003e __9.2.6 How to write proper documentation\u003cbr\u003e __9.2.7 Summary\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eDetailed image\u003c\/b\u003e \u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cdiv\u003e\u003cimg src=\"https:\/\/image.yes24.com\/momo\/TopCate5344\/MidCate2\/534314865.jpg\" border=\"0\" alt=\"Detailed Image 1\"\u003e\u003c\/div\u003e\u003c\/div\u003e\n\u003cbr\u003e\u003cdiv\u003e\u003ch5\u003e \u003cb\u003ePublisher's Review\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e \u003cb\u003e★What this book covers★\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e ◎ npm, node_modules, and the principles of semantic versioning \u003cbr\u003e◎ History and differences between CommonJS and ESModule\u003cbr\u003e ◎ Comparison and selection of Webpack, Rollup, and Vite bundling tools\u003cbr\u003e ◎ Transpilers and Polyfills: How to Use Babel and Core-js\u003cbr\u003e ◎ How to efficiently manage large-scale projects in a monorepo environment\u003cbr\u003e ◎ How to create your own npm package and CLI tool\u003cbr\u003e\u003cbr\u003e If you want to understand the past, present, and future of the JavaScript ecosystem, this book will be your guide.\u003cbr\u003e Solve your past worries and grow into a more productive and professional developer! \u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"width:95%;padding-top:20px;padding-bottom:20px\"\u003e\n\n\u003cdiv style=\"text-align:left;font-size:16px;font-weight:bold;padding-bottom:20px\"\u003e GOODS SPECIFICS \u003c\/div\u003e\n\n\u003cdiv style=\"text-align:left;font-size:14px;line-height:1.6em;\"\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003eDate of issue:\u003c\/strong\u003e June 12, 2025\u003c\/div\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003ePage count, weight, size:\u003c\/strong\u003e 1,012 pages | 188*240*41mm\u003c\/div\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003eISBN13:\u003c\/strong\u003e 9791158396077 \u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003ccenter\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cspan\u003e\u003c\/span\u003e\n\n\u003c\/center\u003e\n\n\n\u003c\/center\u003e","brand":"LIBRAIRIE COREENNE","offers":[{"title":"Default Title","offer_id":43893400109098,"sku":"140121","price":60.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0683\/2750\/5962\/files\/b31ab2492f016d886b1776d400211a63.jpg?v=1765400317","url":"https:\/\/librairie.coreenne.fr\/en\/products\/140121","provider":"LIBRAIRIE COREENNE","version":"1.0","type":"link"}