¿Hay algo diferente en las dependencias que comienzan con @ ?
¿Eso significa o implica algo? No veo ninguna información sobre eso. Eche un vistazo a mi carpeta node_modules : 
Fortawesome comienza con @ y no contiene el típico archivo fortawesome.css . Entonces es lo mismo? ¿O la @ indica algo?
Este es mi package.json :
{ "name": "ng-frontend", "version": "0.0.0", "license": "MIT", "scripts": { "ng": "ng", "start": "ng serve", "build": "ng build --prod", "test": "ng test", "lint": "ng lint", "e2e": "ng e2e" }, "private": true, "dependencies": { "@angular/animations": "^5.2.0", "@angular/common": "^5.2.0", "@angular/compiler": "^5.2.0", "@angular/core": "^5.2.0", "@angular/forms": "^5.2.0", "@angular/http": "^5.2.0", "@angular/platform-browser": "^5.2.0", "@angular/platform-browser-dynamic": "^5.2.0", "@angular/router": "^5.2.0", "@fortawesome/fontawesome": "^1.1.4", "animate.css": "^3.6.1", "bootstrap": "^4.0.0", "core-js": "^2.4.1", "jasny-bootstrap": "^3.1.3", "jquery": "^3.3.1", "popper.js": "^1.12.9", "rxjs": "^5.5.6", "zone.js": "^0.8.19" }, "devDependencies": { "@angular/cli": "~1.7.2", "@angular/compiler-cli": "^5.2.0", "@angular/language-service": "^5.2.0", "@types/jasmine": "~2.8.3", "@types/jasminewd2": "~2.0.2", "@types/node": "~6.0.60", "codelyzer": "^4.0.1", "jasmine-core": "~2.8.0", "jasmine-spec-reporter": "~4.2.1", "karma": "~2.0.0", "karma-chrome-launcher": "~2.2.0", "karma-coverage-istanbul-reporter": "^1.2.1", "karma-jasmine": "~1.1.0", "karma-jasmine-html-reporter": "^0.2.2", "protractor": "~5.1.2", "ts-node": "~4.1.0", "tslint": "~5.9.1", "typescript": "~2.5.3" } }Esta pregunta no es sobre Angular .
Si el nombre de un paquete comienza con @ , entonces es un paquete con ámbito. El ámbito es todo lo que se encuentra entre la @ y la barra oblicua
@scope/project-namePara crear un paquete con ámbito, simplemente use un nombre de paquete que comience con su ámbito.
{ "name": "@username/project-name" }Más detalles, visite el paquete con alcance
y
¿Qué significa el símbolo "@" en "importar {Componente} desde '@angular/core';" ¿declaración?
@ consulte los paquetes con ámbito de npm:
Cuando se usan en nombres de paquetes, los ámbitos van precedidos por un símbolo @ y seguidos por una barra inclinada
Los ámbitos son una forma de agrupar paquetes relacionados.
Por ejemplo, su paquete.json contiene algunas dependencias con el prefijo @angular @angular/ (@angular/animations, @angular/compiler-cli, etc.), lo que significa que están bajo el alcance de angular . El código de todas esas dependencias está en el directorio @angular .
los paquetes con @ denotan la organización. En este caso la organización es Fortawesome. Contiene varios paquetes (puedes verlo dentro de la carpeta @fortawesome).
Como se describe en la página npm
La creación de una organización en npm le brinda un ámbito de organización bajo el cual puede tener su propio espacio de nombres para los paquetes.
Los alcances son geniales por muchas razones, por ejemplo:
Espero que ayude.