Skip to content

Commit

Permalink
remove unnecessary angular production build script
Browse files Browse the repository at this point in the history
  • Loading branch information
marcjulian committed Jan 2, 2022
1 parent c526d5a commit fc40db3
Show file tree
Hide file tree
Showing 6 changed files with 47 additions and 78 deletions.
41 changes: 41 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,47 @@ module.exports = {
};
```

Remove production build script from `package.json`, which was used for purging unused styles. Since JIT Engine generates only used styles this script is not necessary anymore.

```diff
{
"name": "angular-workspace",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"watch": "ng build --watch --configuration development",
- "build:prod": "cross-env NODE_ENV=production ng build --configuration production"
},
"private": true,
"dependencies": {
"@angular/animations": "~13.0.3",
"@angular/common": "~13.0.3",
"@angular/compiler": "~13.0.3",
"@angular/core": "~13.0.3",
"@angular/forms": "~13.0.3",
"@angular/platform-browser": "~13.0.3",
"@angular/platform-browser-dynamic": "~13.0.3",
"@angular/router": "~13.0.3",
"rxjs": "~7.4.0",
"tslib": "^2.3.1",
"zone.js": "~0.11.4"
},
"devDependencies": {
"@angular-devkit/build-angular": "~13.0.4",
"@angular/cli": "~13.0.4",
"@angular/compiler-cli": "~13.0.3",
"@types/node": "^12.11.1",
"autoprefixer": "^10.4.1",
- "cross-env": "^7.0.3",
"postcss": "^8.4.5",
"tailwindcss": "^3.0.8",
"typescript": "~4.4.4"
}
}
```

## Migrate from Tailwind CSS

To upgrade you project from [Tailwind CSS v1.x to v2.0](https://tailwindcss.com/docs/upgrading-to-v2) run the following install command
Expand Down
3 changes: 1 addition & 2 deletions angular-workspace/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"watch": "ng build --watch --configuration development",
"build:prod": "cross-env NODE_ENV=production ng build --configuration production"
"watch": "ng build --watch --configuration development"
},
"private": true,
"dependencies": {
Expand Down
11 changes: 5 additions & 6 deletions angular-workspace/tailwind.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@ module.exports = {
theme: {
extend: {},
},
plugins: [
require('@tailwindcss/aspect-ratio'),
require('@tailwindcss/forms'),
require('@tailwindcss/line-clamp'),
require('@tailwindcss/typography'),
],
plugins: [require('@tailwindcss/aspect-ratio')
,require('@tailwindcss/forms')
,require('@tailwindcss/line-clamp')
,require('@tailwindcss/typography')
],
};
40 changes: 0 additions & 40 deletions src/ng-add/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ import {
} from '@schematics/angular/utility/workspace';
import { InsertChange } from '@schematics/angular/utility/change';
import { WorkspaceDefinition } from '@angular-devkit/core/src/workspace';
import { getCliVersionAsNumber } from '../util/ng-cli-version';
import { hasTailwindSupport } from '../util/has-tailwind-support';

export function ngAdd(_options: Schema): Rule {
Expand Down Expand Up @@ -56,13 +55,10 @@ export function ngAdd(_options: Schema): Rule {
(plugin) => `require('${plugin}')\n`,
);

const cliVersion = getCliVersionAsNumber(host);

if (hasTailwindSupport(host)) {
return chain([
addDependenciesWithTailwindSupport(_options),
addTailwindPlugins(tailwindPluginDependencies),
addNpmScripts(_options, cliVersion),
updateStyles(_options, workspace),
generateTailwindConfig(_options, requireTailwindPlugins),
install(),
Expand Down Expand Up @@ -94,14 +90,6 @@ function addDependenciesWithTailwindSupport(_options: Schema): Rule {
name: 'postcss',
version: _options.postcssVersion,
});

if (!_options.disableCrossPlatform) {
addPackageJsonDependency(host, {
type: NodeDependencyType.Dev,
name: 'cross-env',
version: _options.crossEnvVersion,
});
}
};
}

Expand Down Expand Up @@ -184,34 +172,6 @@ function generateTailwindConfig(
};
}

function addNpmScripts(_options: Schema, cliVersion: number): Rule {
return (tree: Tree) => {
const pkgPath = 'package.json';
const buffer = tree.read(pkgPath);

if (buffer === null) {
throw new SchematicsException('Could not find package.json');
}

const pkg = JSON.parse(buffer.toString());
let prodFlag = '--prod';
if (cliVersion >= 12) {
prodFlag = '--configuration production';
}

if (_options.disableCrossPlatform) {
pkg.scripts['build:prod'] = `NODE_ENV=production ng build ${prodFlag}`;
} else {
pkg.scripts[
'build:prod'
] = `cross-env NODE_ENV=production ng build ${prodFlag}`;
}

tree.overwrite(pkgPath, JSON.stringify(pkg, null, 2));
return tree;
};
}

function install(): Rule {
return async (_host: Tree, context: SchematicContext) => {
// Install the dependency
Expand Down
15 changes: 0 additions & 15 deletions src/ng-add/schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,6 @@
"description": "The autoprefixer version to be installed.",
"default": "^10.4.1"
},
"crossEnvVersion": {
"type": "string",
"description": "The cross-env version to be installed.",
"default": "^7.0.3"
},
"cssFormat": {
"description": "The file extension or preprocessor to use for style files.",
"type": "string",
Expand All @@ -35,11 +30,6 @@
]
}
},
"disableCrossPlatform": {
"type": "boolean",
"description": "Set the build:prod script to be only UNIX compatible.",
"default": false
},
"project": {
"type": "string",
"description": "The project in which we want to generate our component",
Expand All @@ -52,11 +42,6 @@
"description": "The postcss version to be installed.",
"default": "^8.4.5"
},
"skipTailwindInit": {
"type": "boolean",
"description": "Skip initializing Tailwind.",
"default": false
},
"tailwindPlugins": {
"description": "@tailwindcss plugins installed and added to tailwind.config.js",
"type": "array",
Expand Down
15 changes: 0 additions & 15 deletions src/ng-add/schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,26 +19,11 @@ export interface Schema {
*/
postcssVersion: string;

/**
* Skip initializing Tailwind CSS.
*/
skipTailwindInit?: boolean;

/**
* Tailwind CSS version.
*/
tailwindVersion: string;

/**
* Set the build:prod script to be only UNIX compatible.
*/
disableCrossPlatform?: boolean;

/**
* cross-env version.
*/
crossEnvVersion: string;

/**
* Official @tailwindcss/* plugins installed and added to tailwind.config.js
*/
Expand Down

0 comments on commit fc40db3

Please sign in to comment.